Agentic MCP 服务器套件

使用说明(Markdown 格式)

  • 项目简介

    • 该仓库包含两组 MCP 服务器实现,分别位于 mcp-servers/serverless 与 mcp-servers/multimodel。它们实现了 MCP 协议的核心能力,通过 JSON-RPC 向 LLM 客户端提供工具清单、执行工具调用,以及在不同场景下渲染和返回相应信息的能力。
  • 主要功能点

    • serverless(服务器无服务器化工具)
      • 发现服务器端的云函数:支持从 Supabase Edge Functions 和 Modal 应用中发现可用函数。
      • 调用服务器函数:按名称调用相应函数,并返回执行结果及状态。
    • multimodel(跨模型查询与嵌入)
      • 支持对 OpenAI、Gemini、Voyage 等模型的并行查询、单模型查询与嵌入生成。
      • API Key 获取策略:优先从 Vault(通过 Supabase RPC 获取)获取密钥,其次从环境变量读取。
      • 提供并发查询结果的聚合输出,方便跨模型对比与分析。
  • 安装步骤

    • 将仓库克隆到本地或工作区。
    • 进入两个 MCP 服务目录并安装依赖:
      • mcp-servers/multimodel: npm install
      • mcp-servers/serverless: npm install
    • 配置环境变量(示例键名,实际请使用自己的密钥和链接):
      • OPENAI_API_KEY(OpenAI Key)
      • GEMINI_API_KEY(Gemini Key)
      • VOYAGE_API_KEY(Voyage Key)
      • SUPABASE_URL、SUPABASE_SERVICE_ROLE_KEY(Supabase Vault 访问所需)
    • 运行方式(开发/测试)
      • 由于源码为 TypeScript,需将其编译为 JavaScript 后运行,或使用 ts-node 直接执行源码。示例方案包括:
        • 使用 ts-node 直接运行 mcp-servers/multimodel/src/index.ts
        • 将源码编译为 dist/index.js,再通过 node dist/index.js 启动
    • 启动后,服务器通过 STDIO 传输与 MCP 客户端通讯(符合 MCP 的 JSON-RPC 交互模式)。
  • 服务器配置(MCP 客户端需要的启动信息) 配置示例(JSON,便于导入到 MCP 客户端,无需客户端代码) { "servers": [ { "server_name": "multimodel-mcp", "command": "node", "args": ["mcp-servers/multimodel/dist/index.js"], "transport": "stdio", "notes": "将 TypeScript 源码编译为 dist/index.js,或使用 ts-node 直接运行源文件" }, { "server_name": "serverless-mcp", "command": "node", "args": ["mcp-servers/serverless/dist/index.js"], "transport": "stdio", "notes": "将 TypeScript 源码编译为 dist/index.js,或使用 ts-node 直接运行源文件" } ] }

  • 基本使用方法

    • 使用 MCP 客户端对服务器进行工具查询(ListTools)与调用(CallTool):
      • 先通过 ListTools 获取当前服务器支持的工具清单及输入结构。
      • 再通过 CallTool 指定工具名称、所需参数进行调用,服务器将返回执行结果及状态信息。
    • 常用场景:
      • multimodel 服务器:执行并行查询、单模型查询、以及文本嵌入等操作,支持跨模型对比结果输出。
      • serverless 服务器:发现并调用项目中的云函数(Supabase Edge Functions、Modal 应用)并查看调用结果。
  • 注意事项

    • 该实现依赖环境变量和外部服务(OpenAI、Gemini、Voyage、Supabase、Modal),请确保在运行前正确配置密钥与端点。
    • TS 源码在生产环境需要被编译成 JS 后运行,或者通过 ts-node 等运行时编译器直接执行。

服务器信息