API Request MCP Server
This server automates HTTP/HTTPS API requests with JSON response validation and proxy support.
Send HTTP requests using GET, POST, PUT, DELETE, PATCH, HEAD, and OPTIONS methods
Set custom headers and request bodies (raw text or JSON string) for API calls
Upload files via multipart/form-data, supporting form fields (strings, numbers, booleans) and local files with configurable
fieldName,filePath,filename, andcontentTypeConfigure proxy servers via a
proxyparameter or environment variables (HTTP_PROXY/HTTPS_PROXY/NO_PROXY), with the parameter taking precedenceReceive structured responses including parsed JSON data, status code, status text, and response headers
Handle errors gracefully with descriptive messages when requests fail or responses are not valid JSON
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@API Request MCP ServerGET https://api.github.com/users/octocat/repos"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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支持普通表单字段和本地文件同时上传
Related MCP server: cURL MCP Server
安装
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。
Available Tools
1 toolsend_api_requestC
发送API请求并返回JSON响应,支持多种协议和代理
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | 请求的URL,支持http和https协议 | |
| method | No | HTTP方法,如GET, POST, PUT, DELETE等 | GET |
| headers | No | 请求头对象,键值对 | |
| body | No | 请求体内容,对于POST等方法 | |
| proxy | No | 代理服务器地址,格式如 http://proxy.example.com:8080 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It mentions returning JSON responses and supporting multiple protocols/proxies, but doesn't disclose critical behaviors like error handling, timeout settings, authentication requirements, rate limits, or what happens with non-JSON responses. For a general-purpose API tool, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence in Chinese that conveys the core functionality without waste. It's appropriately sized and front-loaded with the main purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a general API request tool with 5 parameters, no annotations, and no output schema, the description is inadequate. It doesn't explain return values, error conditions, or behavioral constraints. The agent lacks sufficient context to use this tool effectively beyond basic parameter filling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents all 5 parameters. The description adds no additional parameter semantics beyond mentioning protocol and proxy support, which is already implied by the schema. Baseline 3 is appropriate when the schema does all the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: '发送API请求并返回JSON响应' (send API request and return JSON response). It specifies the action (send request) and outcome (return JSON response), and mentions support for multiple protocols and proxies. However, it doesn't differentiate from siblings since there are none, so it's not a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It mentions support for multiple protocols and proxies, but doesn't specify use cases, prerequisites, or limitations. With no siblings, this is less critical, but the description lacks any usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
1 tool update
v1.0.0- First observed
send_api_request
TDQS
With only one tool, there is no possibility of confusion or overlap with other tools, making disambiguation perfect. The tool has a clear and distinct purpose of sending API requests, so an agent cannot misselect between non-existent alternatives.
The single tool name 'send_api_request' follows a consistent verb_noun pattern, and with no other tools to compare, there is no inconsistency. The naming is clear and predictable for the server's scope.
A single tool is too few for a server named 'API Request MCP Server', which implies a broader scope for handling API interactions. This minimal set feels thin and incomplete for the apparent purpose, as it lacks operations like request configuration, error handling, or batch processing.
The tool surface is severely incomplete for an API request server. While 'send_api_request' covers the core action, there are obvious gaps such as no tools for managing request headers, authentication, retries, or parsing responses beyond JSON. This will likely cause agent failures in complex API workflows.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Build, validate, deploy — HTTP APIs, cron jobs, webhooks and MCP tools — from your AI client.
Reliable web access for AI agents: smart HTTP, rotating proxies, and full-browser rendering.
AI-callable tools for API mocking, testing, monitoring, security, and automation.
Build, validate, deploy — HTTP APIs, cron jobs, webhooks and MCP tools — from your AI client. Air Pipe MCP token as a bearer credential, e.g. 'Authorization: Bearer <token>'. Create one at https://app.airpipe.io/
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables sending HTTP requests to webhooks with dynamic parameters, supporting all HTTP methods (GET, POST, PUT, PATCH, DELETE), custom headers, and configurable timeouts with detailed error handling and validation.-
- AlicenseAqualityAmaintenanceEnables LLMs to make HTTP requests using structured cURL commands with support for multiple authentication methods, custom headers, and comprehensive request/response control.2163MIT
- AlicenseAqualityDmaintenanceEnables LLMs to make HTTP requests with OAuth2, session cookies, retry logic, and cURL command generation, while providing security features like SSRF protection and TLS enforcement.1MIT
- AlicenseAqualityCmaintenanceEnables AI agents to send HTTP requests to any endpoint with full control over methods, headers, query parameters, and request bodies.117MIT
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