使用说明
项目简介
Letta MCP服务器是Letta生态系统中的一个关键组件,它实现了Model Context Protocol (MCP) 协议,充当LLM客户端与Letta后端系统之间的桥梁。通过标准化的JSON-RPC接口,它使得LLM应用能够安全、便捷地访问和利用Letta平台提供的丰富功能,例如智能体管理、记忆存储、工具调用等。
主要功能点
- 资源管理: 提供对Letta系统中各种资源的访问和管理能力,例如记忆块(Memory Blocks)、智能体(Agents)等。
- 工具执行: 注册并允许LLM客户端调用Letta平台提供的各种工具,例如智能体操作工具、记忆管理工具、模型管理工具等,扩展LLM的功能边界。
- Prompt模板: 虽然仓库描述中没有明确提及Prompt模板功能,但作为MCP服务器的通用功能,理论上具备支持Prompt模板的能力,具体实现可能需要进一步代码分析。
- 多种传输协议支持: 支持Stdio和SSE两种传输协议,可以根据不同的应用场景选择合适的通信方式。
- 会话管理与能力声明: MCP服务器负责管理客户端会话,并向客户端声明自身所具备的能力(例如支持的工具列表)。
- 基于Letta后端API: 服务器本身并不实现所有功能,而是作为MCP协议的接入层,将请求转发到后端的Letta API服务进行处理,保证了功能的一致性和可扩展性。
安装步骤
-
克隆仓库:
git clone https://github.com/oculairmedia/Letta-MCP-server.git cd Letta-MCP-server -
安装依赖: 确保你的环境中已安装Node.js和npm。在项目根目录下运行以下命令安装项目依赖:
npm install -
配置环境变量: 复制 '.env.example' 文件并重命名为 '.env',根据你的Letta后端API配置修改以下环境变量:
LETTA_BASE_URL=你的Letta后端API地址 (例如: https://letta2.oculair.ca) LETTA_PASSWORD=你的Letta API密码 PORT=服务器端口号 (可选,默认为 3001)注意: 'LETTA_PASSWORD' 环境变量是连接Letta后端API的关键凭证,请务必妥善保管,避免泄露。
服务器配置
MCP客户端需要配置以下信息才能连接到Letta MCP服务器。以下是基于仓库信息生成的配置示例 (JSON 格式):
[ { "serverName": "letta-mcp-stdio", "command": "node", "args": ["index.js"], "transport": "stdio" }, { "serverName": "letta-mcp-sse", "command": "node", "args": ["index.js", "--sse"], "transport": "sse", "ssePath": "/sse", "messagePath": "/message" } ]
参数注释:
- 'serverName': 服务器的名称,可以自定义,用于在客户端中标识不同的MCP服务器连接。例如 '"letta-mcp-stdio"' 和 '"letta-mcp-sse"' 分别代表Stdio和SSE传输的服务器配置。
- 'command': 启动MCP服务器的命令。这里使用 'node' 命令来执行 'index.js' 文件。
- 'args': 传递给启动命令的参数。
- Stdio 传输 ('letta-mcp-stdio'): 参数为空数组 '[]',表示使用默认的Stdio传输协议。
- SSE 传输 ('letta-mcp-sse'): 参数为 '["index.js", "--sse"]',其中 '--sse' 参数指示服务器以SSE模式启动。
- 'transport': 指定MCP客户端与服务器通信的传输协议。
- '"stdio"': 使用标准输入输出流进行通信。
- '"sse"': 使用Server-Sent Events协议进行通信。
- 'ssePath': 当 'transport' 为 '"sse"' 时,指定SSE连接的路径,默认为 '"/sse"'。
- 'messagePath': 当 'transport' 为 '"sse"' 时,指定接收客户端消息的POST请求路径,默认为 '"/message"'。
MCP客户端需要根据自身能力选择合适的传输协议配置,并根据实际部署情况修改 'command' 和 'args' 等参数。
基本使用方法
-
启动服务器: 根据你选择的传输协议,使用以下命令启动Letta MCP服务器:
-
Stdio 传输:
npm run dev # 或 npm run start (生产环境)启动后,服务器将通过标准输入输出流与MCP客户端通信。
-
SSE 传输:
npm run dev:sse # 或 npm run start:sse (生产环境)启动后,服务器将监听在配置文件中指定的端口 (默认为 3001),等待MCP客户端通过SSE协议连接。
-
-
配置MCP客户端: 在你的MCP客户端应用中,根据上述 “服务器配置” 部分的说明,配置连接到Letta MCP服务器的相关参数,包括服务器启动命令、参数、传输协议等。
-
使用MCP客户端与服务器交互: MCP客户端启动后,将根据MCP协议规范,通过配置的传输协议与Letta MCP服务器建立连接,并可以向服务器发送各种MCP请求,例如:
- 'ListToolsRequest': 获取服务器支持的工具列表。
- 'CallToolRequest': 调用服务器提供的工具,执行特定功能。
- 'GetPromptRequest': 获取Prompt模板,用于定制LLM交互模式 (如果服务器支持)。
- 'ReadResourceRequest': 读取服务器管理的资源 (例如记忆块)。
客户端接收到服务器返回的JSON-RPC响应后,即可解析并利用这些信息或功能。
注意: 本使用说明基于仓库代码分析和MCP协议理解生成,具体使用细节可能需要参考Letta MCP服务器的官方文档或进行更深入的代码测试。'test-agent.js' 文件提供了一个使用 axios 直接与 Letta API 交互的示例,但它不是 MCP 客户端,不能直接用于测试 MCP 服务器,仅供参考 Letta API 的使用方法。要测试 MCP 服务器,你需要使用符合 MCP 协议的客户端工具或SDK。
信息
分类
AI与计算