背景
我们正在基于 gin-vue-admin 做项目上线准备。在调研 server/mcp/ 的 MCP 能力时,我们注意到静态工具(如 gva_execute、gva_analyze、gva_review、api_creator、menu_creator、角色分配系列等)目前是启动即全量注册的。对于同时具备「面向开发」与「面向业务」两类 agent 的使用场景,我们想确认当前的开放策略是否符合预期,并向社区提出一点建议。
现状(供参考,可能不完整)
server/mcp/enter.go:22:工具在 init() 中通过 RegisterTool() 注册到全局 toolRegister;
server/mcp/enter.go:32 的 RegisterAllTools() 会将注册表中所有工具无条件挂载到 MCP server;
server/mcp/server.go:11 的 NewMCPServer() 依次调用 RegisterAllTools → registerDynamicTools → registerDynamicPrompts,未发现任何按工具粒度的启用/禁用判断;
server/config/mcp.go 的 MCP 配置目前包含 Name/Version/Path/Addr/BaseURL/UpstreamBaseURL/AuthHeader/RequestTimeout,暂无工具级开关。
我们的一点顾虑
- 生产环境通常不希望 agent 直接调用「代码生成」「API/菜单/角色分配」这类开发向能力,但当前静态工具对所有能连通 MCP 端点的客户端都可见;
- 此类工具若在生产开放,输入内容若直接进入后续 AI 提示词,理论上存在被注入指令的风险(我们对此了解有限,仅为提醒);
- 动态工具(绑定业务 API 生成)已有 DB 层的
enabled 开关,但静态工具缺少同样的收敛手段,两者管控粒度不一致。
以上只是我们的使用感受,也可能是项目刻意为之(比如默认信任内网环境),如有误读请指正。
建议方向(供讨论)
- 为工具增加「开发向 / 业务向」分类标记,或在
RegisterTool 时声明级别;
- 在
MCP 配置中提供如 enabled_tools / disabled_tools 或 dev_tools_enabled 之类的开关,便于按 dev/prod 环境控制注册范围;
- 可考虑支持后台运行时动态调整工具暴露,避免改配置后重启服务;
- 若采纳,建议安全默认:未显式开启时不暴露开发向工具。
相关文件
server/mcp/enter.go
server/mcp/server.go
server/config/mcp.go
server/mcp/gva_execute.go 等静态工具
如社区已有相关规划或更好的方案,也欢迎指路,感谢维护团队的付出!
背景
我们正在基于 gin-vue-admin 做项目上线准备。在调研
server/mcp/的 MCP 能力时,我们注意到静态工具(如gva_execute、gva_analyze、gva_review、api_creator、menu_creator、角色分配系列等)目前是启动即全量注册的。对于同时具备「面向开发」与「面向业务」两类 agent 的使用场景,我们想确认当前的开放策略是否符合预期,并向社区提出一点建议。现状(供参考,可能不完整)
server/mcp/enter.go:22:工具在init()中通过RegisterTool()注册到全局toolRegister;server/mcp/enter.go:32的RegisterAllTools()会将注册表中所有工具无条件挂载到 MCP server;server/mcp/server.go:11的NewMCPServer()依次调用RegisterAllTools→registerDynamicTools→registerDynamicPrompts,未发现任何按工具粒度的启用/禁用判断;server/config/mcp.go的MCP配置目前包含 Name/Version/Path/Addr/BaseURL/UpstreamBaseURL/AuthHeader/RequestTimeout,暂无工具级开关。我们的一点顾虑
enabled开关,但静态工具缺少同样的收敛手段,两者管控粒度不一致。以上只是我们的使用感受,也可能是项目刻意为之(比如默认信任内网环境),如有误读请指正。
建议方向(供讨论)
RegisterTool时声明级别;MCP配置中提供如enabled_tools/disabled_tools或dev_tools_enabled之类的开关,便于按 dev/prod 环境控制注册范围;相关文件
server/mcp/enter.goserver/mcp/server.goserver/config/mcp.goserver/mcp/gva_execute.go等静态工具如社区已有相关规划或更好的方案,也欢迎指路,感谢维护团队的付出!