Web Request MCP Server
Execute HTTP requests via MCP (Model Context Protocol)
This is a TypeScript-based MCP server that provides a flexible tool to execute HTTP requests with custom methods, headers, and body content. It enables AI assistants to interact with web APIs and endpoints seamlessly.
Features
http_request
A versatile tool for making HTTP requests with full control over all parameters.
- Purpose: Execute HTTP requests with custom configuration
- Parameters:
url(required): The target URL (e.g., "https://api.example.com/endpoint")method(optional): HTTP method - GET, POST, PUT, DELETE, PATCH, HEAD, OPTIONS (defaults to GET)headers(optional): Custom headers as key-value pairsbody(optional): Request body (string or object, automatically JSON stringified for objects)params(optional): URL query parameters as key-value pairs
- Behavior:
- Automatic Content-Type detection for JSON bodies
- Response truncation for large responses (max 50,000 characters)
- Comprehensive error handling with status codes
- Returns full response including status, headers, and data
Example requests:
// Simple GET request
{ url: "https://api.github.com/users/octocat" }
// POST with JSON body
{
url: "https://api.example.com/data",
method: "POST",
headers: { "Authorization": "Bearer token123" },
body: { name: "John", email: "[email protected]" }
}
// GET with query parameters
{
url: "https://api.example.com/search",
params: { q: "search term", limit: "10" }
}
Development
Install dependencies:
npm install
Build the server:
npm run build
For development with auto-rebuild:
npm run watch
Installation
Using with Claude Desktop
To use with Claude Desktop, add the server config:
On MacOS: ~/Library/Application Support/Claude/claude_desktop_config.jsonOn Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"webrequest": {
"command": "node",
"args": ["/ABSOLUTE/PATH/TO/webrequest-mcp-server/build/index.js"]
}
}
}
Using with Cursor
Add to your Cursor MCP settings configuration file:
{
"mcpServers": {
"webrequest": {
"command": "node",
"args": ["/ABSOLUTE/PATH/TO/webrequest-mcp-server/build/index.js"]
}
}
}
Debugging
Since MCP servers communicate over stdio, debugging can be challenging. We recommend using the MCP Inspector:
npm run inspector
The Inspector will provide a URL to access debugging tools in your browser.
Configuration
The server configuration:
- Max response size: 50,000 characters (responses larger than this are truncated)
- Supported methods: GET, POST, PUT, DELETE, PATCH, HEAD, OPTIONS
- Content types: Automatic JSON handling, supports any content type via headers
Use Cases
This MCP server is useful for:
- Testing and interacting with REST APIs
- Fetching data from web services
- Automating HTTP requests in AI workflows
- Prototyping API integrations
- Debugging web endpoints
License
MIT License - see LICENSE file for details