项目简介

MCP Forge 是一个功能完整的 MCP 服务器实现模板,专为生产环境设计。它提供了企业级的认证授权机制,支持与主流 AI 平台(如 Claude Web、OpenAI)以及本地客户端(如 Claude Desktop、Cursor)无缝集成。

主要功能

  • OAuth 2.0 合规认证:完全符合 RFC 8414 和 RFC 9728 标准,提供受保护资源端点和授权服务器端点
  • 多种 JWT 验证策略:支持本地验证和代理验证两种方式,可与 Istio 等系统集成
  • 灵活的传输协议:支持 Stdio(标准输入输出)和 HTTP 两种通信方式
  • 生产就绪:包含完整的配置示例、Dockerfile、Helm Chart 和 CI/CD 工作流
  • 易于扩展:基于 mark3labs/mcp-go 库构建,可快速添加自定义工具和资源
  • 访问日志管理:支持字段排除和脱敏,便于审计和监控

安装步骤

前置要求

  • Go 1.24+ 版本

安装方法

  1. 克隆项目仓库
  2. 根据需求修改 'internal/tools' 目录下的代码来添加自定义工具
  3. 运行 'make run' 启动服务器(默认使用 HTTP 模式)
  4. 如需 Stdio 模式,可修改 Makefile 使用相应的配置文件

服务器配置

MCP 客户端需要配置以下信息来连接服务器:

Stdio 模式配置(推荐本地开发使用):

{
  "mcpServers": {
    "mcp-forge": {
      "command": "/path/to/mcp-forge-linux-amd64",
      "args": [
        "--config",
        "/path/to/config-stdio.yaml"
      ]
    }
  }
}

HTTP 模式配置(模拟生产环境):

{
  "mcpServers": {
    "mcp-forge": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "http://localhost:8080/mcp",
        "--transport",
        "http-only",
        "--header",
        "Authorization: Bearer ${JWT}",
        "--header",
        "X-Validated-Jwt: ${JWT}"
      ],
      "env": {
        "JWT": "your_jwt_token_here"
      }
    }
  }
}

基本使用方法

  1. 添加自定义工具:在 'internal/tools' 目录下创建新的工具文件,实现业务逻辑
  2. 配置认证方式:根据需要启用 OAuth 授权和 JWT 验证
  3. 选择传输协议:根据客户端需求配置 Stdio 或 HTTP 模式
  4. 部署到生产:使用提供的 Helm Chart 部署到 Kubernetes 集群

内置工具示例

  • 'hello_world':向指定名称的用户打招呼
  • 'whoami':显示经过验证的用户信息

信息

分类

开发者工具