基本能力
产品定位
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