GitHub MCP Server 怎么配置 toolsets 与单个 tools 来控制可用工具范围?

发布时间:2026/9/10 8:46:58

GitHub MCP Server 怎么配置 toolsets 与单个 tools 来控制可用工具范围? GitHub MCP Server 怎么配置 toolsets 与单个 tools 来控制可用工具范围【免费下载链接】github-mcp-serverGitHubs official MCP Server项目地址: https://gitcode.com/GitHub_Trending/gi/github-mcp-server如果你的 MCP 客户端里 GitHub MCP Server 暴露的工具太多影响模型选工具或占用上下文就可以用toolsets工具集和tools单个工具两级控制把可用范围收敛到需要的部分。本地服务通过--toolsets/--tools命令行参数或GITHUB_TOOLSETS/GITHUB_TOOLS环境变量配置远程托管服务https://api.githubcopilot.com/mcp/通过X-MCP-Toolsets/X-MCP-Tools请求头或/x/{toolset}URL 路径配置。两者概念一致下文分开给出各自的完整写法。配置前先知道这几条规则默认行为不指定任何 toolset 时服务器使用默认 toolsetscontext、issues、pull_requests、repos、users。组合是增量的additivetools和toolsets可以同时使用工具集里已有工具再加单个工具不会互相覆盖。例如--toolsets repos,issues --tools get_gist会注册repos和issues的全部工具外加get_gist。排除优先--exclude-tools/X-MCP-Exclude-Tools列出的工具无论如何都不可用即使其 toolset 已启用或该工具被显式加进--tools。只读模式优先级最高开启--read-only/X-MCP-Readonly后写入类工具即使被显式请求也会被禁用例如issues工具集里的create_issue在只读模式下不可用。名称必须精确工具名必须完全匹配例如get_file_contents而不是getFileContents。本地服务遇到无效工具名会在启动时报错退出。toolset 不止包含 Tools相应的 MCP Resources 和 Prompts 在适用时也会随 toolset 一起启用。本地服务的优先级GITHUB_TOOLSETS环境变量与--toolsets同时提供时环境变量优先。可用的 toolset 全表见 README 的 Available Toolsets 章节常用的有context强烈建议保留提供当前用户与上下文信息、repos、issues、pull_requests、actions、code_security、gists等完整工具清单见 README 的 Tools 章节配置时必须按那里列出的精确名称填写。本地服务用 toolsets 收窄范围以 Docker 方式运行时把 toolset 允许列表放进GITHUB_TOOLSETS环境变量your-token替换为你自己的 GitHub PATdocker run -i --rm \ -e GITHUB_PERSONAL_ACCESS_TOKENyour-token \ -e GITHUB_TOOLSETSrepos,issues,pull_requests,actions,code_security \ ghcr.io/github/github-mcp-server不走 Docker 时直接给进程传参或设置环境变量github-mcp-server --toolsets repos,issues,pull_requests,actions,code_securityGITHUB_TOOLSETSrepos,issues,pull_requests,actions,code_security ./github-mcp-server两个特殊值all启用全部可用 toolset./github-mcp-server --toolsets alldefault等价于默认的五个 toolset。想保留默认再加一些时写GITHUB_TOOLSETSdefault,stargazers ./github-mcp-server。本地服务只开单个工具或与 toolsets 叠加明确知道只需要哪几个工具时用--tools传逗号分隔的精确工具名适合优化上下文只加载会用到的工具github-mcp-server --tools get_file_contents,issue_read,create_pull_requestGITHUB_TOOLSget_file_contents,issue_read,create_pull_request ./github-mcp-servertoolset 加单个工具的典型写法——整组启用repos和issues再从gists里只挑get_gistgithub-mcp-server --toolsets repos,issues --tools get_gistDocker 下同样通过环境变量叠加# Tools only docker run -i --rm \ -e GITHUB_PERSONAL_ACCESS_TOKENyour-token \ -e GITHUB_TOOLSget_file_contents,issue_read,create_pull_request \ ghcr.io/github/github-mcp-server # Tools combined with toolsets (additive) docker run -i --rm \ -e GITHUB_PERSONAL_ACCESS_TOKENyour-token \ -e GITHUB_TOOLSETSrepos,issues \ -e GITHUB_TOOLSget_gist \ ghcr.io/github/github-mcp-server想开大工具集但砍掉个别危险工具时用排除参数github-mcp-server --toolsets pull_requests --exclude-toolscreate_pull_request,merge_pull_request结果pull_requests工具集全部启用但create_pull_request与merge_pull_request被移除只剩读取和 review 类工具。在 MCP 客户端配置文件中怎么写VS Code 的 MCP 配置用 JSON 描述进程args里带stdio子命令加参数即可${input:github_token}是 VS Code 安装流程中的输入变量由 VS Code 在配置时让你填入 token其他 MCP 宿主则直接写自己的 token 环境变量各宿主的配置语法参考 安装指南{ type: stdio, command: go, args: [ run, ./cmd/github-mcp-server, stdio, --toolsetsrepos,issues, --toolsget_gist,pull_request_read ], env: { GITHUB_PERSONAL_ACCESS_TOKEN: ${input:github_token} } }对应效果仓库和 issue 相关工具全开外加get_gist与pull_request_read。更多组合示例最小配置、只读模式等见服务器配置指南。远程服务用请求头或 URL 路径远程服务没有启动参数配置方式是给 HTTP 连接加请求头。同时启用 toolset 与单个工具{ type: http, url: https://api.githubcopilot.com/mcp/, headers: { X-MCP-Toolsets: repos,issues, X-MCP-Tools: get_gist,pull_request_read } }排除工具与只读模式同理用X-MCP-Exclude-Tools、X-MCP-Readonly头。也可以只用 URL 路径选单个toolset例如{ type: http, url: https://api.githubcopilot.com/mcp/x/issues/readonly }路径规则要注意{toolset}只能写一个工具集不支持逗号分隔列表要组合多个 toolset 必须用X-MCP-Toolsets头/x/all表示全部 toolsetURL 尾部可追加/readonly、/insiders等修饰。完整路径模式与请求头说明见远程服务文档。结果验证与常见问题排查配置正确与否可以从这几条文档明确的行为来判断本地服务--tools里出现无效工具名时服务器启动失败并给出错误信息。启动报错时先检查工具名拼写对照 Tools 列表 使用精确名称。远程服务X-MCP-Tools里的无效工具会抛错并阻止服务器启动而X-MCP-Toolsets里的无效或未知 toolset 会被静默忽略不报错也不阻止启动——如果远程端看起来没生效优先怀疑 toolset 名拼错了。工具缺失官方排查表给出的对应关系是Tools missing → Toolset not enabled → 添加所需 toolset 或具体工具见服务器配置指南的 Troubleshooting 一节。写入工具不生效通常是只读模式开着移除--read-only或X-MCP-Readonly头即可。工具改名工具重命名后旧名会保留为别名旧配置不会直接报错详见工具重命名说明。两个容易踩的边界远程服务有本地没有的 toolsetcopilot、copilot_spaces、github_support_docs_search见 README它们只在远程端可用反过来本地图表里列的 toolset 在远程端都可用。toolsets/tools 控制的是暴露给模型哪些工具另外还有一层独立的、自动生效的 scope 过滤经典 PATghp_前缀会在启动时按 token 权限过滤工具这不需要配置与本文的参数不冲突。按上面的顺序操作即可先确定用本地还是远程选定要保留的 toolset 列表必要时叠加单个工具或排除项最后在 MCP 客户端重启服务器确认启动无报错、客户端里出现的工具列表与配置一致。【免费下载链接】github-mcp-serverGitHubs official MCP Server项目地址: https://gitcode.com/GitHub_Trending/gi/github-mcp-server创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/9/10 8:41:57

