Model Context Protocol (MCP) Server

Model Context Protocol (MCP) Server

site icon
2025.04.18 3
Python模块化服务器GitHub 工具GitLab 工具Google Maps 工具内存存储Puppeteer 自动化开发效率浏览器自动化位置服务
multi-service-mcp-server 是一个实现了 Model Context Protocol (MCP) 标准的模块化服务器,提供了一系列工具,包括 GitHub、GitLab、Google Maps、内存存储和 Puppeteer 网页自动化等功能。该服务器采用模块化架构,每个工具作为独立模块实现,并通过统一的网关进行请求路由。
View on GitHub

Overview

基本能力

产品定位

multi-service-mcp-server 是一个模块化的 MCP 服务器,旨在通过统一的协议标准提供多种工具和服务,适用于开发、自动化测试和位置服务等场景。

核心功能

  • MCP Gateway: 提供统一的端点,遵循 MCP 标准处理所有工具请求。
  • MCP Manifest: 描述所有可用工具及其功能的端点。
  • 直接工具访问: 每个工具可以通过自己的 API 端点直接访问。
  • 模块化设计: 可以轻松添加或移除工具。

适用场景

  • 开发人员需要集成 GitHub 或 GitLab 的 API 功能。
  • 需要地理编码、路线规划或地点搜索的位置服务。
  • 需要网页自动化功能,如截图、生成 PDF 或提取网页内容。
  • 需要持久化存储和检索数据的场景。

工具列表

  1. GitHub Tool: 提供与 GitHub 仓库、问题和搜索的交互功能。
  2. GitLab Tool: 提供与 GitLab 项目、问题和管道的交互功能。
  3. Google Maps Tool: 提供地理编码、路线规划和地点搜索功能。
  4. Memory Tool: 提供持久化存储和检索数据的功能。
  5. Puppeteer Tool: 提供网页截图、生成 PDF 和提取内容的功能。

常见问题解答

  • 如何添加新工具? 创建新工具文件并实现相应功能,然后在 app.py 中添加到清单,并在 tools/__init__.py 中注册蓝图。

使用教程

使用依赖

  • Python 3.8 或更高版本
  • Node.js 14 或更高版本
  • Red Hat 系 Linux 发行版(RHEL、CentOS、Fedora)或任何 Linux/macOS 系统

安装教程

  1. 克隆仓库: bash git clone https://github.com/yourusername/mcp-server.git cd mcp-server
  2. 安装 Python 依赖: bash pip install -r requirements.txt
  3. 安装 Node.js 依赖: bash npm install
  4. 创建 .env 文件并配置: SECRET_KEY=your-secret-key DEBUG=False GITHUB_TOKEN=your-github-token GITLAB_TOKEN=your-gitlab-token GMAPS_API_KEY=your-google-maps-api-key MEMORY_DB_URI=sqlite:///memory.db PUPPETEER_HEADLESS=true CHROME_PATH=/usr/bin/chromium-browser
  5. 启动服务器: bash python app.py

调试方式

  1. 检查 .env 文件配置是否正确。
  2. 确保所有依赖已安装。
  3. 启动服务器后,访问 /mcp/manifest 端点检查工具清单是否正常返回。
  4. 使用 curl 或 Postman 测试各个工具端点。

容器化部署

Docker 部署

  1. 构建镜像: bash docker build -t mcp-server .
  2. 运行容器: bash docker run -p 5000:5000 --env-file .env mcp-server

Podman 部署

  1. 构建镜像: bash podman build -t mcp-server .
  2. 运行容器: bash podman run -p 5000:5000 --env-file .env mcp-server

许可证

该项目遵循 Apache-2.0 开源许可条款,请参阅 Apache-2.0 了解完整条款。