Cover image
Try Now
2025-04-04

Mirror ofhttps://github.com/coucya/mcp-server-requests

3 years

Works with Finder

0

Github Watches

0

Github Forks

0

Github Stars

中文


mcp-server-requests

An MCP server that provides HTTP request capabilities, enabling LLMs to fetch and process web content.

Features

  • Supports converting web content to Markdown format
  • Supports filtering out content useless for LLMs
  • Supports custom User-Agent headers
  • Supports random User-Agent headers
  • Supports custom request headers in HTTP requests
  • Supports full HTTP methods (GET, POST, PUT, DELETE, PATCH)
  • LLMs can access complete HTTP response header information

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

Option Details

  • --user-agent and --random-user-agent are 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
  • Use --list-os-and-browser to view available browsers and OS for --random-user-agent.

  • --force-user-agent controls User-Agent priority:

    • When enabled: Prioritize command line specified User-Agent (via --user-agent or --random-user-agent), ignoring LLM provided UA
    • When disabled:
      • If LLM provides User-Agent, use that
      • Otherwise use command line specified User-Agent

1. fetch - Fetch Web Content

The fetch subcommand is equivalent to the fetch tool functionality, demonstrating 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
    • basic_clean: Basic cleanup, removing non-display tags like script, style
    • strict_clean: Strict cleanup, removing non-display tags and most HTML attributes
    • markdown: Convert HTML to clean Markdown format

Example:

python -m mcp_server_requests fetch https://example.com

2. get - Execute HTTP GET Request

The get subcommand is equivalent to the http_get tool functionality, demonstrating http_get capabilities.

python -m mcp_server_requests get <URL> [--headers HEADERS]

Options:

  • --headers: Custom request headers (format: "key1=value1;key2=value2")

3. post - Execute HTTP POST Request

The post subcommand is equivalent to the http_post tool functionality, demonstrating http_post capabilities.

python -m mcp_server_requests post <URL> [--headers HEADERS] [--data TEXT]

Options:

  • --headers: Custom request headers
  • --data: Request body data

4. put - Execute HTTP PUT Request

The put subcommand is equivalent to the http_put tool functionality, demonstrating http_put capabilities.

python -m mcp_server_requests put <URL> [--headers HEADERS] [--data TEXT]

Options: Same as POST method


5. delete - Execute HTTP DELETE Request

The delete subcommand is equivalent to the http_delete tool functionality, demonstrating http_delete capabilities.

python -m mcp_server_requests delete <URL> [--headers HEADERS] [--data TEXT]

Options: Same as POST method


Functionality

Available Tools

  1. fetch - Fetch web content

    • Parameters:
      • url (required): Target URL
      • return_content (optional): Return content type ('raw', 'basic_clean', 'strict_clean', 'markdown')
        • raw: Return raw HTML content
        • basic_clean: Return filtered HTML content, removing non-display tags like script, style
        • strict_clean: Return filtered HTML content, removing non-display tags and most useless HTML attributes
        • markdown: Return HTML converted to Markdown
  2. http_get - Execute HTTP GET request

    • Parameters:
      • url (required): Target URL
      • query (optional): Query parameter key-value pairs
      • headers (optional): Custom request headers
        • LLM may specify User-Agent in headers, whether to use it is controlled by --force-user-agent (same applies to other tools)
  3. http_post - Execute HTTP POST request

    • Parameters:
      • url (required): Target URL
      • query (optional): Query parameter key-value pairs
      • headers (optional): Custom request headers
      • data (optional): Request body data (text)
      • json (optional): Request body data (JSON)
      • data and json cannot be used together
  4. http_put - Execute HTTP PUT request

    • Parameters: Same as http_post
  5. http_patch - Execute HTTP PATCH request

    • Parameters: Same as http_post
  6. http_delete - Execute HTTP DELETE request

    • Parameters: Same as http_post

License

MIT

相关推荐

  • https://maiplestudio.com
  • Find Exhibitors, Speakers and more

  • Yusuf Emre Yeşilyurt
  • I find academic articles and books for research and literature reviews.

  • https://suefel.com
  • Latest advice and best practices for custom GPT development.

  • Carlos Ferrin
  • Encuentra películas y series en plataformas de streaming.

  • Emmet Halm
  • Converts Figma frames into front-end code for various mobile frameworks.

  • Joshua Armstrong
  • Confidential guide on numerology and astrology, based of GG33 Public information

  • https://zenepic.net
  • Embark on a thrilling diplomatic quest across a galaxy on the brink of war. Navigate complex politics and alien cultures to forge peace and avert catastrophe in this immersive interstellar adventure.

  • Elijah Ng Shi Yi
  • Advanced software engineer GPT that excels through nailing the basics.

  • https://reddgr.com
  • Delivers concise Python code and interprets non-English comments

  • 林乔安妮
  • A fashion stylist GPT offering outfit suggestions for various scenarios.

  • 1Panel-dev
  • 💬 MaxKB is a ready-to-use AI chatbot that integrates Retrieval-Augmented Generation (RAG) pipelines, supports robust workflows, and provides advanced MCP tool-use capabilities.

  • ShrimpingIt
  • Micropython I2C-based manipulation of the MCP series GPIO expander, derived from Adafruit_MCP230xx

  • Dhravya
  • Collection of apple-native tools for the model context protocol.

  • Mintplex-Labs
  • The all-in-one Desktop & Docker AI application with built-in RAG, AI agents, No-code agent builder, MCP compatibility, and more.

  • open-webui
  • User-friendly AI Interface (Supports Ollama, OpenAI API, ...)

    Reviews

    3 (1)
    Avatar
    user_r0qkqilA
    2025-04-18

    As a dedicated user of the coucya_mcp-server-requests, I am thoroughly impressed by its robust functionality and seamless integration capabilities. The product, designed by MCP-Mirror, excels in efficiently managing server requests, making my workflow significantly smoother. The straightforward interface and comprehensive documentation available on the GitHub page (https://github.com/MCP-Mirror/coucya_mcp-server-requests) further enhance the user experience. Highly recommended for anyone in need of a reliable server request management tool!