Model Context Protocol (MCP) Server

Model Context Protocol (MCP) Server

site icon
2025.04.04 0
Python开发工具浏览器自动化位置服务数据存储开发效率浏览器自动化位置服务
Model Context Protocol (MCP) Server 是一个模块化的服务器,实现了 Model Context Protocol 标准,提供了多种工具,包括 GitHub、GitLab、Google Maps、内存存储和 Puppeteer 网页自动化。该服务器采用模块化架构,每个工具作为独立模块实现,并通过统一的网关路由请求。
View on GitHub

Overview

基本能力

产品定位

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

核心功能

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

适用场景

  • 开发效率工具集成(GitHub、GitLab)
  • 浏览器自动化(Puppeteer)
  • 位置服务(Google Maps)
  • 数据存储(Memory Tool)

工具列表

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

常见问题解答

无明确常见问题解答部分。

使用教程

使用依赖

  • 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

容器化部署

Docker 部署

  1. 构建 Docker 镜像: bash docker build -t mcp-server .

  2. 运行容器: bash docker run -p 5000:5000 --env-file .env mcp-server

  3. 使用 docker-compose: bash docker-compose up -d

Podman 部署

  1. 构建容器镜像: bash podman build -t mcp-server .

  2. 运行容器: bash podman run -p 5000:5000 --env-file .env mcp-server

  3. 使用 Podman Compose: bash podman-compose up -d

调试方式

启动服务器后,可以通过访问以下端点进行调试:

  • MCP Gateway: POST /mcp/gateway
  • MCP Manifest: GET /mcp/manifest
  • 直接工具访问: /tool/<tool-name>/...

许可证

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