一个模型上下文协议(MCP)服务器,提供全面的代理管理、内存操作工具以及与Letta系统的集成。此服务器实现了完整的MCP规范,包括工具、提示和资源,并带有增强的描述、输出模式和行为注释。
创建一个包含以下变量的.env文件:
# 必需
LETTA_BASE_URL=https://your-letta-instance.com/v1
LETTA_PASSWORD=your-secure-password
# 可选
PORT=3001
NODE_ENV=production
# 全局安装(推荐用于CLI使用)
npm install -g letta-mcp-server
# 或本地安装
npm install letta-mcp-server
全局安装后,在Claude Desktop配置中添加:
{
"mcpServers": {
"letta": {
"command": "letta-mcp",
"args": [],
"env": {
"LETTA_BASE_URL": "https://your-letta-instance.com/v1",
"LETTA_PASSWORD": "your-secure-password"
}
}
}
}
# 全局安装
npm install -g letta-mcp-server
# 设置环境变量
export LETTA_BASE_URL=https://your-letta-instance.com/v1
export LETTA_PASSWORD=your-secure-password
# 运行服务器
letta-mcp # stdio(用于Claude Desktop)
letta-mcp --http # HTTP传输
letta-mcp --sse # SSE传输
本仓库提供了三种不同的实现的Letta MCP服务器,允许您根据使用情况选择最佳选项:
分支: master
原始实现,每个API端点都有独立的工具。
最适合:
Docker镜像:
# 最新的master分支构建
docker pull ghcr.io/oculairmedia/letta-mcp-server:master
功能:
分支: nodejs-consolidated-tools
现代实现,使用鉴别器模式的7个整合工具。
最适合:
Docker镜像:
# 最新稳定版本
docker pull ghcr.io/oculairmedia/letta-mcp-server:latest
# 特定版本
docker pull ghcr.io/oculairmedia/letta-mcp-server:2.0.1
# 开发分支
docker pull ghcr.io/[...]
功能:
operation参数)分支: rust-implementation
使用Rust和TurboMCP框架构建的高性能实现。
最适合:
Docker镜像:
# 最新的Rust构建
docker pull ghcr.io/oculairmedia/letta-mcp-server-rust:rust-latest
# 开发分支
docker pull ghcr.io/oculairmedia/letta-mcp-server-rust:rust-implementation
功能:
| 特性 | 经典(master) | Node.js整合 | Rust |
|---|---|---|---|
| 工具数量 | 70+独立 | 7个整合 | 7个整合 |
| API模式 | 每个端点一个工具 | 鉴别器模式 | 鉴别器模式 |
| 成熟度 | ✅ 原始 | ✅ 生产就绪 | 🟡 稳定,较新 |
| 性能 | 良好 | 良好 | 卓越 |
| 内存使用 | ~50-100MB | ~50-100MB | ~10-30MB |
| 启动时间 | ~1-2秒 | ~1-2秒 | ~100-500毫秒 |
| SDK集成 | 直接API调用 | 93%官方SDK | 自定义API客户端 |
| 类型安全 | 运行时验证 | TypeScript(运行时) | Rust(编译时) |
| 包管理器 | npm | npm | Docker/Cargo |
| 使用场景 | 简单、专注 | 生产、功能丰富 | 性能关键 |
如果使用经典(master):
如果使用Node.js整合:
如果使用Rust:
所有三种实现都提供相同的功能和MCP协议合规性。您可以随时在它们之间切换而不改变您的Letta实例配置。
# 克隆仓库
git clone https://github.com/oculairmedia/letta-MCP-server.git
cd letta-MCP-server
# 安装依赖
npm install
# 开发
npm run dev # 默认(stdio)传输
npm run dev:sse # SSE传输
npm run dev:http # HTTP传输(推荐)
# 生产
npm run start # 默认(stdio)传输
npm run start:sse # SSE传输
npm run start:http # HTTP传输(推荐)
可用标签:
latest - 最新的稳定版本2.0.1, 2.0, 2 - 特定版本标签master - 最新的master分支构建# 拉取最新镜像
docker pull ghcr.io/oculairmedia/letta-mcp-server:latest
# 使用环境变量运行
docker run -d \
-p 3001:3001 \
-e LETTA_BASE_URL=https://your-letta-instance.com/v1 \
-e LETTA_PASSWORD=your-secure-password \
-e PORT=3001 \
-e NODE_ENV=production \
--name letta-mcp \
ghcr.io/oculairmedia/letta-mcp-server:latest
# 或使用特定版本
docker run -d \
-p 3001:3001 \
-e LETTA_BASE_URL=https://your-letta-instance.com/v1 \
-e LETTA_PASSWORD=your-secure-password \
--name letta-mcp \
ghcr.io/oculairmedia/letta-mcp-server:2.0.1
version: '3.8'
services:
letta-mcp:
image: ghcr.io/oculairmedia/letta-mcp-server:latest
container_name: letta-mcp
ports:
- "3001:3001"
environment:
- LETTA_BASE_URL=https://your-letta-instance.com/v1
- LETTA_PASSWORD=your-secure-password
- PORT=3001
- NODE_ENV=production
restart: unless-stopped
# 克隆并本地构建
git clone https://github.com/oculairmedia/letta-MCP-server.git
cd letta-MCP-server
docker build -t letta-mcp-server .
docker run -d -p 3001:3001 --env-file .env --name letta-mcp letta-mcp-server
# 创建启动脚本
chmod +x /opt/stacks/letta-MCP-server/start-mcp.sh
# 添加到Claude
claude mcp add --transport stdio letta-tools "/opt/stacks/letta-MCP-server/start-mcp.sh"
参阅架构文档以获取详细的系统图和组件关系。
此服务器实现了完整的MCP规范,包括所有三个能力:
所有工具包括:
常见工作流程的交互式提示:
letta_agent_wizard - 带有记忆和工具设置的引导代理创建letta_memory_optimizer - 分析和优化代理内存使用letta_debug_assistant - 解决代理问题letta_tool_config - 发现、附加、创建或审核工具letta_migration - 导出、导入、升级或克隆代理访问系统信息和文档:
letta://system/status - 系统健康和版本信息letta://system/models - 可用的LLM和嵌入模型letta://agents/list - 所有代理的概览letta://tools/all/docs - 包含示例的完整工具文档letta://docs/mcp-integration - 集成指南letta://docs/api-reference - API快速参考资源模板用于动态内容:
letta://agents/{agent_id}/config - 代理配置letta://agents/{agent_id}/memory/{block_id} - 内存块内容letta://tools/{tool_name}/docs - 单个工具文档| 工具 | 描述 | 注释 |
|---|---|---|
create_agent | 创建一个新的Letta代理 | 💰 中等成本,⚡ 快速 |
list_agents | 列出所有可用代理 | 👁️ 只读,💰 低成本 |
prompt_agent | 向代理发送消息 | 💰 高成本,⏱️ 变量时间,🔒 速率限制 |
retrieve_agent | 根据ID获取代理详情 | 👁️ 只读,⚡ 快速 |
get_agent_summary | 获取代理摘要信息 | 👁️ 只读,⚡ 快速 |
modify_agent | 更新现有代理 | ✏️ 修改状态,⚡ 快速 |
delete_agent | 删除代理 | ⚠️ 危险,🗑️ 永久 |
clone_agent | 克隆现有代理 | 💰 中等成本,⏱️ 中等时间 |
bulk_delete_agents | 删除多个代理 | ⚠️ 危险,📦 批量操作 |
export_agent | 导出代理配置和内存 | 👁️ 只读,⚡ 快速,📦 完全备份 |
import_agent | 从备份导入代理 | 💰 高成本,⏱️ 慢,✏️ 创建状态 |
| 工具 | 描述 | 注释 |
|---|---|---|
list_memory_blocks | 列出所有内存块 | 👁️ 只读,⚡ 快速 |
create_memory_block | 创建新的内存块 | ✏️ 创建状态,⚡ 快速 |
read_memory_block | 读取内存块 | 👁️ 只读,⚡ 快速 |
update_memory_block | 更新内存块 | ✏️ 修改状态,⚡ 快速 |
attach_memory_block | 将内存附加到代理 | ✏️ 链接资源,⚡ 快速 |
| 工具 | 描述 | 注释 |
|---|---|---|
list_passages | 搜索归档内存 | 👁️ 只读,⚡ 快速 |
create_passage | 创建归档内存 | 💰 中等成本(嵌入),⚡ 快速 |
modify_passage | 更新归档内存 | 💰 中等成本(重新嵌入),⚡ 快速 |
delete_passage | 删除归档内存 | 🗑️ 永久,⚡ 快速 |
| 工具 | 描述 | 注释 |
|---|---|---|
list_agent_tools | 列出代理的工具 | 👁️ 只读,⚡ 快速 |
attach_tool | 将工具附加到代理 | ✏️ 修改能力,⚡ 快速 |
upload_tool | 上传自定义工具 | 🔒 安全:执行代码,⚡ 快速 |
bulk_attach_tool_to_agents | 将工具附加到多个代理 | 📦 批量操作,⏱️ 慢 |
| 工具 | 描述 | 注释 |
|---|---|---|
list_llm_models | 列出可用的LLM模型 | 👁️ 只读,⚡ 快速 |
list_embedding_models | 列出可用的嵌入模型 | 👁️ 只读,⚡ 快速 |
| 工具 | 描述 | 注释 |
|---|---|---|
list_mcp_servers | 列出已配置的MCP服务器 | 👁️ 只读,⚡ 快速 |
list_mcp_tools_by_server | 列出MCP服务器上的工具 | 👁️ 只读,⚡ 快速 |
add_mcp_tool_to_letta | 将MCP工具导入Letta | ✏️ 创建工具,⚡ 快速 |
| 工具 | 描述 | 注释 |
|---|---|---|
list_prompts | 列出可用的提示模板 | 👁️ 只读,⚡ 快速 |
use_prompt | 执行提示模板 | 💰 变量成本,⏱️ 变量时间 |
src/index.js - 主入口点src/core/ - 核心服务器功能src/handlers/ - 提示和资源处理器src/examples/ - 示例提示和资源src/tools/ - 按类别组织的工具实现:
agents/ - 代理管理工具memory/ - 内存块工具passages/ - 段落管理工具tools/ - 工具附加和管理mcp/ - MCP服务器集成工具models/ - 模型列表工具enhanced-descriptions.js - 详细的工具描述output-schemas.js - 结构化的输出定义annotations.js - 行为提示src/transports/ - 服务器传输实现服务器支持三种传输协议: