Letta MCP Server
Letta MCP Server
Высокопроизводительный сервер Model Context Protocol (MCP) для Letta AI, созданный на Rust с использованием фреймворка TurboMCP.
Возможности
7 консолидированных инструментов, охватывающих 103 операции с использованием паттерна дискриминатора
Высокая производительность — Rust, ~10-30 МБ памяти, запуск <500 мс, параллельное выполнение через
tokio::join!иbuffer_unorderedДвойной транспорт — stdio (Claude Desktop, Cursor и т.д.) и HTTP (для продакшн-развертываний)
Оптимизация размера ответа — сокращение размера ответов на 68-96% для повышения эффективности контекста LLM
Типизированные схемы — конкретные типы
object/arrayс описаниями для каждого параметра (никаких общих параметровValue)Мультиплатформенность — macOS, Linux, Windows (x64 и arm64)
Совместимость с Letta 0.16.x — архивы, диалоги, MCP-серверы v2
Соответствие MCP 2025-11-25 — потоковый HTTP-транспорт с SSE
Маршрутизация на этапе компиляции — нулевые накладные расходы во время выполнения для вызова инструментов через макросы TurboMCP v3
Related MCP server: A2A Client MCP Server
Быстрый старт
npm (Рекомендуется)
npm install -g letta-mcp-serverПравильный бинарный файл для вашей платформы устанавливается автоматически.
Платформа | Пакет |
macOS Intel |
|
macOS Apple Silicon |
|
Linux x64 |
|
Linux arm64 |
|
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-latestDocker 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Переменные окружения
Переменная | Обязательно | По умолчанию | Описание |
| Да | — | URL API Letta (например, |
| Да | — | Пароль API Letta |
| Нет |
| Режим транспорта: |
| Нет |
| HTTP-порт (когда |
| Нет |
| Уровень логирования: |
| Нет |
| Включить трассировку стека ( |
Доступные инструменты
Сервер предоставляет 7 консолидированных инструментов с 103 операциями:
Инструмент | Операции | Описание |
| 28 | Жизненный цикл агента, обмен сообщениями, диалоги, контекст, экспорт/импорт |
| 24 | Основная память, блоки, архивные фрагменты, архивы, поиск |
| 13 | CRUD инструментов, подключение/отключение, пакетные операции |
| 15 | Источники данных, файлы, фрагменты, вложения |
| 4 | Отслеживание заданий, отмена, активный мониторинг |
| 8 | Файловые сессии, управление папками |
| 11 | Жизненный цикл MCP-сервера, обнаружение инструментов, поддержка API v2 |
Операции инструментов
letta_agent_advanced (28 операций)
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_conversationletta_memory_unified (24 операции)
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_archiveletta_tool_manager (13 операций)
list, get, create, update, delete, upsert, attach, detach, bulk_attach,
generate_from_prompt, generate_schema, run_from_source, add_base_toolsletta_source_manager (15 операций)
list, get, create, update, delete, count, attach, detach, list_attached,
upload, delete_files, list_files, list_folders, get_folder_contents,
list_agents_usingletta_job_monitor (4 операции)
list, get, cancel, list_activeletta_file_folder_ops (8 операций)
list_files, open_file, close_file, close_all_files, list_folders,
attach_folder, detach_folder, list_agents_in_folderletta_mcp_ops (11 операций)
add, update, delete, test, connect, resync, list_servers, list_tools,
register_tool, execute, attach_mcp_serverОптимизация размера ответа
Реализация на Rust включает значительные оптимизации размера ответа для эффективности контекста LLM:
Операция | Оптимизация | Сокращение размера |
Список агентов | Пагинация по умолчанию (15 элементов), режим сводки | 68-85% |
Список инструментов | Пагинация по умолчанию (25 элементов), сокращенные описания | 70-90% |
Блоки памяти | Исключение тяжелых полей в режиме списка | 60-80% |
Список источников | Режим сводки, пагинация | 75-95% |
Пагинация
Все операции со списками поддерживают пагинацию:
{
"operation": "list",
"pagination": {
"limit": 25,
"offset": 0
}
}Режим сводки против полного режима
Операции со списками по умолчанию возвращают сводные данные. Используйте операцию get с конкретным ID для получения полной информации:
// 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-клиента
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
}
}
}Сборка из исходного кода
Предварительные требования
Rust nightly (поддержка edition 2024) — установите через rustup
Docker (опционально, для контейнерных сборок)
Локальная сборка
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
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Архитектура
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Основные зависимости
TurboMCP v3 — MCP-фреймворк с маршрутизацией на этапе компиляции и потоковым HTTP
letta-rs — встроенный Rust-клиент API Letta (0.16.x)
Tokio — асинхронная среда выполнения
Futures — комбинаторы потоков (
buffer_unorderedдля параллельного выполнения)Serde — сериализация/десериализация
Устранение неполадок
Connection Refused (Соединение отклонено)
Убедитесь, что сервер запущен:
docker ps | grep letta-mcpПроверьте логи:
docker logs letta-mcpПроверьте доступность порта:
curl http://localhost:6507/mcp
Ошибки аутентификации
Убедитесь, что
LETTA_BASE_URLуказывает на ваш экземпляр LettaПроверьте правильность
LETTA_PASSWORDУбедитесь, что сервер Letta доступен из контейнера
Инструмент не найден
Выведите список доступных инструментов через MCP:
tools/listУбедитесь, что вы используете правильные имена операций (например,
list, а неlist_agents)
Логи
# View server logs
docker logs -f letta-mcp
# Enable debug logging
RUST_LOG=debug letta-mcpВклад в проект
Сделайте форк репозитория
Создайте ветку для функции:
git checkout -b feature/my-featureВнесите изменения и добавьте тесты
Запустите тесты:
cargo testОтправьте pull request
Лицензия
Лицензия MIT — подробности см. в файле LICENSE.
Связанные проекты
Letta — Фреймворк Letta AI
TurboMCP — MCP-фреймворк для Rust
Model Context Protocol — Спецификация MCP
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/oculairmedia/Letta-MCP-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server