Currents MCP Server

使用说明

项目简介

Curents MCP Server 是一个基于 Model Context Protocol(MCP)的后端服务器,提供标准化的上下文服务给 LLM 客户端。它能够托管资源、注册并执行工具,以及定义和渲染提示模板,提供安全、可扩展的上下文服务框架。当前实现通过标准输入输出(Stdio)传输,与运行在同一进程中的客户端进行 JSON-RPC 风格的通信,并对 Currents 平台的 API 进行封装调用,供 AI 代理查询测试结果、项目、动作、webhook 等信息。

主要功能点

  • MCP 服务器核心功能
    • 通过 JSON-RPC 与客户端通信,按工具(Tools)注册、触发、返回数据和错误信息。
    • 支持会话管理与能力声明(通过 MCP 服务器实现自动处理与扩展)。
    • 以 Stdio 传输为默认连接方式,便于在本地或集成流水线中使用。
  • 工具集合
    • 提供大量 Currents 相关的工具,如 currents-get-projects、currents-get-project、currents-get-runs、currents-get-run-details、currents-get-spec-instance、currents-get-tests-performance、currents-list-webhooks 等等,覆盖项目、运行、测试、规格、Webhooks 等领域。
  • 资源与数据访问
    • 通过 lib/request.ts 统一封装对 Currents API 的访问,包含 GET/POST/PUT/DELETE 的请求封装,统一加入 API Key、URL 和错误处理。
  • 日志与健壮性
    • 使用内置的 logger,对关键操作和错误进行日志记录,便于排错与监控。
  • 评估与测试
    • 提供基于 Vitest 的单元测试覆盖,请求模块、工具工具集等,确保请求封装与工具行为的正确性。

安装步骤

  • 安装环境依赖
    • 需要 Node.js(推荐 LTS 版本)环境。
    • 获取代码后在项目根目录执行依赖安装(如 npm install / pnpm install / yarn install)。
  • 构建与运行
    • 构建 TypeScript 项目(如 npm run build,若有),确保编译产出可用于运行。
    • 使用 MCP 服务器启动命令启动服务器(下文“服务器配置”给出具体启动方式)。
  • 测试
    • 运行仓库内提供的单元测试,确保依赖项与网络请求模拟正确。

服务器配置

以下配置用于 MCP 客户端在本地或集成环境中连接并启动 Currents MCP 服务器。MCP 客户端需要知道服务器名称、启动命令及参数来建立连接。本服务器默认使用命令行通过 npx 启动,传入相应参数并设置 Currents API Key。

{ "mcpServers": { "currents": { "command": "npx", "args": ["-y", "@currents/mcp"], "env": { "CURRENTS_API_KEY": "<your-api-key>" } // 说明:在此配置中,"currents" 是服务器名称,与代码中的 name 字段对应; // "command" 与 "args" 指定了如何启动 MCP 服务器; // "env" 中的 CURRENTS_API_KEY 需要你把实际的 Currents API Key 填入。 } } }

基本使用方法

  • 启动服务器
    • 在符合前述配置的环境中执行指定命令(如通过 MCP 客户端启动,或直接在本地通过 npx 启动 Currents MCP Server)。
  • 连接方式
    • 服务器使用 StdioTransport 通过标准输入输出与客户端通信,LLM 客户端应通过 MCP 客户端接口将请求与响应通过 JSON-RPC 形式发送和接收。
  • 通过工具调用获取上下文
    • LLM 客户端可按需调用注册的 Currents 工具(如 currents-get-projects、currents-get-runs 等)以获取数据并将结果整合进对话上下文。
  • 安全与凭据
    • Currents API Key 应通过环境变量 CURRENTS_API_KEY 提供,确保对 Currents API 的访问受控与可审计。

服务器信息