Skip to main content

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

  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!⭐️

Metadata

Release files for iflow-mcp_http-4-mcp 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for iflow-mcp_http-4-mcp 1.0.0
File Size Uploaded
iflow_mcp_http_4_mcp-1.0.0.tar.gz 17.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for iflow-mcp_http-4-mcp 1.0.0
File Interpreter ABI Platform
iflow_mcp_http_4_mcp-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 36.2 kB

Release files / iflow_mcp_http_4_mcp-1.0.0.tar.gz

Download URL iflow_mcp_http_4_mcp-1.0.0.tar.gz
Size 17.4 kB
Tags Source
SHA-256 checksum
How to use checksums
1ac056461bdcb2675abb0e370a317da228e4e2830e9bc3fc1bb176685be97000
BLAKE2b-256 checksum
How to use checksums
c1b1f561776bef6bff3f6dc789469dacab05d240ffbb5fc26a0fb1d0aef92880
Upload date
Uploaded using Trusted Publishing?
What is 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}

Release files / iflow_mcp_http_4_mcp-1.0.0-py3-none-any.whl

Download URL iflow_mcp_http_4_mcp-1.0.0-py3-none-any.whl
Size 18.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a9c614fae887acf0505af12f9a8d6772c042e41a23d402d78a3fd8594029e13b
BLAKE2b-256 checksum
How to use checksums
01fac9f9ad4de2cd0465104506d09dbb9506e6cac6496ea10d5d5a90e88e121d
Upload date
Uploaded using Trusted Publishing?
What is 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}

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page