HTTP Requests
An MCP server for making HTTP requests, enabling LLMs to fetch and process web content.
mcp-server-requests
An MCP server that provides HTTP request capabilities, enabling LLMs to fetch and process web content.
Features
- fetch: Web content fetching tool
- Supports converting web content to Markdown format
- Supports filtering web content (non-visual elements like script, style, meta)
- Feeds into LLM context, reducing token consumption through Markdown conversion or filtering non-visual elements
- fetch_to_file: Web content saving tool
- Web content is not fed into LLM context, avoiding excessive token consumption
- http_request: Generic HTTP request tool
- Full HTTP method support (GET, POST, PUT, PATCH, DELETE)
- Supports custom request headers
- Supports text and JSON request bodies
- Returns complete HTTP response information (status, headers, body) for LLMs
- Supports custom User-Agent
- Supports random User-Agent generation
- Supports using MCP Root capability, controlled by
--use-root, usable with MCP Clients that haverootcapability
Installation
git clone https://github.com/coucya/mcp-server-requests.git
cd mcp-server-requests
pip install .
Usage
MCP Server Configuration
{
"mcpServers": {
"mcp-server-requests": {
"command": "python",
"args": [
"-m",
"mcp_server_requests"
]
}
}
}
Command Line
0. Start MCP Server
Start the MCP server directly:
python -m mcp_server_requests
Options
--user-agent TEXT: Specify custom User-Agent string--random-user-agent [browser=xxx;os=xxx]: Use randomly generated User-Agent--force-user-agent: Force using command line specified User-Agent, ignoring LLM provided UA--list-os-and-browser: List available browsers and OS for random User-Agent generation--use-root: Enable workspace root support for file operations (requires MCP Client withrootcapability support)--allow-external-file-access: Allow file operations outside workspace (only with --use-root)
Option Details
-
--user-agentand--random-user-agentare mutually exclusive and cannot be used together -
User-Agent setup methods:
- Custom string:
--user-agent "Mozilla/5.0 (...)" - Fully random:
--random-user-agent - Conditional random generation:
- Specify browser type:
--random-user-agent browser=chrome - Specify OS:
--random-user-agent os=windows - Both browser and OS:
--random-user-agent browser=chrome;os=windows - Note: Browser and OS parameters are case insensitive
- Specify browser type:
- Custom string:
-
Use
--list-os-and-browserto view available browsers and OS for--random-user-agent. -
--force-user-agentoption controls User-Agent priority:- When
--force-user-agentis enabled: Force using command-line specified User-Agent (via--user-agentor--random-user-agent) - When
--force-user-agentis disabled:- If LLM provides User-Agent in
headers, use the LLM-provided one - Otherwise use command-line specified User-Agent
- If LLM provides User-Agent in
- If none specified, use default User-Agent:
Mozilla/5.0 (compatible; mcp-server-requests/{version})
- When
-
--use-rootenables file operations relative to workspace root:- Prerequisite: Requires MCP Client with
rootcapability support - When enabled:
fetch_to_fileallows absolute paths or relative paths, relative paths are relative to workspace root - When disabled:
fetch_to_filemust use absolute paths, files are saved to specified absolute path locations
- Prerequisite: Requires MCP Client with
-
--allow-external-file-access: Controls whether file operations outside workspace are allowed (only usable with --use-root)- Prerequisite: Requires
--use-rootto be enabled, this option has no effect if--use-rootis not enabled - When enabled:
fetch_to_filecan operate on files outside the workspace directory - When disabled:
fetch_to_filecan only operate on files within the workspace directory, even if absolute paths are provided, files outside the workspace cannot be operated on
- Prerequisite: Requires
1. fetch - Fetch Web Content
The fetch subcommand is equivalent to the MCP fetch tool functionality, used to demonstrate fetch capabilities.
python -m mcp_server_requests fetch <URL> [--return-content {raw,basic_clean,strict_clean,markdown}]
Options:
--return-content: Return content type (default: markdown)- raw: Return raw unprocessed HTML content (includes response headers)
- basic_clean: Basic cleanup, removing non-display tags (script, style, meta, etc.) while preserving structure
- strict_clean: Strict cleanup, removing non-display tags and most HTML attributes, keeping only essential structure
- markdown: Convert HTML to clean Markdown format
Functionality
MCP Tool Details
1. fetch - Fetch Web Content
Fetch content from the specified URL and return it in the specified format.
Parameters:
- url (required, string): Target URL, supports HTTP/HTTPS protocols
- return_content (optional, enum): Content processing format, defaults to "markdown"
"raw": Return raw HTML content with complete HTTP response headers"basic_clean": Basic cleanup, removing non-display tags (script, style, meta, etc.) while preserving HTML structure"strict_clean": Strict cleanup, removing non-display tags and most HTML attributes, keeping only essential structure"markdown": Convert HTML content to clean Markdown format
Returns: Content processed according to the specified format
2. fetch_to_file - Fetch Web Content and Save to File
Fetch content from the specified URL and save it to a file.
Parameters:
- url (required, string): Target URL
- file_path (required, string): File save path
- When
--use-rootis enabled: Must be a relative path (relative to workspace root) - When
--use-rootis disabled: Must be an absolute path
- When
- return_content (optional, enum): Content processing format, defaults to "markdown", same options as fetch tool
Features:
- Automatically creates parent directories for nested paths
- All files saved with UTF-8 encoding
- When
--use-rootis enabled, can work with--allow-external-file-accessto control file access scope
Returns: Operation result or error message
3. http_request - Generic HTTP Request Tool
Send HTTP requests using any method and get complete responses.
Parameters:
- url (required, string): Target URL
- method (optional, enum): HTTP method, defaults to "GET"
"GET","POST","PUT","PATCH","DELETE"
- query (optional, object): URL query parameters as key-value pairs, automatically URL-encoded
- headers (optional, object): Custom HTTP request headers
- data (optional, string): Text format request body data, mutually exclusive with json parameter
- json (optional, any type): JSON format request body data, mutually exclusive with data parameter
Parameter Constraints:
dataandjsonparameters cannot be used together- When using
jsonparameter,Content-Type: application/jsonis automatically set - When using
dataparameter, it's recommended to manually set appropriateContent-Type
Returns: Complete HTTP response (status line, response headers, and response body)
Note: Individual HTTP method tools (http_get, http_post, http_put, http_patch, http_delete) have been removed and replaced by the unified http_request tool.
License
MIT
関連サーバー
Bright Data
スポンサーDiscover, extract, and interact with the web - one interface powering automated access across the public internet.
Playwright Record MCP
Browser automation using Playwright with video recording. Enables LLMs to interact with web pages through structured accessibility snapshots.
KonbiniAPI
KonbiniAPI gives AI agents direct access to social media data — profiles, posts, videos, comments, and search results.
SERP Scraper MCP
Extract structured Google & Bing results — organic, ads, featured snippets, PAA, related searches. Keyword research and rank checking. Free alternative to SerpApi. No API keys required.
Buienradar
Fetches precipitation data for a given latitude and longitude using Buienradar.
youtube-summarize
MCP server that fetches YouTube video transcripts and summarizes them using your LLM client
Sports Trading Card Agent
Real-time sports card pricing, market analysis, arbitrage detection, grading ROI, investment advice, and player stats (NBA/NFL/MLB). 9 tools for AI agents helping collectors and investors.
Skrapr
An intelligent web scraping tool using AI and browser automation to extract structured data from websites.
302AI BrowserUse
An AI-powered browser automation server for natural language control and web research.
Playwright MCP
Automate web interactions and perform web scraping tasks using the Playwright framework.
neo-vision
Spatial DOM maps for AI agent browser navigation with anti-bot stealth and human-like behavioral simulation