http-4-mcp

by Tght1211
Verified
Mulan Permissive Software License, Version 2
1
  • Linux
  • Apple

Integrations

  • Supports importing cURL commands to automatically generate API configurations, allowing users to easily convert existing HTTP requests into MCP tools.

  • Enables access to the project repository on Gitee, offering an alternative source for cloning and accessing the HTTP-4-MCP server codebase.

  • Provides integration with GitHub repositories for cloning and accessing the HTTP-4-MCP server codebase.

🚀 HTTP-4-MCP 中间件服务器

English |中文

🌟 简介

HTTP-4-MCP 是一款功能强大的中间件服务器,能够将常规 HTTP 接口神奇地转换为 MCP(模型控制协议)接口。只需简单配置,您的 HTTP API 即可立即成为 MCP 工具!

✨ 主要特点

  • 🔄 HTTP 到 MCP :一键将 HTTP API 转换为 MCP 接口
  • 📝 JSON 配置:简单直观的配置
  • 🌊 SSE 支持:实时数据流
  • 🎨可视化配置:用于 API 配置的拖放界面
  • 🔥热重载:无需重启即可即时更新配置
  • 📊完整监控:详细的日志记录和错误跟踪
  • 🛡️安全可靠:内置错误处理和参数验证

👨‍💻作者信息

📸系统演示

🖥️ 直观的可视化配置界面

🔄 强大的 API 转换

📊 cURL 导入支持

🚀 工具描述

🚀 快速入门

📦安装

# 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

🎮 启动服务

# 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

🎯 使用指南

1️⃣ 配置 API

方法 1:🎨 可视化配置(推荐)

  1. 访问http://localhost:8002
  2. 点击“添加新接口”
  3. 填写配置参数
  4. 立即保存并应用!

方法 2:📝 JSON 配置

{ "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️⃣ 连接到 MCP

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

🛠️ 项目结构

📦 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

📚 配置参考

🔧 全局配置

配置描述默认
🌐 主持人服务器地址“0.0.0.0”
🔌 端口服务器端口8000
🐛 调试调试模式错误的
📝 log_level日志级别“信息”

🎉 特殊功能

🔄 cURL 导入

直接粘贴cURL命令,自动生成配置:

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

🎨像素艺术界面

  • 🎮 游戏般的配置体验
  • 🎯 拖放参数设置
  • 📊 实时请求测试
  • 🔄 自动生成配置

🤝 贡献指南

  1. 🍴 Fork 这个仓库
  2. 🔧 创建功能分支
  3. 📝 提交更改
  4. 🚀 推送分支
  5. 📬 提交 Pull 请求

📞 获取帮助

  • 📧 提交问题
  • 💬 加入讨论组
  • 📚 查看维基

📄 开源许可证

该项目使用 MIT 许可证 - 请参阅LICENSE文件


ID: kgdh0uwv9z