x-autonomous-mcp MCP服务器实现
使用说明(Markdown 格式)如下,便于快速上手和配置。
-
项目简介
- x-autonomous-mcp 是一个 MCP(Model Context Protocol)服务器实现,使用 TypeScript/Node.js 构建,核心职责是向 LLM 客户端提供上下文、工具、以及工作流能力,通过 JSON-RPC 与客户端通信,并支持通过 TOON 编码输出响应以节省 token。服务器内置预算限制、去重、工作流编排等安全和可扩展特性,便于在对话中实现对外部资源的访问和自动化任务执行。
-
主要功能点
- MCP 服务器实现与注册工具
- 提供多种工具(如 post_tweet、get_tweet、search_tweets、get_user、follow_user、cleanup_non_followers 等)的注册与执行,统一通过 JSON-RPC 调用。
- 资源与预算管理
- 内置每日预算、任务类型计数、以及预算检查,确保 LLM 行为的可控性和安全性。
- 去重与保护账户
- 对交互中的重复操作进行去重,提供对受保护账户的保护逻辑。
- 工作流引擎
- 具备 follow_cycle、reply_track 等工作流,实现多步骤的自驱动任务执行与结果管理,支持持久化与断点续传。
- 服务输出格式
- 支持 TOON 编码输出以及 JSON 输出,便于与不同客户端的带宽和解析需求对接。
- 客户端整合
- 通过 x-api 的客户端封装,提供对 X API 的访问、率限处理、以及错误描述的自描述性提示。
- 客户端无关的服务器端能力
- 服务器端包含状态管理、队列、工作流状态、任务分发与结果汇总,确保服务器端在无外部依赖时也能自洽运行。
- MCP 服务器实现与注册工具
-
安装步骤
-
- 克隆仓库并进入目录
-
- 安装依赖
-
- 构建/打包
-
- 启动服务器
-
- 配置 MCP 客户端连接信息(见下述服务器配置示例)
-
-
服务器配置(MCP客户端需要的启动信息)
- 服务器启动信息通常以 JSON 配置传给 MCP 客户端,包含服务器名称、启动命令、以及参数。以下为可参考的配置要点说明,请根据实际环境生成并交给 MCP 客户端使用:
- serverName: x-autonomous-mcp
- command: node
- args: ["dist/index.js"] // 构建产物入口,若直接运行 ts-node 亦可用 ts-node 入口
- transport: stdio // 服务器默认使用 Stdio 传输,客户端连接时通过标准输入输出实现 RPC 通信
- 备注: 客户端通过该配置启动并通过 JSON-RPC 与 MCP 服务器交互。若使用不同部署方式(如 Docker、PM2 等),请将 command/args 替换为实际启动命令。
-
基本使用方法
- 启动服务器
- 运行构建后的服务器入口(如 dist/index.js),确保环境已安装 Node.js、依赖已安装并构建完成。
- 客户端连接
- 使用 MCP 客户端对该服务器进行 RPC 调用,调用入口包括 get_next_task、submit_task、start_workflow、cleanup_non_followers 等,完成 LLM 的上下文获取、任务提交、以及工作流管理。
- 运行与调试
- 服务器会在响应中附带预算与速率限制信息;遇到超预算、参数错误、或 API 调用失败时,会返回标准化的错误信息,便于调试。
- 重要注意
- 由于实际环境中的外部 API(X API)可能有变动,建议将 API 调用与工作流逻辑与测试用例结合,通过单元测试与集成测试确保行为稳定。
- 启动服务器