电源设计实战指南:从LDO选型到PCB布线避坑经验

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/10 8:41:57

Unity3D MOBA技能系统框架设计:从状态机到效果结算的完整实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/10 10:37:18

CANN/ge编译选项设置

aclSetCompileopt 【免费下载链接】ge GE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、TensorFl…

2026/9/10 10:37:18

如何把老 SWF 跑起来:Ruffle Flash 模拟器快速上手指南

如何把老 SWF 跑起来:Ruffle Flash 模拟器快速上手指南 【免费下载链接】ruffle A Flash Player emulator written in Rust 项目地址: https://gitcode.com/GitHub_Trending/ru/ruffle Ruffle 是一个用 Rust 编写的 Flash Player 模拟器(当前版本…

2026/9/10 10:37:18

没有AB实验怎么做因果推断?PSM倾向得分匹配实战指南

做AB实验做得久了,你会慢慢意识到一个扎心的事实:不是所有场景都能给你一个干净的随机分组。用户在产品里已经走了一圈,你没法把他们“打回原形”重新抽签。这时候还硬套AB实验的框架,出来的结论不是偏的就是假的,甚至…

2026/9/9 13:11:35

超人会飞不算本事:系统稳定依赖清晰规则与边界设计

开头先不绕弯子。“#斯坦李吐槽dc 所以超人是无缘无故会飞的嘛哈哈哈哈哈哈哈锤哥真是技术人才啊!#雷神 #复联”这类调侃式短标题,第一波冲击力在于它把两个宇宙的角色塞进同一个吐槽箱里,但细想一下就能发现,它真正碰到的根本不是…

2026/9/8 7:15:15

超人VS蜘蛛侠:拆解超级IP的影响力与传播方法论

把“蜘蛛侠 vs 超人”放在 CSDN 上聊,可能很多人第一反应是走错片场了。但如果把这两个角色看成“两个持续运营了 80 多年的文化产品”,你会发现,这场比较本质上是两个不同 IP 策略的长期结果对比:超人赢在定义了整个超级英雄题材…

2026/9/9 16:31:09

基于CNN的调制信号识别:MATLAB实现时频图分类实战

简介:本资源是一套面向通信工程与信号处理方向学习者、研究者的深度学习实践方案,聚焦调制信号自动检测与识别这一典型无线通信任务,解决传统方法依赖人工特征、低信噪比下性能下降等痛点。压缩包共12个文件(10.73MB)&…

2026/9/10 0:00:55

目录对比去重实战:用哈希算法精准清理重复文件

我电脑里现在还有一块换了三次机的“数据墓地”硬盘,里面存着2016年以前所有旧笔记本的完整备份。平时不觉得有什么,直到前阵子想把它整理归档,发现同一个安装包、同一批照片、同一份论文草稿,在几个不同的备份目录里反复出现。更…

2026/9/10 0:00:55

Leaflet离线地图完整Demo合集:内网部署与坐标纠偏实战

简介:这是一份面向Web GIS开发者的LeafLet离线地图示例合集,帮助开发者快速掌握离线地图从搭建到交互的完整流程。压缩包共723个文件,大小14.06MB,以319个js脚本、175个html页面和29个css样式文件为主体,配合png/svg图…

2026/9/10 0:00:55

MATLAB读取Rinex 3.02观测文件:多系统GNSS数据解析实战

简介:基于MATLAB开发的Rinex3.02版观测文件(o文件)读取代码包,面向卫星定位导航方向的学习者与研究人员,用于解决新版观测文件的数据解析、历元提取与时间转换问题。压缩包共4个文件,包含两个m脚本、一个19…

2026/9/7 16:23:03

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/7 22:46:00

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/9 10:21:54

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码