Web-Request-MCP-Server

KS-GEN-AI/Web-Request-MCP-Server

3.2

If you are the rightful owner of Web-Request-MCP-Server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.

This is a TypeScript-based MCP server designed to execute HTTP requests with customizable parameters, enabling seamless interaction with web APIs.

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 pairs
    • body (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: "john@example.com" }
}

// 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.json On 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