MCP server for Letta API that exposes OpenAPI endpoints as MCP tools
This server exposes 27 tools with significant quality gaps. All tools have basic schemas and descriptions present, but descriptions are generic and parameter documentation is minimal. Most parameters lack meaningful context (e.g., 'user_id parameter' instead of explaining what user_id controls). No output schemas are documented. Parameter descriptions are trivial (avg ~20 chars), violating the 50-200 char LLM-optimized baseline. Many tools expose user_id as a parameter, which should be injected server-side. Error handling is absent from visible code. Tool naming is reasonable (verb_noun pattern), but composition issues exist: multiple tools operate on the same resources without clear differentiation (e.g., create_tool, upsert_tool, add_base_tools all modify tools). No evidence of idempotency guarantees, pagination limits, or recovery guidance.
Upsert base tools
Add a new Composio tool by action name (Composio refers to each tool as an `Action`)
Add a new MCP server to the Letta MCP server config
Register a new MCP tool as a Letta server by MCP server + tool name
Create a new data source.
Create a new tool
Add a new MCP server to the Letta MCP server config
Parameter descriptions are trivial placeholders (e.g., 'user_id parameter', 'tool_id parameter'). They do not explain what the parameter controls, when to use it, or what format is expected. Baseline: 50-200 chars with actionable context.
No output schemas documented. LLMs cannot plan downstream tool calls or extract required fields without knowing what each tool returns. All 27 tools lack return type documentation.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 42 | 2026-07-28+ | v2 |
Delete a data source.
Delete a data source.
Delete a tool by name
List all agents associated with a given user. This endpoint retrieves a list of all agents and their configurations associated with the specified user ID.
Get a list of all Composio actions for a specific app
Get a list of all Composio apps
Get a list of all configured MCP servers
Get a list of all tools for a specific MCP server
List paginated files associated with a data source.
List all passages associated with a data source.
List all data sources created by a user.
Get a list of all tools available to agents belonging to the org of the user
Update the name or documentation of an existing data source.
Update an existing tool
Get all sources
Get a source by name
Get a tool by ID
Attempt to build a tool from source, then run it on the provided arguments
Upload a file to a data source.
Create or update a tool
user_id exposed as a tool parameter in 20+ tools. Should be injected server-side via environment or authentication context. Exposing it forces agents to track and pass user context, risks logging secrets, and violates least-privilege principle.
No error handling guidance visible. Tools do not document what errors can occur, whether they are retryable, or what the LLM should do next. E.g., delete_tool and delete_source are destructive but lack confirmation or dry-run support.
Composition issues: create_tool, upsert_tool, and add_base_tools all modify tools but lack clear differentiation. LLMs will struggle to choose between them. Similarly, retrieve_source and retrieve_source_by_name both fetch sources but with different lookup strategies, not documented.