Skip to main content
Glama

šŸš€ HTTP-4-MCP Middleware Server

Version Python License

English | äø­ę–‡

🌟 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

Related MCP server: Meta MCP Server

šŸ‘Øā€šŸ’» 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


-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Tght1211/http-4-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server