Token导航 LogoToken导航

MCP Server · 运维云端

Wcwl MCP Gateway

WCWL MCP Gateway是一个基于Spring Boot的工具网关平台,提供工具注册、发现和执行能力,支持权限控制和可观测性。

未说明官方级别未说明来源级核验工具 2
Java可观测性权限控制

快速开始

公开资料没有提供安装命令,按仓库或官方文档接入。
作者 / 组织
Nick-for-dp
提供方
Nick-for-dp

工具数量

2

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

1 个

MCP World

选型结论

Wcwl MCP Gateway 属于运维云端类 MCP Server,公开资料标注 2 个工具,通过传输方式未标注接入,客户端适配情况以官方文档为准,没有现成的安装命令;接入前要先准备 API Key。

分类

运维云端

传输方式

未说明

认证方式

API Key

部署方式

公开资料未说明

安装与配置

公开目录没有给出安装命令,需要按仓库 README安装;下面按同类条目的通用流程说明。

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    先确认运行方式

    公开资料没有标注传输方式,先看仓库 README,确认是本地进程还是远程地址。

  2. 2

    获取服务

    公开目录没有给出安装命令,按仓库 README里的步骤安装或获取服务。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 2 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

公开资料仍需确认:安装命令

详细介绍

WCWL MCP Gateway

MCP(Model Context Protocol)工具网关服务,提供统一的工具注册、发现和执行能力。

项目简介

WCWL MCP Gateway 是一个基于 Spring Boot 3.2 构建的工具网关平台,主要功能包括:

  • 工具注册 - 支持静态注册(@Component)和动态注册(API)
  • 工具发现 - 提供工具清单接口,返回所有可用工具及其参数定义
  • 工具执行 - 统一的工具调用入口,支持参数校验和结果返回
  • 权限控制 - 基于 JWT 的认证和基于角色的授权(RBAC)
  • 可观测性 - 集成 Spring Actuator,提供健康检查和指标监控

技术栈

技术版本说明
Java17LTS 版本
Spring Boot3.2.0核心框架
Spring Security6.x安全认证
JWT (jjwt)0.11.5Token 认证
Lombok-代码简化
MyBatis3.0.3ORM 框架(预留)

快速开始

环境要求

  • JDK 17+
  • Maven 3.6+

构建运行

# 克隆项目
git clone 
cd wcwl-mcp-gateway

# 编译
mvn clean compile

# 运行(开发环境)
mvn spring-boot:run -Dspring-boot.run.profiles=dev

# 打包
mvn clean package -DskipTests

# 运行 JAR
java -jar target/wcwl-mcp-gateway-1.0.0.jar

默认配置

  • 服务端口:8080
  • JWT 过期时间:24 小时

API 接口

认证说明

