Token导航 LogoToken导航TokenDH.com
API Testing MCP Server logo
AI代理stdio官方级别未说明来源级核验

API Testing MCP Server

MCP Server

tsc

一个基于Model Context Protocol (MCP)的轻量级HTTP/API测试工具集,提供多种HTTP请求工具和JSON Schema验证功能,适用于嵌入支持MCP的编辑器和客户端。

工具数

9

提示词数

0

GitHub Stars

0

资源数

0
TypeScriptAPI集成AI代理

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

Agbobli5373

提供方

Agbobli5373

最后核验

2026/5/17 20:20

运行时

Node.js

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

npx tsc --noEmit

详细介绍

api mcp服务器

一个小型的模型上下文协议(MCP)服务器,通过stdio公开一组集中的HTTP/API测试工具。此仓库以TypeScript实现服务器,旨在嵌入支持MCP的编辑器和客户端中。

这个项目提供了什么

  • MCP服务器二进制包装器: wrapper.cjs / wrapper.js (stdio传输)。
  • 从导出的一组类型化的API测试工具 src/tools/index.ts (见“可用工具”)。
  • 轻量级 ApiClient 公用事业(src/api-client/index.ts)支持JSON请求、多部分上传、重试、超时和并发请求。
  • 基于TypeScript的代码,带有构建+类型检查脚本。

快速启动

前提条件:Node.js 18+(推荐),pnpm(或npm/yarn)。

  1. 安装依赖项
pnpm install
  1. 类型检查
npx tsc --noEmit
  1. 构建
pnpm build
  1. 运行MCP服务器(stdio传输)
node ./wrapper.cjs

在开发过程中,您可以直接使用以下命令运行TypeScript tsx:

npx tsx src/index.ts

可用工具(摘要)

所有工具定义见 src/tools/index.ts简短描述和示例输入:

  • http_request --通用HTTP请求程序。

- 输入(JSON):{“方法”:“POST”,“url”:https://example.com/api“,”headers“:{”Content-Type“:”application/json“},”body“:{“x”:1},”timeout“:5000}

  • get --方便获取包装。

- 输入:{“url”:“https://example.com/data“,”headers“:{”Accept“:”application/json“}}

  • post, put, delete --用于POST/PUT/DELETE的便利包装。

- 输入 post:{“url”:“https://...“,”body“:{…},”headers“:}

  • upload_multipart --使用multipart/form数据上传文件。支持本地文件路径或base64编码内容。

- 输入示例: { “url”:“https://api.example.com/upload", “文件”:\[ {“fieldName”:“file”,“filePath”:“./tests/fixtures/image.png”,“filename”:“image.png“} \], “字段”:{“用户ID”:“123”} } - 注意:在Node\<18上,服务器将尝试动态导入 form-data 包裹;节点18+全局 FormData 可用。该项目包括 form-data 在……里面 optionalDependencies --如果需要Node回退,请安装它。

  • validate_json_schema --使用AJV根据JSON模式验证JSON。

- 输入:{“数据”:{…},“架构”:{..} - 注意:AJV是一个可选的运行时依赖项。如果未安装AJV,该工具将抛出一个错误,指示如何添加它。

  • concurrent_requests --跑很多 http_request 与可配置的工作者计数同时调用。

- 输入示例: {“请求”:〔{“方法”:“GET”,“url”:https://...“},{“方法”:“POST”,“url”:“…”,“opts”:{“body”:{}}\],“并发性”:5}

  • assert_status --断言响应状态与预期值匹配。

- 输入:{“响应”:{“状态”:200,…},“预期”:\[200201\]}

src/tools/index.ts 用于返回给MCP客户端的完整JSON模式定义。

从MCP客户端使用服务器

服务器公开了一个基于stdio的传输。启动包装器的编辑器MCP客户端的示例任务配置:

Windows示例(调整路径):

{
  "servers": {
    "api-mcp": {
      "command": "node",
      "args": ["C:\\path\\to\\api-mcp-server\\wrapper.cjs"]
    }
  }
}

macOS/Linux示例:

{
  "servers": {
    "api-mcp": {
      "command": "node",
      "args": ["/path/to/api-mcp-server/wrapper.cjs"]
    }
  }
}

通过以下方式控制暴露的工具 MCP_TOOLS 环境变量。已接受的示例:

  • 未设置或 * --暴露所有工具
  • JSON数组字符串: MCP_TOOLS='["get","post"]'
  • 逗号分隔字符串: MCP_TOOLS='get,post'

您可以在客户端启动配置中设置env,也可以在启动包装器之前将其导出到shell中。

实现注意事项

  • 入口点:

- src/index.ts --启动MCP服务器。 - src/server/optimized-server.ts --MCP服务器布线和stdio传输。 - src/server/get-allowed-tools.ts --解析 MCP_TOOLS 以及过滤工具。 - src/server/execute-tool-method.ts --将工具调用路由到中的实现 src/tools.

  • HTTP帮助程序: src/api-client/index.ts 实现了一个小型、无依赖性的HTTP助手程序,该程序使用 fetch,支持超时、指数回退重试、JSON正文处理、多部分上传和并发工作者。
  • 多部分上传:代码使用 globalThis.FormData 如果可用(节点18+),则回退到动态导入 form-data 必要时。 form-data 作为可选依赖项包含在内;如果您的环境需要,请显式安装它:
pnpm add form-data
  • JSON模式验证:验证工具动态导入AJV。如果要进行服务器端架构检查,请安装它:
pnpm add ajv

开发技巧和故障排除

  • 如果 tsc 报告缺少节点类型,确保 @types/node 作为开发依赖项安装(此项目包括它)。
  • 如果您以前遇到过以下问题 @types/form-data (TS2688),该包是一个已弃用的存根——此仓库依赖于真实的 form-data 运行时包。删除存根并使用运行时包可以解决类型查找问题。
  • 要在本地调试单个工具,请运行服务器并从MCP客户端调用该工具,或者编写一个通过stdio调用MCP的小型Node脚本。

例子

  • 通过简单GET http_request:

向工具请求有效载荷:

{ "method": "GET", "url": "https://jsonplaceholder.typicode.com/todos/1" }

返回的典型成功响应形状 ApiClient 包装材料:

{
  "status": 200,
  "ok": true,
  "headers": { "content-type": "application/json; charset=utf-8" },
  "body": { ...parsed json... },
  "rawBody": "...",
  "timeMs": 123
}
  • 多部分上传(本地文件):请参阅 upload_multipart 上面的输入示例。

许可证

麻省理工学院

目录标签

目录标签

TypeScriptAPI集成AI代理HTTP测试本地部署API工具JSON验证多并发请求MCP协议

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Node.js

来源包(packageName,安装包名)

tsc

工具数量(toolCount,工具数)

9

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP