hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Integrations
Provides access to GitHub's API for managing repositories, issues, and performing searches, allowing users to list repositories, get repository details, search repositories, get issues, and create new issues.
Enables interaction with GitLab's API to access projects, issues, and pipelines, with capabilities to list projects, get project details, search projects, manage issues, and retrieve pipeline information.
Provides geocoding, reverse geocoding, directions, and places search capabilities through the Google Maps API, allowing users to convert addresses to coordinates, find routes between locations, and search for places.
模型上下文协议 (MCP) 服务器
一个实现模型上下文协议标准的模块化服务器,为 GitHub、GitLab、Google Maps、内存存储和 Puppeteer 网络自动化提供工具。
建筑学
MCP 服务器采用模块化架构,每个工具都作为单独的模块实现。服务器提供统一的网关,将请求路由到相应的工具。
特征
- MCP 网关:所有遵循 MCP 标准的工具请求的统一端点
- MCP 清单:描述所有可用工具及其功能的端点
- 直接工具访问:每个工具都可以通过其自己的 API 端点直接访问
- 模块化设计:根据需要轻松添加或删除工具
附带的工具
- GitHub 工具:与 GitHub 存储库、问题和搜索进行交互
- GitLab 工具:与 GitLab 项目、问题和管道进行交互
- Google 地图工具:地理编码、路线和地点搜索
- 记忆工具:持久存储和检索数据
- Puppeteer Tool :截取屏幕截图、生成 PDF 以及从网站提取内容
入门
先决条件
- Python 3.8 或更高版本
- Node.js 14 或更高版本
- 基于 Red Hat 的 Linux 发行版(RHEL、CentOS、Fedora)或任何 Linux/macOS 系统
安装
- 克隆此存储库:Copy
- 安装 Python 依赖项:Copy
- 安装 Node.js 依赖项:Copy
- 使用您的配置创建一个
.env
文件:Copy - 启动服务器:Copy
容器化部署
您可以使用 Docker 或 Podman(Red Hat 的容器引擎)运行服务器。
Docker 部署
如果您已经安装了 Docker 和 docker-compose:
- 构建 Docker 镜像:Copy
- 运行容器:Copy
- 或者,使用 docker-compose:创建
docker-compose.yml
文件:然后运行:CopyCopy
Podman 部署
对于使用 Podman 的基于 Red Hat 的系统(RHEL、CentOS、Fedora):
- 构建容器镜像:Copy
- 运行容器:Copy
- 如果您需要持久存储:注意::Copy
:Z
后缀对于启用 SELinux 的系统很重要。 - 使用 Podman Compose(如果已安装):Copy
使用 MCP 服务器
MCP 网关
MCP 网关是使用 MCP 标准访问所有工具的主要端点。
端点: POST /mcp/gateway
请求格式:
回复格式:
MCP 清单
MCP 清单描述了所有可用的工具及其功能。
端点: GET /mcp/manifest
回复格式:
直接工具访问
每个工具也可以通过其自己的 API 端点直接访问:
- GitHub:
/tool/github/...
- GitLab:
/tool/gitlab/...
- 谷歌地图:
/tool/gmaps/...
- 记忆:
/tool/memory/...
- 木偶师:
/tool/puppeteer/...
有关可用端点的详细信息,请参阅每个工具的 API 文档。
工具文档
GitHub 工具
GitHub 工具提供对存储库、问题和搜索的 GitHub API 的访问。
行动:
listRepos
:列出用户或组织的存储库getRepo
:获取特定存储库的详细信息searchRepos
:搜索存储库getIssues
:获取存储库的问题createIssue
:在存储库中创建新问题
GitLab 工具
GitLab 工具提供对项目、问题和管道的 GitLab API 的访问。
行动:
listProjects
:列出经过身份验证的用户可访问的所有项目getProject
:获取特定项目的详细信息searchProjects
:在 GitLab 上搜索项目getIssues
:获取项目问题createIssue
:在项目中创建新问题getPipelines
:获取项目的管道
谷歌地图工具
Google 地图工具提供对 Google 地图 API 的访问,以进行地理编码、路线和地点搜索。
行动:
geocode
:将地址转换为地理坐标reverseGeocode
:将地理坐标转换为地址getDirections
:获取两个地点之间的路线searchPlaces
:使用 Google Places API 搜索地点getPlaceDetails
:获取特定地点的详细信息
记忆工具
内存工具提供了用于存储和检索数据的持久键值存储。
行动:
get
:通过 key 获取内存项set
:创建或更新内存项delete
:按键删除内存项list
:列出所有内存项,并带有可选的过滤功能search
:按值搜索内存项
木偶工具
Puppeteer 工具提供网络自动化功能,可以截取屏幕截图、生成 PDF 以及从网站提取内容。
行动:
screenshot
:截取网页截图pdf
:生成网页的 PDFextract
:从网页中提取内容
贡献
欢迎贡献!以下是扩展 MCP 服务器的方法:
添加新工具
- 在
tools
目录中创建一个新文件,例如tools/newtool_tool.py
- 按照与现有工具相同的模式实施该工具
- 将该工具添加到
app.py
中的清单中 - 在
tools/__init__.py
中注册工具的蓝图
执照
该项目根据 MIT 许可证获得许可 - 有关详细信息,请参阅 LICENSE 文件。
致谢
This server cannot be installed
一个实现模型上下文协议标准的模块化服务器,提供通过统一网关与 GitHub、GitLab、Google Maps、内存存储和 Web 自动化交互的工具。
- Architecture
- Features
- Getting Started
- Using the MCP Server
- Tool Documentation
- Contributing
- License
- Acknowledgements