使用说明
项目简介
这是一个基于 MCP 的服务器端实现,承载并管理“命令定义”和“分析报告”的资源,提供三大核心能力:
- 资源管理:命令与分析报告的读取、列举与查询。
- 工具注册与执行:通过 MCP 的工具接口,LLM 可以调用搜索、获取命令、获取报告等操作。
- Prompt 与上下文:可渲染与返回与命令/报告相关的内容,帮助 LLM 构造对话上下文。
本仓库实现了两种传输模式的 MCP 服务器:
- stdio 模式(本地/SSH 场景)通过 ai-command-tool 命令行启动
- SSE 模式(远程多用户访问)通过 ai-command-tool-server 启动 HTTP SSE 服务
上述模式都具备会话管理、能力声明以及对客户端请求的 JSON-RPC 风格响应能力,符合 MCP 服务器的核心职责。
主要功能点
- 双模式传输
- stdio:本地/SSH 交互
- SSE:通过 HTTP 长连接实现服务端推送与多客户端并发
- 三层搜索能力
- Tier 1:通过命名(文件名)进行快速匹配
- Tier 2:基于命令及描述的语义/模糊搜索
- Tier 3:跨命令的历史分析报告搜索
- 资源与工具管理
- list_commands、get_command、search_commands 等工具
- list_command_reports、search_reports、get_report 等工具
- report_feedback、upload_command 等工具,支持命令与报告的上传与更新
- 报告与命令的版本管理
- 报告/命令上传前进行同步(与远端数据库对齐),失败会阻止实际写入
- 支持冲突时的版本自动后缀处理,确保唯一性
- 安全与容错
- 路径校验、前缀过滤、输入校验
- 连接健康心跳、错误处理与日志记录
安装与运行(简明步骤,可直接执行)
- 安装
- 全局安装:npm install -g @elliotding/ai-command-tool-mcp@latest
- 本地测试(stdio 模式)
- 按 README 快速启动,指定 CONFIG_PATH 配置文件路径后运行 ai-command-tool
- 远程测试(SSE 模式)
- 直接启动 ai-command-tool-server,监听端口并通过 /health、/sse 进行健康与连接测试
注:仓库提供了详细的本地与生产部署说明,包含系统服务、Nginx 代理以及健康接口等内容。
服务器配置(MCP 客户端的连接信息)
MCP 客户端连接该服务器时,至少需要提供:
- server 名称,用于标识一个 MCP 服务端实例
- 启动命令及参数,便于在本地或远程执行连接
- 传输模式信息(stdio 或 sse)
示例 JSON(请按实际环境替换路径与域名):
-
stdio 模式(本地/SSH 情况下的 Cursor 配置): { "mcpServers": { "ai-command-tool": { "command": "ai-command-tool", "args": [] } } } 说明:此配置让客户端通过 stdio 启动 ai-command-tool,若需要通过配置文件路径提供配置,请将 CONFIG_PATH 设置到环境变量中,例如通过 Cursor 配置中的 env 配置实现。
-
SSE 模式(远程 HTTP 服务器,带有 SSE 传输): { "mcpServers": { "ai-command-tool": { "url": "https://your-domain.com/mcp/sse", "transport": "sse" } } } 说明:该模式下客户端通过 SSE 接口与服务器进行通信,适合多用户并发场景。服务端提供 /health 进行健康检查,/sse 建立长连接。
基本使用方法(入门级操作指导)
- 选择传输模式
- 本地开发与调试:使用 stdio 模式(ai-command-tool)
- 生产环境与多用户:使用 SSE 模式(ai-command-tool-server)
- 与 LLM 的对接流程
- 通过 MCP 的工具接口进行查询、命令获取、命名与报告查询等操作
- 上传命令与报告时,先执行远端同步(确保元数据一致),再写入本地/远端存储
- 使用建议
- 先通过 search_commands、list_commands 界面化浏览命令集合
- 使用 get_command 获取命令详情与内容,了解使用方式
- 使用 search_reports、list_command_reports 查找分析报告及其链接
- 当需要将分析报告上传时,使用 report_feedback 或 upload_command 进行交互式上传,确保合规与版本控制
如要了解更详细的配置项、工具输入输出以及错误处理,请参考仓库中的文档与代码注释。
信息
分类
AI与计算