1. Conduid
  2. Developer Tools
  3. Letta MCP Server
MCP server · Developer Tools

Letta MCP Server

Production-ready MCP server bridging Claude and Letta.ai agents

Unclaimed MIT last commit 6 months ago devtools
69Good

Scored 17 days ago · breakdown

About Letta MCP Server

Letta MCP Server is an MCP server published by oculairmedia in the Developer Tools category: production-ready MCP server bridging Claude and Letta.ai agents. It has been installed 0 times through Conduid.

The repository has 65 stars and 22 forks, with the last commit 6 months ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues (0) before depending on it in production.

Install

Install
npx letta-mcp-server
uvx
uvx letta-mcp-server
pip
pip install letta-mcp-server

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Ask AI

Ask AI about Letta MCP Server

Powered by Claude · Grounded in docs

I know everything about Letta MCP Server. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

  • ·README presentNot checked yet.
  • ·License declaredNot checked yet.
  • ·Tests presentNot checked yet.
  • ·Dependencies pinnedNot checked yet.
  • ·No dynamic code executionNot checked yet.
  • !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.

Releases

v3.0.3v3.0.3 · 1 Jun 2026letta-mcp-server v3.0.3 Install via npm npm install -g letta-mcp-server@3.0.3 Built binaries: darwin-x64 darwin-arm64 linux-x64 windows-x64 Or use Docker docker pull ghcr.io/oculairmedia/letta-mcp-server-rust:rust-latest What's Changed…
v3.0.2v3.0.2 · 9 May 2026letta-mcp-server v3.0.2 Install via npm npm install -g letta-mcp-server@3.0.2 Built binaries: darwin-x64 darwin-arm64 linux-x64 windows-x64 Or use Docker docker pull ghcr.io/oculairmedia/letta-mcp-server-rust:rust-latest Full Changelog**:…
v2.2.0v2.2.0 · 5 May 2026letta-mcp-server v2.2.0 Built binaries (see artifacts): darwin-x64 darwin-arm64 linux-x64 windows-x64 Install via npm (manual) Download artifacts and install manually, or use Docker: docker pull…
v2.1.3v2.1.3 — Agent management hardening and CI fix · 20 Mar 2026Fixes Fix `agent_advanced.bulk_delete` pagination to use SDK cursor-based paging Fix `agent_advanced.get_config` to propagate tool-list failures instead of returning misleading empty tools Apply rustfmt formatting to `agent_advanced`…
v2.1.2v2.1.2 — Fix archival search routing · 20 Mar 2026Fixes Fix `search_archival` / `search_memory` routing for Letta 0.16.x compatibility Route search queries to `/v1/agents/{agent_id}/archival-memory/search` Keep non-search list calls on `/v1/agents/{agent_id}/archival-memory` Validation…

README

Letta MCP Server

npm version Rust Tests Coverage Docker Build

A high-performance Model Context Protocol (MCP) server for Letta AI, built with Rust and the TurboMCP framework.

Features

  • 7 Consolidated Tools covering 103 operations using the discriminator pattern
  • High Performance -- Rust, ~10-30MB memory, <500ms startup, parallel fan-out via tokio::join! and buffer_unordered
  • Dual Transport -- stdio (Claude Desktop, Cursor, etc.) and HTTP (production deployments)
  • Response Size Optimization -- 68-96% reduction in response sizes for LLM context efficiency
  • Type-Narrowed Schemas -- specific object/array types with per-parameter descriptions (no generic Value params)
  • Multi-Platform -- macOS, Linux, Windows (x64 and arm64)
  • Letta 0.16.x Compatible -- archives, conversations, MCP servers v2
  • MCP 2025-11-25 Compliant -- streamable HTTP transport with SSE
  • Compile-Time Routing -- zero runtime overhead for tool dispatch via TurboMCP v3 macros

Quick Start

npm (Recommended)

npm install -g letta-mcp-server

The correct binary for your platform is installed automatically.

Platform Package
macOS Intel letta-mcp-darwin-x64
macOS Apple Silicon letta-mcp-darwin-arm64
Linux x64 letta-mcp-linux-x64
Linux arm64 letta-mcp-linux-arm64
Windows x64 letta-mcp-windows-x64

Docker

docker pull ghcr.io/oculairmedia/letta-mcp-server-rust:rust-latest

docker run -d \
  -p 6507:6507 \
  -e LETTA_BASE_URL=http://your-letta-instance:8283 \
  -e LETTA_PASSWORD=your-password \
  -e TRANSPORT=http \
  --name letta-mcp \
  ghcr.io/oculairmedia/letta-mcp-server-rust:rust-latest

