Back to MCP directory
publicPublicdnsLocal runtime

multi-service-mcp-server

一个实现Model Context Protocol标准的模块化服务器,提供多种工具集成服务。

article

README

🚀 基于模型上下文协议的通用工具服务器

这是一个基于模型上下文协议的通用工具服务器,支持多种功能模块,能为AI应用提供基础功能支持,实现标准化接口访问协议,具备灵活的功能扩展能力。

🚀 快速开始

本项目是基于模型上下文协议的通用工具服务器,支持多种功能模块,可用于为AI应用提供基础功能。以下是使用前的准备步骤:

  1. 安装依赖
  2. 初始化配置

✨ 主要特性

  • 提供github、gitlab、google maps等多种API接口访问能力
  • 实现了内存存储功能
  • 集成了网页自动化工具puppeteer
  • 支持通过/mcp/gateway路径进行协议封装请求
  • 提供/mcp/manifest路径获取服务说明文档

📦 安装指南

安装依赖

pip install flask requests googlemaps python-pptr

初始化配置

创建config.py文件:

API_KEY_GMAPS = "your_google_maps_api_key"
GITHUB_TOKEN = "your_github_oauth_token"
GITLAB_TOKEN = "your_gitlab_access_token"

💻 使用示例

基础用法

协议封装接口使用示例

发送请求:

curl -X POST http://localhost:5000/mcp/gateway \
-H "Content-Type: application/json" \
-d '{"tool":"github","action":"listRepos","parameters":{"username":"octocat"}}'

响应结果:

{
  "tool": "github",
  "action": "listRepos",
  "status": "success",
  "result": [
    {
      "id": 1296269,
      "name": "Hello-World",
      "full_name": "octocat/Hello-World",
      ...
    }
  ]
}

高级用法

功能模块直接调用接口

各工具提供独立的访问路径:

  • github: /tool/github/...
  • gitlab: /tool/gitlab/...
  • gmaps: /tool/gmaps/...
  • memory: /tool/memory/...
  • puppeteer: /tool/puppeteer/...

📚 详细文档

设计目标

  1. 为AI应用提供多种基础功能支持
  2. 实现标准化的接口访问协议
  3. 提供灵活的功能扩展能力
  4. 支持模块化开发和维护

核心组件

协议封装模块(/mcp/gateway)

  • 功能:接收符合模型上下文协议规范的请求,解析并转发到对应功能模块
  • 请求格式:
    {
      "tool": "github",
      "action": "listRepos",
      "parameters": {
        "username": "octocat"
      }
    }
    
  • 响应格式:
    {
      "tool": "github",
      "action": "listRepos",
      "status": "success",
      "result": [
        {
          "id": 1296269,
          "name": "Hello-World",
          "full_name": "octocat/Hello-World",
          ...
        }
      ]
    }
    

功能模块

  1. github工具:提供github API访问能力,支持仓库、用户、issues等操作
  2. gitlab工具:提供gitlab API访问能力,支持项目、pipeline、issues等操作
  3. gmaps工具:封装google maps服务接口,支持地理编码、路线规划等功能
  4. memory工具:实现简单内存数据库功能,支持增删改查
  5. puppeteer工具:提供网页自动化能力,支持截图、PDF生成等

贡献指南

添加新功能模块

  1. 在tools目录下创建新工具文件,如tools/newtool.py
  2. 按照现有工具的模式实现具体功能
  3. 将新工具添加到manifest中
  4. 实现对应的接口访问路由

📄 许可证

本项目采用MIT开源协议。

致谢

感谢以下项目和技术:

  • Flask框架:https://flask.palletsprojects.com/
  • Google Maps API:https://developers.google.com/maps
  • Puppeteer工具:https://github.com/puppeteer/puppeteer

⚠️ 重要提示

请勿在未经允许的情况下使用此项目进行攻击性、欺骗性或其他非法活动。

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client