如何从MCP服务器选择性加载部分工具?
选择性加载MCP服务器工具的可行方案
目前有三种实用方法可以实现从MCP服务器选择性加载工具,解决token占用过高的问题:
1. 修改本地配置文件过滤工具
编辑~/.claude.json文件,在GitHub MCP服务器的配置段中添加工具过滤规则:
- 白名单模式:通过
allowed_tools字段指定仅加载需要的工具,示例配置:
{ "mcp_servers": [ { "id": "github", "url": "https://github-mcp-server.example.com", "allowed_tools": [ "mcp__github__get_repository", "mcp__github__get_commit", "mcp__github__list_pull_requests" ] } ] }
- 黑名单模式:通过
blocked_tools字段排除不需要的工具,示例配置:
{ "mcp_servers": [ { "id": "github", "url": "https://github-mcp-server.example.com", "blocked_tools": [ "mcp__github__get_code_scanning_alert", "mcp__github__list_code_scanning_alerts" ] } ] }
2. 搭建本地代理服务器过滤工具
搭建一个简单的本地代理,转发请求到官方MCP服务器的同时拦截工具元数据:
- 拦截MCP服务器返回的工具列表,移除不需要的工具描述后再返回给Claude Code
- 适合需要复杂过滤逻辑的场景,比如按工具功能批量筛选
3. 构建自定义MCP服务器镜像
基于官方GitHub MCP服务器代码构建自定义镜像:
- 删除或注释掉代码中不需要的工具定义
- 部署自定义镜像后,Claude Code只会加载镜像中保留的工具
优先推荐使用配置文件过滤的方式,这是最轻量化、无需额外部署的解决方案。部分功能可能依赖Claude Code的版本支持,建议确认当前版本是否支持allowed_tools和blocked_tools字段。
内容的提问来源于stack exchange,提问作者Paul Razvan Berg
相关产品推荐
相关产品推荐

