返回 MCP 目录
public公开dns本地运行

mcgravity

McGravity是一个将多个MCP服务器连接成统一服务的工具,提供单点访问和负载均衡功能,未来将发展为完整的MCP代理服务。

article

README

🚀 McGravity 重力场

McGravity 是一款强大的工具,它能将多个 MCP(模型上下文协议)服务器整合为统一服务。借助它,用户可重复利用同一 MCP 服务器,还能近乎无限地扩展底层的 MCP 服务器连接。当前虽只是基础的 CLI 工具,但未来将发展成完整的 MCP 服务器代理,就像 Gen AI 领域的 Nginx。

🚀 快速开始

McGravity 能让你轻松连接多个 MCP 服务器,以下是使用前的安装和基本配置。

✨ 主要特性

  • 服务器整合:将多个 MCP 服务器连接成一个统一服务,方便管理和使用。
  • 无限扩展:可重复使用同一 MCP 服务器,并几乎无限扩展底层的 MCP 服务器连接。
  • 未来可期:后续将添加 Web 界面监控、高级负载均衡、健康检查、认证和访问控制、插件系统等功能。

📦 安装指南

使用以下命令安装 McGravity:

bun add mcgravity

💻 使用示例

基本用法

查看帮助信息:

mcgravity --help

配置

在项目根目录中创建一个 mcgravity.config.ts 文件,内容如下:

// mcgravity.config.ts
export default {
  port: 3000,
  upstreamUrl: 'http://localhost:5000'
}

📚 详细文档

测试

运行测试

运行以下命令以执行所有测试:

bun test

运行以下命令以仅执行集成测试:

bun test:integration

未来计划

McGravity 将会扩展以下功能:

  • Web 界面用于监控
  • 高级负载均衡
  • MCP 服务器健康检查
  • 认证和访问控制
  • 插件系统用于自定义集成

开发

TypeScript 和代码风格

此项目使用:

  • TypeScript 并基于 Bun 运行时
  • ESLint 用于代码检查,带有 TypeScript 特定规则
  • Prettier 用于代码格式化

运行以下命令:

# 使用 Prettier 格式化代码
bun run format

# 检查代码是否正确格式化
bun run format:check

# 使用 ESLint 检查代码
bun run lint

# 修复可自动修正的 ESLint 问题
bun run lint:fix

VS Code 配置为保存时自动格式化代码,并在安装推荐插件后提供代码检查信息。

贡献

欢迎贡献!请随意提出问题或提交拉取请求。

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端