Minimal MCP server (JSON-RPC 2.0 over stdio) that exposes Praxia skills, flows, memory search, autonomous agents, and document export as tools. Implements tools/list, tools/call, resources/list, and resources/read.
Praxia MCP server has significant definition quality gaps. Tool names lack clear action verbs (skill_*, flow_* are templated placeholders, not concrete verbs). Descriptions are present but generic and lack LLM-optimized guidance on WHEN to use each tool vs alternatives. Parameter descriptions are minimal or missing context (e.g., 'user input / task description' for skill_* is vague; 'Flow inputs (key/value)' lacks structure). Output schemas are not documented anywhere in the provided code. Error handling and recovery guidance are absent. The autonomous_agent tool conflates multiple concerns (search + run skills + pull connectors) into one tool, violating single-responsibility. No evidence of input validation, rate limiting, or permission gates.
Run a autonomous agent (LLM-driven tool-use loop) that can search personal/org memory, run skills, and pull from connectors on its own. Use this for open-ended tasks where you don't want to orchestrate individual tools.
Render Markdown content to html/pptx/docx/json.
Multi-agent flow: [flow description from class]
Search the user's personal memory for relevant context.
[domain] description from skill manifest
Tool names skill_* and flow_* are templated placeholders, not concrete action verbs. LLMs cannot infer intent from '[domain]' or '[flow description]', these must be replaced with specific verbs like 'run_skill_hr_recruiting' or 'execute_flow_incident_response'.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields without knowing what each tool returns. skill_*, flow_*, autonomous_agent, and search_memory all lack return type documentation.
autonomous_agent tool combines search, skill execution, and connector access into one tool. This violates single-responsibility and prevents the agent from composing these concerns independently. Split into separate tools: search_memory, run_skill, query_connector.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 51 | 2026-07-28+ | v2 |
Parameter descriptions are generic or missing context. 'user input / task description' for skill_* does not explain format, length limits, or examples. 'Flow inputs (key/value)' lacks structure definition. No enum constraints, format patterns, or validation rules documented.
No error handling or recovery guidance. Tools lack descriptions of failure modes, retryability, or what the LLM should do if a call fails. No actionable error messages documented.