api-mcp
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-mcpfetch https://api.github.com/repos/modelcontextprotocol/spec"
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
A Model Context Protocol server that lets an
LLM make arbitrary HTTP API requests using any method — GET, POST,
PUT, PATCH, DELETE, HEAD, OPTIONS — against any URL.
It exposes one general-purpose tool plus thin per-method convenience wrappers, so a model can call whatever REST/HTTP API it needs with full control over headers, query parameters, and request bodies.
Tools
Tool | Description |
| The general tool. Takes a |
| Convenience wrappers with the method fixed. |
Arguments
All tools accept the same arguments (the per-method tools omit method):
Argument | Type | Description |
| enum |
|
| string | Full request URL including |
| object | Request headers, e.g. |
| object | Query-string params, URL-encoded and appended to the URL. |
| string | Raw request body sent as-is (form-encoded, plain text, etc.). Ignored for |
| any | JSON-serializable value sent as the body with |
| number | null | Request timeout in seconds. |
| boolean | Follow HTTP redirects (default |
| number | Cap on response body bytes read back (default |
| enum |
|
Response
Each call returns a JSON object with:
{
"request": { "method": "POST", "url": "https://api.example.com/items?x=1" },
"status": 201,
"statusText": "Created",
"ok": true,
"elapsed_ms": 142,
"headers": { "content-type": "application/json", ... },
"body_bytes": 87,
"body_truncated": false,
"body_encoding": "utf-8",
"body": "{\"id\":\"abc\"}"
}A non-2xx status is returned as a normal (non-error) result — it's real information about the API, not a tool failure. Only network errors, timeouts, and invalid URLs are reported as tool errors.
Binary & non-text responses
The body is returned as either UTF-8 text or base64, and body_encoding
tells you which. With the default response_encoding: "auto":
Textual content types (
text/*, andapplication/*subtypes containingjson,xml,javascript,csv,yaml,svg, etc.) are decoded as UTF-8.Everything else (images, PDFs, archives,
application/octet-stream, …) is returned as base64.When the response has no
Content-Type, the bytes are sniffed for NUL bytes to guess text vs. binary.
Override the heuristic with response_encoding:
"text"— always decode as UTF-8."base64"— always base64-encode (useful when a server mislabels a binary payload as text).
Related MCP server: API Request MCP Server
Install & build
npm install # also builds via the prepare script
npm run build # or build explicitlyRun
The server speaks MCP over stdio:
node dist/index.jsConfigure in an MCP client
Claude Code
claude mcp add api-mcp -- node /absolute/path/to/api-mcp/dist/index.jsClaude Desktop / generic client
Add to your MCP config (e.g. claude_desktop_config.json):
{
"mcpServers": {
"api-mcp": {
"command": "node",
"args": ["/absolute/path/to/api-mcp/dist/index.js"]
}
}
}Example calls
Fetch JSON:
// tool: get
{ "url": "https://api.github.com/repos/anthropics/anthropic-sdk-python" }Create a resource with a JSON body and auth header:
// tool: post
{
"url": "https://api.example.com/v1/items",
"headers": { "Authorization": "Bearer sk-…" },
"json": { "name": "widget", "qty": 3 }
}Send a raw form-encoded body:
// tool: http_request
{
"method": "PUT",
"url": "https://api.example.com/v1/items/42",
"headers": { "Content-Type": "application/x-www-form-urlencoded" },
"body": "name=widget&qty=5"
}Security note
This server can reach any URL the host machine can reach, including internal network addresses, using whatever credentials the model supplies in headers. Run it only in trusted contexts and be mindful of what URLs and secrets you allow a model to send.
License
MIT
This server cannot be installed
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 Servers
- Flicense-qualityDmaintenanceEnables fetching content from any URL with support for different HTTP methods, custom headers, and request bodies. Designed to work with ChatGPT and other AI assistants for web scraping and API interactions.Last updated
- AlicenseBqualityDmaintenanceEnables automatic HTTP requests (GET, POST, PUT, DELETE, etc.) with JSON validation and proxy support. Supports custom headers, request bodies, and environment variable configuration for seamless API integration.Last updated123MIT
- AlicenseAqualityAmaintenanceEnables LLMs to make HTTP requests using structured cURL commands with support for multiple authentication methods, custom headers, and comprehensive request/response control.Last updated2112MIT
- AlicenseAqualityCmaintenanceEnables 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.Last updated1MIT
Related MCP Connectors
Reliable web access for AI agents: smart HTTP, rotating proxies, and full-browser rendering.
Gateway between LLM agents and world data through eight tools and a bundled endpoint catalog.
Enable language models to perform advanced AI-powered web scraping with enterprise-grade reliabili…
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/GiantBeaver9/api-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server