Universal AI Memory - Give every AI perfect memory of YOUR context. Provides secure context delivery to AI clients via Model Context Protocol
The Mynd MCP server defines 6 tools with partial schema information visible in the source code excerpt. All tools have descriptions and named parameters, but the schema definitions are incomplete, parameter type information is inferred from the input dicts rather than explicitly declared in JSON Schema format. The codebase shows Pydantic models (ContextRequest, TokenRequest) that define schemas, but these are not directly mapped to the tool registration in the MCP protocol layer. The descriptions are generally adequate (100-200 chars) but lack actionable guidance on when to use each tool vs. alternatives, and error recovery steps are missing. Parameter descriptions exist but many lack format constraints, enums, or range guidance.
Create a new capability token for AI client access
Get relevant context for a query (requires capability token)
Get usage statistics (requires valid token)
Get server status and statistics
Revoke a capability token
Simple GET endpoint for context search
Tool registration code is not visible in the source excerpt. Tools are inferred from FastAPI route definitions (@app.post, @app.get), but explicit MCP tool registration (Tool objects with name, description, inputSchema) is not shown.
Output schemas are not documented for any tool. MCPServerResponse wraps results, but the structure of the 'data' field varies by endpoint. LLMs cannot reliably extract fields without a declared output schema (e.g., does get_status return 'server', 'database', 'vector_store' as separate fields or nested?).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 52 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 41 | - | v1 |
Parameter enums are missing. 'scope' in create_capability_token and 'source_types' in get_context accept arbitrary strings. No enum constraint means LLMs can hallucinate invalid values like 'context_write' or 'database' without validation feedback.
Error handling lacks actionable recovery guidance. HTTPException(status_code=500, detail=...) is raised for token creation failure, but no guidance on whether to retry, check client_id validity, or request higher quota.
Tool descriptions are too generic and lack context. 'Get relevant context for a query' doesn't explain what sources are searched, how relevance is ranked, or what 'context' comprises (documents, code snippets, metadata?).
Potential API design flaw: get_context and search_context appear to perform similar functions. get_context requires authentication and returns structured context; search_context is described as a 'simple GET endpoint' without clear differentiation.
No pagination support documented. get_context and search_context lack limit/offset parameters and return counts. Large context results could exhaust LLM context windows without pagination.
Credentials handling: HTTPBearer() security scheme exposes authentication tokens as parameters in HTTP headers. The security implementation is standard HTTP, but no explicit note on token storage or whether tokens leak into logs.
CORS is configured with allow_origins=['*'], which is overly permissive. In production, this should restrict to known client origins.