
Model Context Protocol (MCP) Server

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 或提取网页内容。
- 需要持久化存储和检索数据的场景。
工具列表
- GitHub Tool: 提供与 GitHub 仓库、问题和搜索的交互功能。
- GitLab Tool: 提供与 GitLab 项目、问题和管道的交互功能。
- Google Maps Tool: 提供地理编码、路线规划和地点搜索功能。
- Memory Tool: 提供持久化存储和检索数据的功能。
- Puppeteer Tool: 提供网页截图、生成 PDF 和提取内容的功能。
常见问题解答
- 如何添加新工具?
创建新工具文件并实现相应功能,然后在
app.py
中添加到清单,并在tools/__init__.py
中注册蓝图。
使用教程
使用依赖
- Python 3.8 或更高版本
- Node.js 14 或更高版本
- Red Hat 系 Linux 发行版(RHEL、CentOS、Fedora)或任何 Linux/macOS 系统
安装教程
- 克隆仓库:
bash git clone https://github.com/yourusername/mcp-server.git cd mcp-server
- 安装 Python 依赖:
bash pip install -r requirements.txt
- 安装 Node.js 依赖:
bash npm install
- 创建
.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
- 启动服务器:
bash python app.py
调试方式
- 检查
.env
文件配置是否正确。 - 确保所有依赖已安装。
- 启动服务器后,访问
/mcp/manifest
端点检查工具清单是否正常返回。 - 使用
curl
或 Postman 测试各个工具端点。
容器化部署
Docker 部署
- 构建镜像:
bash docker build -t mcp-server .
- 运行容器:
bash docker run -p 5000:5000 --env-file .env mcp-server
Podman 部署
- 构建镜像:
bash podman build -t mcp-server .
- 运行容器:
bash podman run -p 5000:5000 --env-file .env mcp-server