• 项目简介
    • 这是一个完整的 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:执行已发现工具并获取结果。
    • 使用流程示例(简述):
      1. 客户端通过 search_tools 输入一个描述性查询,例如“天气相关工具”,服务器返回匹配结果及工具元数据。
      2. 客户端从结果中选择一个合适的 tool_id,并通过 get_tools_by_ids 获取更多信息(如参数 schema、示例等)。
      3. 客户端将所需参数封装为 JSON 字符串,通过 execute_tool 将 tool_id、search_id 与参数传给服务器,服务器转发到 Qveris API 并返回执行结果。
  • 额外信息
    • 该实现使用了本地生成的会话 ID 来跟踪同一会话中的多次请求,以便分析与扩展能力;若未提供,会自动生成一个新的会话 ID。
    • 服务器通过标准输出(stdio)传输实现与 MCP 客户端的交互,便于嵌入到不同的运行环境。

信息

分类

网页与API