Skip to main content

HTTP-4-MCP configuration tool allows you to easily convert HTTP API to MCP tool without writing code

Project description

MseeP.ai Security Assessment Badge

๐Ÿš€ HTTP-4-MCP Middleware Server

๐ŸŒŸ Introduction

HTTP-4-MCP is a powerful middleware server that magically transforms regular HTTP interfaces into MCP (Model Control Protocol) interfaces. With simple configuration, your HTTP API becomes an MCP tool instantly!

โœจ Key Features

  • ๐Ÿ”„ HTTP to MCP: One-click conversion of HTTP APIs to MCP interfaces
  • ๐Ÿ“ JSON Configuration: Simple and intuitive configuration
  • ๐ŸŒŠ SSE Support: Real-time data streaming
  • ๐ŸŽจ Visual Configuration: Drag-and-drop interface for API configuration
  • ๐Ÿ”ฅ Hot Reload: Instant configuration updates without restart
  • ๐Ÿ“Š Complete Monitoring: Detailed logging and error tracking
  • ๐Ÿ›ก๏ธ Secure & Reliable: Built-in error handling and parameter validation

๐Ÿ‘จโ€๐Ÿ’ป Author Information

GitHub Gitee

๐Ÿ“ธ System Demo

๐Ÿ–ฅ๏ธ Intuitive Visual Configuration Interface

Visual Configuration Interface

๐Ÿ”„ Powerful API Conversion

API Conversion

๐Ÿ“Š cURL Import Support

cURL Import Support

๐Ÿš€ Tool Description

Tool Description

๐Ÿš€ Quick Start

๐Ÿ“ฆ Installation

# Clone repository
git clone https://gitee.com/tght1211/http-for-mcp-server.git
# or git clone https://github.com/tght1211/http-for-mcp-server.git

cd http-for-mcp-server

# Install dependencies (recommended using uv package manager)
uv venv
uv pip install -r requirements.txt

๐ŸŽฎ Start Service

# Activate virtual environment
.venv/Scripts/activate  # Windows
source .venv/bin/activate  # Linux/Mac

# Start main server
uv run run.py

# Start configuration UI (optional)
uv run run_config_ui.py

๐ŸŽฏ Usage Guide

1๏ธโƒฃ Configure API

Method 1: ๐ŸŽจ Visual Configuration (Recommended)

  1. Visit http://localhost:8002
  2. Click "Add New Interface"
  3. Fill in configuration parameters
  4. Save and apply instantly!

Method 2: ๐Ÿ“ JSON Configuration

{
  "tools": [
      {
          "name": "weather_api",
          "description": "Get real-time weather information for a specified city, including temperature, humidity, weather conditions, wind direction, and wind speed.\n    \n    This tool uses a two-step query process:\n    1. First, get the precise location ID through city name\n    2. Then, query real-time weather data using the location ID\n    \n    Example usage:\n    - Get weather information for \"Beijing\"\n    - Get real-time weather conditions for \"Shanghai\"\n    - Query temperature and humidity for \"Guangzhou\"\n    \n    Returns formatted weather information text, including city name, weather conditions, temperature, humidity, wind direction, and wind speed.",
          "url": "https://devapi.qweather.com/v7/weather/now",
          "method": "GET",
          "params": {
              "location": {
                  "type": "string",
                  "desc": "City name or ID",
                  "required": true,
                  "default": "101010100"
              },
              "key": {
                  "type": "string",
                  "desc": "API key",
                  "required": true,
                  "default": "05a3e2c04b65416e912088b76a7a487e"
              },
              "lang": {
                  "type": "string",
                  "desc": "Language",
                  "required": false,
                  "default": "zh"
              },
              "unit": {
                  "type": "string",
                  "desc": "Unit system",
                  "required": false,
                  "default": "m"
              }
          },
          "headers": {
              "User-Agent": "weather-app/1.0"
          },
          "response": {
              "code": {
                  "path": "code",
                  "desc": "Response status code"
              },
              "updateTime": {
                  "path": "updateTime",
                  "desc": "Data update time"
              },
              "fxLink": {
                  "path": "fxLink",
                  "desc": "Detailed weather information link"
              },
              "now": {
                  "path": "now",
                  "desc": "Real-time weather data object"
              },
              "now_obsTime": {
                  "path": "now.obsTime",
                  "desc": "Actual observation time"
              },
              "now_temp": {
                  "path": "now.temp",
                  "desc": "Current temperature (Celsius)"
              },
              "now_feelsLike": {
                  "path": "now.feelsLike",
                  "desc": "Feels like temperature (Celsius)"
              },
              "now_icon": {
                  "path": "now.icon",
                  "desc": "Weather icon code"
              },
              "now_text": {
                  "path": "now.text",
                  "desc": "Weather phenomenon text description"
              },
              "now_wind360": {
                  "path": "now.wind360",
                  "desc": "Wind direction 360-degree angle"
              },
              "now_windDir": {
                  "path": "now.windDir",
                  "desc": "Wind direction description"
              },
              "now_windScale": {
                  "path": "now.windScale",
                  "desc": "Wind scale"
              },
              "now_windSpeed": {
                  "path": "now.windSpeed",
                  "desc": "Wind speed (km/h)"
              },
              "now_humidity": {
                  "path": "now.humidity",
                  "desc": "Relative humidity percentage"
              },
              "now_precip": {
                  "path": "now.precip",
                  "desc": "Precipitation (mm)"
              },
              "now_pressure": {
                  "path": "now.pressure",
                  "desc": "Atmospheric pressure (hPa)"
              },
              "now_vis": {
                  "path": "now.vis",
                  "desc": "Visibility (km)"
              },
              "now_cloud": {
                  "path": "now.cloud",
                  "desc": "Cloud coverage percentage"
              },
              "now_dew": {
                  "path": "now.dew",
                  "desc": "Dew point temperature (Celsius)"
              }
          },
          "response_mode": "metadata"
      }
  ]
}

