使用说明

项目简介

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服务进行处理,保证了功能的一致性和可扩展性。

安装步骤

  1. 克隆仓库:

    git clone https://github.com/oculairmedia/Letta-MCP-server.git
    cd Letta-MCP-server
  2. 安装依赖: 确保你的环境中已安装Node.js和npm。在项目根目录下运行以下命令安装项目依赖:

    npm install
  3. 配置环境变量: 复制 '.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' 等参数。

基本使用方法

  1. 启动服务器: 根据你选择的传输协议,使用以下命令启动Letta MCP服务器:

    • Stdio 传输:

      npm run dev  # 或 npm run start (生产环境)

      启动后,服务器将通过标准输入输出流与MCP客户端通信。

    • SSE 传输:

      npm run dev:sse  # 或 npm run start:sse (生产环境)

      启动后,服务器将监听在配置文件中指定的端口 (默认为 3001),等待MCP客户端通过SSE协议连接。

  2. 配置MCP客户端: 在你的MCP客户端应用中,根据上述 “服务器配置” 部分的说明,配置连接到Letta MCP服务器的相关参数,包括服务器启动命令、参数、传输协议等。

  3. 使用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与计算