API Request MCP Server
API请求MCP服务器
一个用于自动发送 HTTP 请求并验证 JSON 响应的 MCP (Model Context Protocol) 服务器。支持多种 HTTP 方法、代理配置,以及 multipart/form-data 文件上传。
功能特性
自动发送 GET、POST、PUT、DELETE、PATCH、HEAD、OPTIONS 请求
支持 HTTP 和 HTTPS
支持 HTTP/HTTPS 代理
自动校验响应是否为 JSON
支持原始文本请求体
支持
multipart/form-data支持普通表单字段和本地文件同时上传
安装
git clone https://github.com/your-username/api-request-server.git
cd api-request-server
npm install
npm run build配置
可选环境变量
HTTP_PROXY=http://127.0.0.1:8080
HTTPS_PROXY=http://127.0.0.1:8080
NO_PROXY=localhost,127.0.0.1,.localHTTP_PROXY: HTTP 请求代理HTTPS_PROXY: HTTPS 请求代理NO_PROXY: 不走代理的主机列表
Claude Code
配置文件位置:项目根目录 .claude/mcp.json
{
"mcpServers": {
"api-request-server": {
"command": "node",
"args": [
"./api-request-server/build/index.js"
]
}
}
}如果你是直接在本仓库本地开发和调试,推荐使用绝对路径或与你当前项目结构一致的相对路径,并在修改后重启客户端以重新加载 MCP 配置。
Cline
Windows 配置文件位置:
%APPDATA%\\Code\\User\\globalStorage\\saoudrizwan.claude-dev\\settings\\cline_mcp_settings.json
{
"mcpServers": {
"api-request-server": {
"autoApprove": [
"send_api_request"
],
"disabled": false,
"timeout": 60,
"type": "stdio",
"command": "node",
"args": [
"C:\\path\\to\\api-request-server\\build\\index.js"
]
}
}
}本地开发时,也可以直接改成你自己的实际路径,例如:
{
"mcpServers": {
"api-request-server": {
"autoApprove": [
"send_api_request"
],
"disabled": false,
"timeout": 60,
"type": "stdio",
"command": "node",
"args": [
"C:\\Users\\gml\\Documents\\Cline\\MCP\\api-request-server\\build\\index.js"
]
}
}
}使用示例
GET
send_api_request({
"url": "https://api.example.com/data"
})JSON POST
send_api_request({
"url": "https://api.example.com/submit",
"method": "POST",
"headers": {
"Content-Type": "application/json",
"Authorization": "Bearer your-token"
},
"body": "{\"key\": \"value\"}"
})使用代理
send_api_request({
"url": "https://api.example.com/data",
"proxy": "http://proxy-server:8080"
})multipart/form-data 上传
send_api_request({
"url": "https://api.example.com/upload",
"method": "POST",
"headers": {
"Authorization": "Bearer your-token"
},
"formFields": {
"folder": "invoices",
"public": true,
"userId": 123
},
"files": [
{
"fieldName": "file",
"filePath": "C:\\data\\invoice.pdf",
"contentType": "application/pdf"
},
{
"fieldName": "attachment",
"filePath": "C:\\data\\note.txt",
"filename": "note.txt",
"contentType": "text/plain"
}
]
})API参数说明
send_api_request
参数 | 类型 | 必需 | 说明 |
| string | 是 | 请求 URL,支持 |
| string | 否 | HTTP 方法,默认 |
| object | 否 | 请求头,键值对形式 |
| string | 否 | 原始请求体,适用于 JSON 或其他文本载荷 |
| object | 否 |
|
| array | 否 | 上传文件列表,每项为 |
| string | 否 | 代理地址,格式如 |
约束:
body不能和formFields、files同时使用files[].filePath必须是本地真实存在的文件路径上传文件时会自动生成
multipart/form-data请求头
响应格式
成功时返回:
{
"data": {
"key": "value"
},
"status": 200,
"statusText": "OK",
"headers": {
"content-type": "application/json"
}
}失败时返回:
{
"content": [
{
"type": "text",
"text": "Request failed: ..."
}
],
"isError": true
}代理优先级
proxy参数环境变量
HTTP_PROXY/HTTPS_PROXYNO_PROXY命中时不使用代理
注意事项
当前实现要求响应可解析为 JSON,否则返回错误
目前仅支持 HTTP 和 HTTPS 代理
.env不应提交到版本控制系统
开发
npm install
npm run build
npm run watch
npm start许可证
本项目采用 MIT 许可证,详见 LICENSE。
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Nicolas-One/api-request-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server