mcp-http
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., "@mcp-httpGET https://api.github.com/users/octocat"
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.
mcp-http
MCP server exposing a single generic HTTP client tool (http_request) so an AI
agent can make arbitrary HTTP requests from its own environment.
Installable from a git repository via uvx:
uvx --from git+https://github.com/Llamatron2112/mcp-http@main mcp-http-serverOr run locally:
uv run mcp-http-serverAgent configuration
Point your agent at the server over stdio, e.g. in opencode.json or
claude_desktop_config.json:
{
"mcpServers": {
"http-client": {
"command": "uvx",
"args": ["--from", "git+https://github.com/Llamatron2112/mcp-http@main", "mcp-http-server"]
}
}
}Related MCP server: API Request MCP Server
Tool: http_request
The agent controls everything: method and url are required; params,
headers, json_body, data, timeout and follow_redirects are optional.
http_request(method, url, params=None, headers=None, json_body=None,
data=None, timeout=30.0, follow_redirects=True) -> dictReturns {"status", "content_type", "headers", "body", "truncated"}. body is
truncated to HTTP_MAX_BODY (default 1 MB).
Secrets: never put real tokens in the conversation
A header value of the form ${VAR} is resolved by the server from its own
environment variables. The agent only writes the placeholder, so the real value
never enters the conversation, tool history, or logs.
{"headers": {"Authorization": "Bearer ${API_TOKEN}"}}Example: define the variable on the machine running the server and reference it with any name:
export API_TOKEN="sk-..."The agent keeps full control for security testing: with token, without token (just omit the header), or with a wrong token to test for a 401.
Configuration
Variable | Default | Meaning |
|
| Maximum response body bytes returned to the agent |
Available Tools
1 toolhttp_requestHTTP ClientA
Send an arbitrary HTTP request and return the response.
Single generic HTTP client tool: the agent picks the method, URL, headers, query parameters and body. Returns status, headers, content-type and body.
Supported methods: GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS, TRACE.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Full URL, e.g. https://api.example.com/v1/users. | |
| data | No | Raw text body (alternative to json_body). | |
| method | Yes | HTTP method in uppercase (GET, POST, ...). | |
| params | No | Query string (dict key->value) appended to the URL. | |
| headers | No | HTTP headers. A value of the form "${VAR}" is resolved from the server's environment variables: writing {"Authorization": "Bearer ${API_TOKEN}"} never exposes the real token to the agent. To test without a token, omit the header entirely. | |
| timeout | No | Maximum timeout in seconds. | |
| json_body | No | JSON object sent as the request body (POST/PUT/PATCH). | |
| follow_redirects | No | Whether to follow 3xx redirects. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnlyHint=false, openWorldHint=true), the description discloses that the agent selects method, URL, headers, query parameters and body, and that the response includes status, headers, content-type, and body. It also adds a non-obvious security behavior: header values of the form '${VAR}' are resolved from server environment variables without exposing the token to the agent. This is valuable contextual information beyond the structured schema.
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 succinct three-sentence block. It front-loads the core action in the first sentence, then efficiently covers request components, response fields, and supported methods without redundancy or filler. Every sentence contributes information.
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 tool's generic nature and eight parameters, the description plus rich schema details and output schema provide solid coverage. It mentions the response return fields (status, headers, content-type, body) and a key security nuance. Minor gaps like error handling or redirect behavior are already covered in the schema (follow_redirects). The overall package is sufficiently complete for an agent to invoke it correctly.
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%, with each parameter already well-documented in the input schema (e.g., 'data' as raw text body alternative to json_body, 'params' as query string dict). The description's mention of the agent picking method, URL, headers, etc., is a high-level summary that adds no new semantic meaning over the schema, so the baseline score of 3 is appropriate.
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 opens with 'Send an arbitrary HTTP request and return the response,' which is a specific verb+resource statement. It further clarifies the tool's scope by enumerating supported methods (GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS, TRACE) and explicitly labels itself as the 'single generic HTTP client tool,' making its purpose unmistakable.
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 states this is the 'single generic HTTP client tool' and lists the components the agent controls (method, URL, headers, query parameters, body), giving clear context on when to use it. With no sibling tools provided, there is no explicit alternative, but the intended usage as the universal HTTP request tool is clear.
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
v0.1.0- First observed
http_request
TDQS
With only a single tool, there is no possibility of confusion or overlapping purposes. The http_request tool has a clear, distinct role as a generic HTTP client.
The tool name 'http_request' is a clear verb_noun pattern. Since there is only one tool, consistency is trivially maintained, and the name accurately reflects its function.
While a single tool feels thin, it is justified for a focused HTTP client server. The tool is comprehensive and not trivial, but the server offers no additional utilities or convenience wrappers.
The http_request tool supports all common HTTP methods, headers, query parameters, and body payloads, and returns status, headers, and body content. This fully covers the expected domain of an HTTP client with no obvious gaps.
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
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.
The OpenRouter for tools. One MCP connection gives any AI agent 254 hosted tools, pay per call.
471AI-callable tools for API mocking, testing, monitoring, security, and automation.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceProvides a structured HTTP client tool for making web requests with full HTTP method support, detailed response metadata, and error handling. Enables AI assistants to interact with any web API or endpoint through the curl_request tool.122MIT
- 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.115MIT
- AlicenseAqualityAmaintenanceEnables LLMs to make HTTP requests using structured cURL commands with support for multiple authentication methods, custom headers, and comprehensive request/response control.2163MIT
- FlicenseAqualityDmaintenanceUniversal HTTP client tool for LLM agents. Enables Claude and other MCP-compatible agents to perform GET, POST, PUT, DELETE, and other HTTP requests to any URL, including localhost and internal network addresses.2-
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/Llamatron2112/mcp-http'
If you have feedback or need assistance with the MCP directory API, please join our Discord server