Docker Compose

services:
  letta-mcp:
    image: ghcr.io/oculairmedia/letta-mcp-server-rust:rust-latest
    container_name: letta-mcp
    restart: unless-stopped
    ports:
      - '6507:6507'
    environment:
      LETTA_BASE_URL: ${LETTA_BASE_URL}
      LETTA_PASSWORD: ${LETTA_PASSWORD}
      TRANSPORT: http
      PORT: 6507
      RUST_LOG: info
    env_file:
      - .env
    healthcheck:
      test: ['CMD-SHELL', "timeout 1 bash -c '</dev/tcp/localhost/6507' || exit 1"]
      interval: 30s
      timeout: 10s
      retries: 3

Environment Variables

Variable Required Default Description
LETTA_BASE_URL Yes Letta API URL (e.g. http://localhost:8283)
LETTA_PASSWORD Yes Letta API password
TRANSPORT No stdio Transport mode: stdio or http
PORT No 6507 HTTP port (when TRANSPORT=http)
RUST_LOG No info Log level: debug, info, warn, error
RUST_BACKTRACE No 0 Enable backtraces (0 or 1)
LETTA_MCP_MAX_VALUE_LEN No 500 Max characters for block/passages/search values
LETTA_MCP_CORE_MEMORY_PREVIEW_LEN No 200 Max characters for core memory previews

Available Tools

The server provides 7 consolidated tools with 103 operations:

Tool Operations Description
letta_agent_advanced 28 Agent lifecycle, messaging, conversations, context, export/import
letta_memory_unified 24 Core memory, blocks, archival passages, archives, search
letta_tool_manager 13 Tool CRUD, attach/detach, bulk operations
letta_source_manager 15 Data sources, files, passages, attachments
letta_job_monitor 4 Job tracking, cancellation, active monitoring
letta_file_folder_ops 8 File sessions, folder management
letta_mcp_ops 11 MCP server lifecycle, tool discovery, v2 API support

Tool Operations

letta_agent_advanced (28 operations)

list, create, get, update, delete, search, list_tools, send_message,
export, import, clone, get_config, bulk_delete, context, reset_messages,
summarize, stream, async_message, cancel_message, preview_payload,
search_messages, get_message, count, list_conversations,
get_conversation, send_conversation_message, cancel_conversation,
compact_conversation

letta_memory_unified (24 operations)

get_core_memory, update_core_memory, get_block_by_label, list_blocks,
create_block, get_block, update_block, attach_block, detach_block,
list_agents_using_block, search_archival, list_passages, create_passage,
update_passage, delete_passage, search_memory, list_archives,
get_archive, create_archive, update_archive, delete_archive,
attach_archive, detach_archive, list_agents_using_archive

letta_tool_manager (13 operations)

list, get, create, update, delete, upsert, attach, detach, bulk_attach,
generate_from_prompt, generate_schema, run_from_source, add_base_tools

letta_source_manager (15 operations)

list, get, create, update, delete, count, attach, detach, list_attached,
upload, delete_files, list_files, list_folders, get_folder_contents,
list_agents_using

letta_job_monitor (4 operations)

list, get, cancel, list_active

letta_file_folder_ops (8 operations)

list_files, open_file, close_file, close_all_files, list_folders,
attach_folder, detach_folder, list_agents_in_folder

letta_mcp_ops (11 operations)

add, update, delete, test, connect, resync, list_servers, list_tools,
register_tool, execute, attach_mcp_server

Response Size Optimizations

The Rust implementation includes significant response size optimizations for LLM context efficiency:

Operation Optimization Size Reduction
Agent List Default pagination (15 items), summary mode 68-85%
Tool List Default pagination (25 items), truncated descriptions 70-90%
Memory Blocks Excludes heavy fields in list mode 60-80%
Source List Summary mode, pagination 75-95%

Pagination

All list operations support pagination:

{
  "operation": "list",
  "pagination": {
    "limit": 25,
    "offset": 0
  }
}

Summary vs Full Mode

List operations return summary data by default. Use get operation with specific ID for full details:

// Summary (default for list)
{
  "id": "agent-123",
  "name": "My Agent",
  "model": "gpt-4",
  "tool_count": 5
}

// Full (with get operation)
{
  "id": "agent-123",
  "name": "My Agent",
  "model": "gpt-4",
  "system_prompt": "...",
  "tools": [...],
  "memory_blocks": [...]
}

MCP Client Configuration

Claude Desktop

{
  "mcpServers": {
    "letta": {
      "command": "letta-mcp",
      "env": {
        "LETTA_BASE_URL": "http://localhost:8283",
        "LETTA_PASSWORD": "your-password"
      }
    }
  }
}

Cursor / Windsurf

{
  "mcpServers": {
    "letta": {
      "command": "letta-mcp",
      "env": {
        "LETTA_BASE_URL": "http://localhost:8283",
        "LETTA_PASSWORD": "your-password"
      }
    }
  }
}

OpenCode (HTTP)

{
  "mcp": {
    "letta-mcp": {
      "type": "remote",
      "url": "http://localhost:6507/mcp",
      "enabled": true
    }
  }
}

Building from Source

Prerequisites

  • Rust nightly (edition 2024 support) - install via rustup
  • Docker (optional, for containerized builds)

Local Build

git clone https://github.com/oculairmedia/Letta-MCP-server.git
cd Letta-MCP-server

cargo build --release

LETTA_BASE_URL=http://your-letta:8283 \
LETTA_PASSWORD=your-password \
./target/release/letta-server

Docker Build

docker build -f Dockerfile.rust -t letta-mcp .

docker run -d \
  -p 6507:6507 \
  -e LETTA_BASE_URL=http://your-letta:8283 \
  -e LETTA_PASSWORD=your-password \
  -e TRANSPORT=http \
  letta-mcp

Architecture

letta-server/
├── src/
│   ├── main.rs                        # Entry point, transport selection
│   ├── lib.rs                         # Server init, compile-time tool registration
│   └── tools/
│       ├── mod.rs                     # Tool module exports
│       ├── response_utils.rs          # Unified ToolResponse, pagination helpers
│       ├── validation_utils.rs        # require_field, require_id, sdk_err
│       ├── id_utils.rs               # ID parsing utilities
│       ├── agent_advanced/            # Agent operations (28 ops)
│       │   ├── crud.rs               #   list, create, get, update, delete, search
│       │   ├── messaging.rs           #   send_message, stream, async, preview
│       │   ├── conversations.rs       #   list, get, send, cancel, compact
│       │   └── management.rs          #   export, import, clone, config, bulk_delete
│       ├── memory_unified/            # Memory operations (24 ops)
│       │   ├── core.rs               #   get/update core memory
│       │   ├── blocks.rs             #   block CRUD, attach/detach
│       │   ├── passages.rs           #   archival passage CRUD
│       │   ├── archives.rs           #   archive CRUD, attach/detach
│       │   └── search.rs             #   search_archival, search_memory
│       ├── tool_manager.rs            # Tool operations (13 ops)
│       ├── source_manager.rs          # Source operations (15 ops)
│       ├── job_monitor.rs             # Job operations (4 ops)
│       ├── file_folder_ops.rs         # File/folder operations (8 ops)
│       └── mcp_ops.rs                # MCP server v2 operations (11 ops)
├── tests/                             # Integration tests
└── Cargo.toml

Key Dependencies

  • TurboMCP v3 -- MCP framework with compile-time routing and streamable HTTP
  • letta-rs -- Vendored Rust Letta API client (0.16.x)
  • Tokio -- Async runtime
  • Futures -- Stream combinators (buffer_unordered for parallel fan-out)
  • Serde -- Serialization/deserialization

Troubleshooting

Connection Refused

  1. Ensure the server is running: docker ps | grep letta-mcp
  2. Check logs: docker logs letta-mcp
  3. Verify port is accessible: curl http://localhost:6507/mcp

Authentication Errors

  1. Verify LETTA_BASE_URL points to your Letta instance
  2. Check LETTA_PASSWORD is correct
  3. Ensure Letta server is accessible from the container

Tool Not Found

  1. List available tools via MCP: tools/list
  2. Verify you're using correct operation names (e.g., list not list_agents)

Logs

# View server logs
docker logs -f letta-mcp

# Enable debug logging
RUST_LOG=debug letta-mcp

Contributing

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/my-feature
  3. Make changes and add tests
  4. Run tests: cargo test
  5. Submit a pull request

License

MIT License - see LICENSE file for details.

Related Projects

README mirrored from the source repository 17 days ago. The original is authoritative.

Questions

About Letta MCP Server

How do I install Letta MCP Server?

Run npx letta-mcp-server, then add the server to your MCP client's configuration. Conduid has recorded 0 installs, so the command is known to work with current clients.

Is Letta MCP Server safe to use with an AI agent?

Its trust score is 69 out of 100 (good). It passes 0 of 1 static security checks; the failures are listed above. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Letta MCP Server still maintained?

Yes — the latest release is v3.0.3 (1 Jun 2026), and the last commit was 6 months ago. The repository has 65 stars and 0 open issues.