除 /actuator/** 外,所有 /mcp/** 接口需要 JWT 认证:

Authorization: Bearer 

预置测试用户

用户名密码角色
adminadmin123ADMIN, USER
useruser123USER, WAREHOUSE_VIEWER

接口列表

1. 用户登录
POST /auth/login
Content-Type: application/json

{
  "username": "admin",
  "password": "admin123"
}

响应示例:

{
  "success": true,
  "token": "eyJhbGciOiJIUzI1NiJ9...",
  "username": "admin",
  "roles": ["ADMIN", "USER"]
}
2. 获取工具清单
GET /mcp/manifest
Authorization: Bearer 

响应示例:

{
  "tools": [
    {
      "name": "get_warehouse_inventory",
      "description": "查询仓库库存",
      "inputSchema": {
        "type": "object",
        "properties": {
          "sku": {
            "type": "string",
            "description": "商品SKU编码"
          }
        },
        "required": ["sku"]
      }
    }
  ]
}
3. 执行工具
POST /mcp/tools/{toolName}
Authorization: Bearer 
Content-Type: application/json

{
  "sku": "SKU001"
}

响应示例:

{
  "result": {
    "sku": "SKU001",
    "totalQuantity": 350,
    "warehouses": [
      {
        "warehouseId": "WH001",
        "warehouseName": "北京仓",
        "quantity": 150,
        "availableQuantity": 120
      }
    ]
  }
}
4. 动态注册工具(仅 ADMIN)

第三方用户可以通过 API 注册自己的服务为 MCP 工具,无需修改代码:

POST /admin/tools/register
Authorization: Bearer 
Content-Type: application/json

{
  "name": "query_trade_data",
  "description": "查询贸易数据",
  "endpoint": "http://api.example.com/trade/query",
  "method": "POST",
  "params": [
    {"name": "startDate", "type": "string", "required": true, "description": "开始日期"},
    {"name": "endDate", "type": "string", "required": true, "description": "结束日期"},
    {"name": "tradeType", "type": "string", "required": false, "description": "贸易类型"}
  ],
  "headers": {
    "X-API-Key": "your-api-key"
  },
  "timeout": 30000,
  "requiredRoles": ["TRADE_VIEWER"]
}

参数说明:

字段必填说明
name是工具名称,小写字母+数字+下划线
description否工具描述
endpoint是第三方服务 URL
method否HTTP 方法,默认 POST
params否参数定义列表
headers否自定义请求头
timeout否超时时间(毫秒),默认 30000
requiredRoles否所需角色,为空则无限制

params 中每个参数的定义:

字段必填说明
name是参数名
type否类型:string/integer/number/boolean,默认 string
required否是否必填,默认 false
description否参数描述
5. 注销工具(仅 ADMIN)
DELETE /admin/tools/{toolName}
Authorization: Bearer 
6. 查看已注册工具列表(仅 ADMIN)
GET /admin/tools
Authorization: Bearer 
7. 健康检查
GET /actuator/health

项目结构

src/main/java/com/wcwl/mcpgateway/
├── common/                          # 通用组件
│   ├── constant/                    # 常量定义
│   │   └── ErrorCodes.java          # 错误码常量
│   ├── error/                       # 异常处理
│   │   └── GlobalExceptionHandler.java
│   ├── exception/                   # 自定义异常
│   │   └── McpToolException.java
│   └── logging/                     # 日志工具
│       └── McpToolLogger.java
├── config/                          # 配置类
│   ├── filter/                      # 过滤器
│   │   └── JwtAuthFilter.java       # JWT 认证过滤器
│   ├── ObservabilityConfig.java     # 可观测性配置
│   ├── SecurityConfig.java          # 安全配置
│   └── WebConfig.java               # Web 配置
├── controller/                      # 控制器
│   ├── admin/                       # 管理接口
│   │   └── ToolAdminController.java
│   ├── AuthController.java          # 用户登录
│   ├── ManifestController.java      # 工具清单
│   └── McpToolController.java       # 工具执行
├── dto/                             # 数据传输对象
│   ├── request/                     # 请求 DTO
│   │   └── ToolRegisterRequest.java
│   └── response/                    # 响应 DTO
│       ├── McpErrorResponse.java
│       ├── McpManifestResponse.java
│       └── McpSuccessResponse.java
├── model/                           # 数据模型
│   └── mcp/
│       ├── JsonObjectSchema.java    # Schema 构建工具
│       └── McpTool.java             # 工具接口定义
├── service/                         # 服务层
│   ├── auth/                        # 认证服务
│   │   ├── JwtTokenService.java     # JWT 服务
│   │   └── UserService.java         # 用户服务
│   └── tool/                        # 工具服务
│       ├── ToolRegistry.java        # 工具注册中心实现
│       └── ToolRegistryService.java # 工具注册中心接口
├── tools/                           # 工具实现
│   ├── BaseTool.java                # 工具基类
│   └── builtin/                     # 内置工具
│       └── SampleWarehouseTool.java # 示例工具
└── WcwlMcpGatewayApplication.java   # 启动类

开发指南

创建新工具

  1. 继承 BaseTool 类
  2. 添加 @Component 注解
  3. 实现必要方法
@Component
public class MyTool extends BaseTool {

    private static final ObjectMapper MAPPER = new ObjectMapper();

    @Override
    public String getName() {
        return "my_tool";
    }

    @Override
    public String getDescription() {
        return "我的工具描述";
    }

    @Override
    public JsonNode getInputSchema() {
        return new JsonObjectSchema()
                .addStringProperty("param1", "参数1描述")
                .addIntegerProperty("param2", "参数2描述")
                .setRequired(List.of("param1"))
                .toJsonNode();
    }

    @Override
    public Set getRequiredRoles() {
        // 返回空集合表示无角色限制
        // 返回 Set.of("ADMIN") 表示需要 ADMIN 角色
        return Set.of();
    }

    @Override
    protected JsonNode doExecute(Map args, Authentication auth) {
        String param1 = (String) args.get("param1");
        Integer param2 = (Integer) args.get("param2");
        
        // 业务逻辑...
        
        return MAPPER.valueToTree(Map.of(
                "result", "处理结果"
        ));
    }
}

错误处理

使用 McpToolException 抛出业务异常:

throw new McpToolException(ErrorCodes.INVALID_PARAM, "参数不能为空", 400);

常用错误码(定义在 ErrorCodes 类):

错误码说明
unauthorized未认证
forbidden权限不足
tool_not_found工具不存在
invalid_param参数无效
tool_execution_error执行错误

配置说明

application.yml

server:
  port: 8080

jwt:
  secret: your-secret-key-at-least-32-characters
  expiration: 86400000  # 24小时(毫秒)

logging:
  level:
    com.wcwl.mcpgateway: DEBUG

环境配置

Profile说明
dev开发环境,详细日志
prod生产环境,从环境变量读取敏感配置

生产环境需设置环境变量:

export JWT_SECRET=your-production-secret-key

安全说明

  • JWT 密钥在生产环境必须使用强密钥(至少 32 字符)
  • 默认用户仅用于开发测试,生产环境需接入数据库
  • /admin/** 接口仅 ADMIN 角色可访问
  • 动态注册工具存在安全风险,生产环境建议限制可加载的类

待完善功能

  • [ ] 用户管理(数据库存储)
  • [ ] 工具版本管理
  • [ ] API 限流
  • [ ] Swagger/OpenAPI 文档
  • [ ] 工具执行日志持久化

许可证

MIT License

工具与能力

工具数量

2

资源数量

0

提示词数量

0

能力标签

工具网关Java本地部署服务集成权限控制可观测性API管理

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

看服务状态

查询容器、日志和监控指标,定位异常。

执行部署变更

在权限范围内触发发布、回滚和环境切换。

核对资源用量

汇总用量,找出闲置和超额的部分。

选择建议

值得选的地方

  • 只提供 2 个工具,职责集中,接入后不容易误操作。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • 公开资料没有可直接复制的安装命令,第一次接入要自己找入口。
  • 需要自备API Key,没有凭据没法直接试。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在运维云端场景里让模型直接调用外部能力的人。
  • 愿意照着官方文档一步步配环境的人。

不太适合

  • 暂时拿不到API Key的人。
  • 希望一条命令就装好、不想看文档的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Wcwl MCP Gateway

MCP World · 本页

2未说明未标注1 个2026-05-17
Ui Tars Desktop 8a825770

MCP World

0stdio有1 个2026-05-17
Elie222 MCP

MCP World

0未说明未标注1 个2026-05-17
Arizeai Phoenix MCP

MCP World

0stdio有3 个2026-05-17
Unity MCP 87ee506e

MCP World

42HTTP有2 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Wcwl MCP Gateway 怎么安装?

公开目录没有给出可以直接复制的安装命令,需要按仓库 README里的步骤安装;装好后写进客户端的 MCP 配置再重启。

Wcwl MCP Gateway 怎么在 Claude Desktop、Cursor 里配置?

它是传输方式未标注,客户端配置里要写启动命令和参数,运行环境是 未标注;保存后完全退出客户端再打开,配置才会生效。

Wcwl MCP Gateway 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Wcwl MCP Gateway 需要 API Key 吗?

公开资料标注的认证方式是API Key,也就是要先拿到凭据才能连上;凭据只填在自己本地的配置里,不要写进公开仓库。

Wcwl MCP Gateway 支持哪些客户端?

公开资料没有标注具体客户端;能配置本地 MCP 命令的客户端都能接,配置方式参照官方文档。

来源信息

继续浏览同类 MCP