- 项目简介
- 这是一个完整的 MCP 服务器实现,允许 LLM 客户端通过 MCP 协议发现、获取信息以及执行第三方工具。服务器与 Qveris 的工具 API 进行集成,提供工具搜索、按 ID 获取工具信息、以及执行工具等能力的后端实现。基于标准的 JSON-RPC 风格请求与响应,支持通过多种传输方式进行通信(此实现使用标准输入输出(stdio)传输,便于集成到不同运行环境)。
- 主要功能点
- 处理 MCP 请求与响应:实现 ListTools、CallTool 等 MCP 请求的处理逻辑,返回符合 MCP 规范的响应内容。
- 资源托管与工具执行:整合 Qveris API,支持基于自然语言查询的工具搜索、根据工具 ID 获取工具信息以及执行指定工具。
- 会话与能力声明:为同一会话自动生成会话标识,提供工具能力的声明与操作结果信息,便于后续分析与追踪。
- 简易的安全与错误处理:通过 API Key 验证、错误信息包装与返回,确保异常情况能向客户端清晰传达。
- 自带测试覆盖:包含针对工具输入模式与 API 客户端的单元测试,确保核心路径可用性(示例中的测试覆盖了输入校验、参数解析、错误传播等)。
- 安装步骤
- 需要 Node.js 18 及以上环境。
- 将代码仓库克隆到本地,进入项目目录后安装依赖并编译运行即可。
- 运行方式通常通过安装自带的 MCP 服务端包并从命令行启动,遵循 README 中的快速启动指南即可。
- 服务器配置(MCP 客户端与服务器的交互配置说明)
- 为使 MCP 客户端与服务器建立连接,需要在客户端的配置中指明服务器的启动命令及参数。示例配置(JSON 形式,非代码块展示,便于直观理解)如下: { "mcpServers": { "qveris": { "command": "npx", "args": ["@qverisai/mcp"], "env": { "QVERIS_API_KEY": "your-api-key-here" } } } }
- 说明:
- mcpServers 对象下的键名「qveris」即为服务器名称(客户端将使用该名称识别并连接)。
- command 为启动服务器的命令,这里使用 npx 作为运行方式。
- args 为启动参数,包含要执行的 MCP 服务器包名。
- env 中应设置 API Key,以便服务器能够访问外部工具服务。
- 客户端不需要了解服务器的内部实现细节,仅需知道以上配置即可建立连接。
- 基本使用方法
- 启动后,客户端将能够发送以下类型的请求:
- search_tools:通过自然语言查询搜索可用工具。
- get_tools_by_ids:根据工具 ID 获取工具的详细信息。
- execute_tool:执行已发现工具并获取结果。
- 使用流程示例(简述):
- 客户端通过 search_tools 输入一个描述性查询,例如“天气相关工具”,服务器返回匹配结果及工具元数据。
- 客户端从结果中选择一个合适的 tool_id,并通过 get_tools_by_ids 获取更多信息(如参数 schema、示例等)。
- 客户端将所需参数封装为 JSON 字符串,通过 execute_tool 将 tool_id、search_id 与参数传给服务器,服务器转发到 Qveris API 并返回执行结果。
- 启动后,客户端将能够发送以下类型的请求:
- 额外信息
- 该实现使用了本地生成的会话 ID 来跟踪同一会话中的多次请求,以便分析与扩展能力;若未提供,会自动生成一个新的会话 ID。
- 服务器通过标准输出(stdio)传输实现与 MCP 客户端的交互,便于嵌入到不同的运行环境。
信息
分类
网页与API