2๏ธโƒฃ Connect to MCP

# SSE connection URL
ws_url = "http://localhost:8000/mcp/sse"

๐Ÿ› ๏ธ Project Structure

๐Ÿ“ฆ http-for-mcp-server
 โ”ฃ ๐Ÿ“‚ config/            # Configuration files
 โ”ฃ ๐Ÿ“‚ demo/             # Example code
 โ”ฃ ๐Ÿ“‚ static/           # Static resources
 โ”ฃ ๐Ÿ“œ mcp_server.py     # Main server
 โ”ฃ ๐Ÿ“œ config_ui.py      # Configuration UI
 โ”ฃ ๐Ÿ“œ run.py           # Startup script
 โ”— ๐Ÿ“œ requirements.txt  # Dependencies

๐Ÿ“š Configuration Reference

๐Ÿ”ง Global Configuration

Configuration Description Default
๐ŸŒ host Server address "0.0.0.0"
๐Ÿ”Œ port Server port 8000
๐Ÿ› debug Debug mode false
๐Ÿ“ log_level Log level "info"

๐ŸŽ‰ Special Features

๐Ÿ”„ cURL Import

Paste cURL command directly, automatically generate configuration:

curl -X GET 'https://api.example.com/weather?city=beijing'

๐ŸŽจ Pixel Art Interface

  • ๐ŸŽฎ Game-like configuration experience
  • ๐ŸŽฏ Drag-and-drop parameter setting
  • ๐Ÿ“Š Real-time request test
  • ๐Ÿ”„ Automatically generate configuration

๐Ÿค Contribution Guide

  1. ๐Ÿด Fork this repository
  2. ๐Ÿ”ง Create feature branch
  3. ๐Ÿ“ Submit changes
  4. ๐Ÿš€ Push branch
  5. ๐Ÿ“ฌ Submit Pull Request

๐Ÿ“ž Get Help

  • ๐Ÿ“ง Submit Issue
  • ๐Ÿ’ฌ Join Discussion Group
  • ๐Ÿ“š View Wiki

๐Ÿ“„ Open Source License

This project uses the MIT license - see LICENSE file


โญ๏ธ If this project helps you, please give a star!โญ๏ธ

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

iflow_mcp_http_4_mcp-1.0.0.tar.gz (17.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

iflow_mcp_http_4_mcp-1.0.0-py3-none-any.whl (18.9 kB view details)

Uploaded Python 3

File details

Details for the file iflow_mcp_http_4_mcp-1.0.0.tar.gz.

File metadata

  • Download URL: iflow_mcp_http_4_mcp-1.0.0.tar.gz
  • Upload date:
  • Size: 17.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.10 {"installer":{"name":"uv","version":"0.9.10"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for iflow_mcp_http_4_mcp-1.0.0.tar.gz
Algorithm Hash digest
SHA256 1ac056461bdcb2675abb0e370a317da228e4e2830e9bc3fc1bb176685be97000
MD5 1ebac0459a76fbc75441c82a27c6d638
BLAKE2b-256 c1b1f561776bef6bff3f6dc789469dacab05d240ffbb5fc26a0fb1d0aef92880

See more details on using hashes here.

File details

Details for the file iflow_mcp_http_4_mcp-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: iflow_mcp_http_4_mcp-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 18.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.10 {"installer":{"name":"uv","version":"0.9.10"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for iflow_mcp_http_4_mcp-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a9c614fae887acf0505af12f9a8d6772c042e41a23d402d78a3fd8594029e13b
MD5 0647cf653eb3e07a48eb264dbf0dbf91
BLAKE2b-256 01fac9f9ad4de2cd0465104506d09dbb9506e6cac6496ea10d5d5a90e88e121d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page