mcpField
M
mcp-proxy-server

mcp-proxy-server

本地服务
github.com/pyleeai开发工具074 周前更新

关于 mcp-proxy-server

mcp-proxy-server 是面向需要连接多个后端 MCP 服务的代理。它从必需的配置 URL 读取 JSON 定义,并可选地将日志写入指定路径。

主要功能

  1. 01连接多个后端 MCP 服务
  2. 02从 URL 加载 JSON 配置
  3. 03可选设置日志文件路径

适用场景

  1. 01将 MCP 客户端连接路由至已配置的后端
  2. 02通过托管的 JSON 配置管理后端定义

MCP 相关

它充当 MCP 代理,根据配置连接客户端与多个后端 MCP 服务。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

mcp-proxy-server

适用于模型上下文协议(MCP)的代理服务器,可连接多个后端 MCP 服务器。

入门

安装
全局安装

全局安装此软件包:

npm install -g @pyleeai/mcp-proxy-server
作为库使用

在项目中安装:

npm install @pyleeai/mcp-proxy-server

使用方法

如果已全局安装:

mcp-proxy-server
配置

MCP Proxy Server 可通过环境变量进行配置。

CONFIGURATION_URL="http://example.com/configuration"
LOG_PATH=./logs/mcp-proxy-server.log
环境变量
  • CONFIGURATION_URL 为必填项。
  • LOG_PATH 为可选项。
配置 JSON

CONFIGURATION_URL 指向包含代理服务器配置的 JSON。其结构如下:

{
    "mcp": {
        "servers": {
            "fetch": {
                "args": [
                    "mcp-server-fetch"
                ],
                "command": "uvx"
            },
            "filesystem": {
                "args": [
                    "-y",
                    "@modelcontextprotocol/server-filesystem",
                    "."
                ],
                "command": "npx"
            }
        }
    }
}

参与贡献

欢迎参与贡献!以下是为项目贡献代码的方式:

先决条件
  • Bun v1.2.2 或更高版本
设置
  1. 克隆仓库:
git clone https://github.com/your-username/mcp-proxy-server.git
cd mcp-proxy-server
  1. 安装依赖:
bun install
使用方法
运行服务器

启动服务器:

bun start
脚本

项目包含多个 npm 脚本,可用于辅助开发:

  • bun lint - 使用 Biome 检查代码库
  • bun format - 使用 Biome 格式化代码库
  • bun check - 同时运行 lint 和 format 检查
  • bun typecheck - 检查 TypeScript 类型,但不生成输出
  • bun test - 运行所有测试
  • bun start - 启动开发服务器
  • bun build - 构建项目
  • bun inspector - 运行 MCP 检查器工具
代码风格

本项目使用 Biome 进行代码格式化和检查。请运行以下命令,确保代码符合这些规范:

bun check
测试

本项目使用 Bun 内置的测试运行器进行全面测试。

运行测试
# Run all tests
bun test

# Run tests with watch mode (auto-rerun on file changes)
bun test --watch

# Run tests with coverage reporting
bun test --coverage
测试结构

测试套件位于 test 目录下,并按以下子目录组织:

  • test/unit - 针对各个组件的单元测试
  • test/integration - 针对组合组件的集成测试
发布

使用 Bun 将软件包发布到 npm:

  1. 更新 package.json 中的版本:
bun run npm version [patch|minor|major]
  1. 构建软件包:
bun run build
  1. 发布到 npm:
bun publish

请注意,发布需要相应的 npm 凭据和访问权限。

发布流程

本项目使用 GoReleaser 创建并发布版本。

GoReleaser 配置

发布流程定义在 .goreleaser.yaml 中,包含:

  • 为多个平台构建(Linux、macOS、Windows)
  • 支持 x64 和 arm64 架构
  • 创建可分发的归档文件
  • 生成变更日志
  • 创建 GitHub 发布版本
创建发布版本
  1. 为新版本打标签:
git tag -a v1.0.0 -m "Release v1.0.0"
  1. 推送标签:
git push origin v1.0.0
  1. CI/CD 流水线将自动:
    • 为所有目标平台构建
    • 创建用于分发的归档文件
    • 生成变更日志
    • 在 GitHub 上发布版本

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。