Connecting Letta to Local MCP Servers
stdio transport launches MCP servers as local subprocesses, ideal for development and testing. Local (stdio) MCP servers can be useful for local development, testing, and situations where the MCP server you want to use is only available via stdio.
ADE: Tool Manager → Add MCP Server → stdio → specify command and args
import { LettaClient } from "@letta-ai/letta-client";
// Self-hosted onlyconst client = new LettaClient({ baseUrl: "http://localhost:8283",});
// Connect a stdio server (npx example - works in Docker!)const stdioConfig = { server_name: "github-server", command: "npx", args: ["-y", "@modelcontextprotocol/server-github"], env: { GITHUB_PERSONAL_ACCESS_TOKEN: "your-token" },};
await client.tools.addMcpServer(stdioConfig);
// List available toolsconst tools = await client.tools.listMcpToolsByServer("github-server");
// Add a tool to use with agentsconst tool = await client.tools.addMcpTool( "github-server", "create_repository",);from letta_client import Lettafrom letta_client.types import StdioServerConfig
# Self-hosted onlyclient = Letta(base_url="http://localhost:8283")
# Connect a stdio server (npx example - works in Docker!)stdio_config = StdioServerConfig( server_name="github-server", command="npx", args=["-y", "@modelcontextprotocol/server-github"], env={"GITHUB_PERSONAL_ACCESS_TOKEN": "your-token"})client.tools.add_mcp_server(request=stdio_config)
# List available toolstools = client.tools.list_mcp_tools_by_server( mcp_server_name="github-server")
# Add a tool to use with agentstool = client.tools.add_mcp_tool( mcp_server_name="github-server", mcp_tool_name="create_repository")Docker Support
Section titled “Docker Support”Letta’s Docker image includes npx, so npm-based MCP servers work out of the box. Custom Python scripts or missing dependencies require workarounds.
- Works in Docker:
npxservers from the official MCP repository - Challenging: Custom scripts, local file paths, missing system dependencies
- Alternatives: Use remote servers or mcp-proxy
Troubleshooting
Section titled “Troubleshooting”- Server won’t start: Check command path, dependencies, environment variables
- Connection fails: Review Letta logs, test command manually
- Tools missing: Verify MCP protocol implementation and tool registration