Gagaclaw MCP 服务器实现

使用说明(Markdown 格式)

  • 项目简介
    • Gagaclaw 的 gagaclaw_recommend_mcp/index.js 提供一个可运行的 MCP 服务器实现,注册了 groq_transcribe 与 telegram_send_file 两个工具,允许 MCP 客户端通过标准的 MCP 请求来查询工具、调用工具、以及执行相关操作。
    • 服务器通过 MCP SDK 提供的平台(如 ListToolsRequestSchema、CallToolRequestSchema 等)暴露工具接口,具备基本的请求处理、响应结构和会话/权限管理能力。
  • 主要功能点
    • MCP 服务器实现:实现 ListTools 与 CallTool 的请求处理,支持工具注册、调用与结果返回。
    • 工具注册:提供 groq_transcribe(音频转文本)与 telegram_send_file(将文件发送到 Telegram 管理员聊天室,且支持将 .md 自动转为 .html)的实现接口。
    • 传输与渲染:当前示例使用 STDIO 传输(StdioServerTransport),并为未来扩展保留了接口适配能力。
    • 与外部服务的集成:通过 Groq API 进行音频转写,以及 Telegram API 发送文件等功能。
  • 安装步骤
    • 在仓库根目录执行 npm install 安装依赖。
    • 进入 gagaclaw_recommend_mcp 目录再执行 npm install 以安装 MCP 服务依赖。
    • 确保 gagaclaw.json 中配置了 Telegram Token 与管理员/允许的用户等字段(核心用于工具执行后的通知或文件发送)。
  • 服务器配置
    • MCP 客户端连接配置示例(请使用客户端的实际容器/环境信息来填充):
    • server 名称:gagaclaw_recommend_mcp
    • 启动命令(command):node
    • 启动参数(args):["<绝对路径>/gagaclaw/gagaclaw_recommend_mcp/index.js"]
    • 说明:将 <绝对路径> 替换为 gagaclaw 项目在实际环境中的绝对路径。此配置用于 MCP 客户端在启动时加载并连接到 MCP 服务器实现。
  • 基本使用方法
    • 启动 MCP 服务器后,MCP 客户端可以通过 ListTools 调用 groq_transcribe 与 telegram_send_file 工具。LLM 客户端将向服务器请求工具信息和执行工具的结果,服务器负责执行业务逻辑并返回结果。
    • 结合 gagaclaw 的 Telegram 集成与 Groq 转写能力,可以实现从音频文件转写、将文件传送至 Telegram 管理员等工作流。
  • 注意事项
    • 运行环境需 Node.js,且网络可访问 Groq API 与 Telegram API。
    • gagaclaw.json 中 groq.apiKey(若使用 Groq 转写)需正确配置;如未配置可跳过相关能力。
    • 由于该实现对外暴露工具,需确保正确的权限控制与安全配置。

服务器信息