[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-github--github-mcp-server":3,"tool-github--github-mcp-server":61},[4,18,26,36,44,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",149489,2,"2026-04-10T11:32:46",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",108322,"2026-04-10T11:39:34",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":32,"last_commit_at":50,"category_tags":51,"status":17},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,"2026-04-10T01:20:03",[52,13,15,14],"插件",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":32,"last_commit_at":59,"category_tags":60,"status":17},4721,"markitdown","microsoft\u002Fmarkitdown","MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具，专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片（含 OCR）、音频（含语音转录）、HTML 乃至 YouTube 链接等多种格式的解析，能够精准提取文档中的标题、列表、表格和链接等关键结构信息。\n\n在人工智能应用日益普及的今天，大语言模型（LLM）虽擅长处理文本，却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点，它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式，成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外，它还提供了 MCP（模型上下文协议）服务器，可无缝集成到 Claude Desktop 等 LLM 应用中。\n\n这款工具特别适合开发者、数据科学家及 AI 研究人员使用，尤其是那些需要构建文档检索增强生成（RAG）系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性，但其核心优势在于为机器",93400,"2026-04-06T19:52:38",[52,14],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":67,"readme_en":68,"readme_zh":69,"quickstart_zh":70,"use_case_zh":71,"hero_image_url":72,"owner_login":73,"owner_name":74,"owner_avatar_url":75,"owner_bio":76,"owner_company":77,"owner_location":77,"owner_email":77,"owner_twitter":77,"owner_website":78,"owner_url":79,"languages":80,"stars":100,"forks":101,"last_commit_at":102,"license":103,"difficulty_score":32,"env_os":104,"env_gpu":105,"env_ram":106,"env_deps":107,"category_tags":111,"github_topics":112,"view_count":32,"oss_zip_url":77,"oss_zip_packed_at":77,"status":17,"created_at":115,"updated_at":116,"faqs":117,"releases":118},6293,"github\u002Fgithub-mcp-server","github-mcp-server","GitHub's official MCP Server","github-mcp-server 是 GitHub 官方推出的模型上下文协议（MCP）服务器，旨在成为连接人工智能工具与 GitHub 平台的桥梁。它让 AI 助手、聊天机器人或智能体能够直接“读懂”你的代码仓库，通过自然语言对话即可执行浏览代码、管理议题与拉取请求、分析构建失败原因以及监控自动化工作流等复杂操作。\n\n这一工具主要解决了开发者在利用 AI 辅助编程时面临的“上下文割裂”痛点。以往 AI 往往缺乏对项目实时状态、权限细节及流水线数据的访问能力，而 github-mcp-server 赋予了 AI 真正的实操权限，使其从单纯的代码建议者转变为能主动参与项目维护和流程自动化的得力助手。\n\n它专为希望将 AI 深度集成到开发工作流中的软件工程师、技术团队及开源维护者设计。无论是日常代码审查、Bug 分派，还是复杂的 CI\u002FCD 故障排查，都能通过简单的指令高效完成。\n\n其核心技术亮点在于支持远程托管模式，用户无需本地部署即可通过 VS Code 等主流编辑器快速接入；同时提供灵活的认证机制，既支持便捷的 OAuth 登录，也兼容个人访问令牌（PAT），确保企业在不同安全策略下","github-mcp-server 是 GitHub 官方推出的模型上下文协议（MCP）服务器，旨在成为连接人工智能工具与 GitHub 平台的桥梁。它让 AI 助手、聊天机器人或智能体能够直接“读懂”你的代码仓库，通过自然语言对话即可执行浏览代码、管理议题与拉取请求、分析构建失败原因以及监控自动化工作流等复杂操作。\n\n这一工具主要解决了开发者在利用 AI 辅助编程时面临的“上下文割裂”痛点。以往 AI 往往缺乏对项目实时状态、权限细节及流水线数据的访问能力，而 github-mcp-server 赋予了 AI 真正的实操权限，使其从单纯的代码建议者转变为能主动参与项目维护和流程自动化的得力助手。\n\n它专为希望将 AI 深度集成到开发工作流中的软件工程师、技术团队及开源维护者设计。无论是日常代码审查、Bug 分派，还是复杂的 CI\u002FCD 故障排查，都能通过简单的指令高效完成。\n\n其核心技术亮点在于支持远程托管模式，用户无需本地部署即可通过 VS Code 等主流编辑器快速接入；同时提供灵活的认证机制，既支持便捷的 OAuth 登录，也兼容个人访问令牌（PAT），确保企业在不同安全策略下均能顺畅使用，真正实现用自然语言驱动软件开发全流程。","[![Go Report Card](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_2b4a70945b89.png)](https:\u002F\u002Fgoreportcard.com\u002Freport\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server)\n\n# GitHub MCP Server\n\nThe GitHub MCP Server connects AI tools directly to GitHub's platform. This gives AI agents, assistants, and chatbots the ability to read repositories and code files, manage issues and PRs, analyze code, and automate workflows. All through natural language interactions.\n\n### Use Cases\n\n- Repository Management: Browse and query code, search files, analyze commits, and understand project structure across any repository you have access to.\n- Issue & PR Automation: Create, update, and manage issues and pull requests. Let AI help triage bugs, review code changes, and maintain project boards.\n- CI\u002FCD & Workflow Intelligence: Monitor GitHub Actions workflow runs, analyze build failures, manage releases, and get insights into your development pipeline.\n- Code Analysis: Examine security findings, review Dependabot alerts, understand code patterns, and get comprehensive insights into your codebase.\n- Team Collaboration: Access discussions, manage notifications, analyze team activity, and streamline processes for your team.\n\nBuilt for developers who want to connect their AI tools to GitHub context and capabilities, from simple natural language queries to complex multi-step agent workflows.\n\n---\n\n## Remote GitHub MCP Server\n\n[![Install in VS Code](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FVS_Code-Install_Server-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https:\u002F\u002Finsiders.vscode.dev\u002Fredirect\u002Fmcp\u002Finstall?name=github&config=%7B%22type%22%3A%20%22http%22%2C%22url%22%3A%20%22https%3A%2F%2Fapi.githubcopilot.com%2Fmcp%2F%22%7D) [![Install in VS Code Insiders](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FVS_Code_Insiders-Install_Server-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https:\u002F\u002Finsiders.vscode.dev\u002Fredirect\u002Fmcp\u002Finstall?name=github&config=%7B%22type%22%3A%20%22http%22%2C%22url%22%3A%20%22https%3A%2F%2Fapi.githubcopilot.com%2Fmcp%2F%22%7D&quality=insiders)\n\nThe remote GitHub MCP Server is hosted by GitHub and provides the easiest method for getting up and running. If your MCP host does not support remote MCP servers, don't worry! You can use the [local version of the GitHub MCP Server](https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server?tab=readme-ov-file#local-github-mcp-server) instead.\n\n### Prerequisites\n\n1. A compatible MCP host with remote server support (VS Code 1.101+, Claude Desktop, Cursor, Windsurf, etc.)\n2. Any applicable [policies enabled](https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fblob\u002Fmain\u002Fdocs\u002Fpolicies-and-governance.md)\n\n### Install in VS Code\n\nFor quick installation, use one of the one-click install buttons above. Once you complete that flow, toggle Agent mode (located by the Copilot Chat text input) and the server will start. Make sure you're using [VS Code 1.101](https:\u002F\u002Fcode.visualstudio.com\u002Fupdates\u002Fv1_101) or [later](https:\u002F\u002Fcode.visualstudio.com\u002Fupdates) for remote MCP and OAuth support.\n\nAlternatively, to manually configure VS Code, choose the appropriate JSON block from the examples below and add it to your host configuration:\n\n\u003Ctable>\n\u003Ctr>\u003Cth>Using OAuth\u003C\u002Fth>\u003Cth>Using a GitHub PAT\u003C\u002Fth>\u003C\u002Ftr>\n\u003Ctr>\u003Cth align=left colspan=2>VS Code (version 1.101 or greater)\u003C\u002Fth>\u003C\u002Ftr>\n\u003Ctr valign=top>\n\u003Ctd>\n\n```json\n{\n  \"servers\": {\n    \"github\": {\n      \"type\": \"http\",\n      \"url\": \"https:\u002F\u002Fapi.githubcopilot.com\u002Fmcp\u002F\"\n    }\n  }\n}\n```\n\n\u003C\u002Ftd>\n\u003Ctd>\n\n```json\n{\n  \"servers\": {\n    \"github\": {\n      \"type\": \"http\",\n      \"url\": \"https:\u002F\u002Fapi.githubcopilot.com\u002Fmcp\u002F\",\n      \"headers\": {\n        \"Authorization\": \"Bearer ${input:github_mcp_pat}\"\n      }\n    }\n  },\n  \"inputs\": [\n    {\n      \"type\": \"promptString\",\n      \"id\": \"github_mcp_pat\",\n      \"description\": \"GitHub Personal Access Token\",\n      \"password\": true\n    }\n  ]\n}\n```\n\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n### Install in other MCP hosts\n\n- **[Copilot CLI](\u002Fdocs\u002Finstallation-guides\u002Finstall-copilot-cli.md)** - Installation guide for GitHub Copilot CLI\n- **[GitHub Copilot in other IDEs](\u002Fdocs\u002Finstallation-guides\u002Finstall-other-copilot-ides.md)** - Installation for JetBrains, Visual Studio, Eclipse, and Xcode with GitHub Copilot\n- **[Claude Applications](\u002Fdocs\u002Finstallation-guides\u002Finstall-claude.md)** - Installation guide for Claude Desktop and Claude Code CLI\n- **[Codex](\u002Fdocs\u002Finstallation-guides\u002Finstall-codex.md)** - Installation guide for OpenAI Codex\n- **[Cursor](\u002Fdocs\u002Finstallation-guides\u002Finstall-cursor.md)** - Installation guide for Cursor IDE\n- **[Windsurf](\u002Fdocs\u002Finstallation-guides\u002Finstall-windsurf.md)** - Installation guide for Windsurf IDE\n- **[Rovo Dev CLI](\u002Fdocs\u002Finstallation-guides\u002Finstall-rovo-dev-cli.md)** - Installation guide for Rovo Dev CLI\n\n> **Note:** Each MCP host application needs to configure a GitHub App or OAuth App to support remote access via OAuth. Any host application that supports remote MCP servers should support the remote GitHub server with PAT authentication. Configuration details and support levels vary by host. Make sure to refer to the host application's documentation for more info.\n\n### Configuration\n\n#### Toolset configuration\n\nSee [Remote Server Documentation](docs\u002Fremote-server.md) for full details on remote server configuration, toolsets, headers, and advanced usage. This file provides comprehensive instructions and examples for connecting, customizing, and installing the remote GitHub MCP Server in VS Code and other MCP hosts.\n\nWhen no toolsets are specified, [default toolsets](#default-toolset) are used.\n\n#### Insiders Mode\n\n> **Try new features early!** The remote server offers an insiders version with early access to new features and experimental tools.\n\n\u003Ctable>\n\u003Ctr>\u003Cth>Using URL Path\u003C\u002Fth>\u003Cth>Using Header\u003C\u002Fth>\u003C\u002Ftr>\n\u003Ctr valign=top>\n\u003Ctd>\n\n```json\n{\n  \"servers\": {\n    \"github\": {\n      \"type\": \"http\",\n      \"url\": \"https:\u002F\u002Fapi.githubcopilot.com\u002Fmcp\u002Finsiders\"\n    }\n  }\n}\n```\n\n\u003C\u002Ftd>\n\u003Ctd>\n\n```json\n{\n  \"servers\": {\n    \"github\": {\n      \"type\": \"http\",\n      \"url\": \"https:\u002F\u002Fapi.githubcopilot.com\u002Fmcp\u002F\",\n      \"headers\": {\n        \"X-MCP-Insiders\": \"true\"\n      }\n    }\n  }\n}\n```\n\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftable>\n\nSee [Remote Server Documentation](docs\u002Fremote-server.md#insiders-mode) for more details and examples, and [Insiders Features](docs\u002Finsiders-features.md) for a full list of what's available.\n\n#### GitHub Enterprise\n\n##### GitHub Enterprise Cloud with data residency (ghe.com)\n\nGitHub Enterprise Cloud can also make use of the remote server.\n\nExample for `https:\u002F\u002Foctocorp.ghe.com` with GitHub PAT token:\n\n```\n{\n    ...\n    \"github-octocorp\": {\n      \"type\": \"http\",\n      \"url\": \"https:\u002F\u002Fcopilot-api.octocorp.ghe.com\u002Fmcp\",\n      \"headers\": {\n        \"Authorization\": \"Bearer ${input:github_mcp_pat}\"\n      }\n    },\n    ...\n}\n```\n\n> **Note:** When using OAuth with GitHub Enterprise with VS Code and GitHub Copilot, you also need to configure your VS Code settings to point to your GitHub Enterprise instance - see [Authenticate from VS Code](https:\u002F\u002Fdocs.github.com\u002Fen\u002Fenterprise-cloud@latest\u002Fcopilot\u002Fhow-tos\u002Fconfigure-personal-settings\u002Fauthenticate-to-ghecom)\n\n##### GitHub Enterprise Server\n\nGitHub Enterprise Server does not support remote server hosting. Please refer to [GitHub Enterprise Server and Enterprise Cloud with data residency (ghe.com)](#github-enterprise-server-and-enterprise-cloud-with-data-residency-ghecom) from the local server configuration.\n\n---\n\n## Local GitHub MCP Server\n\n[![Install with Docker in VS Code](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FVS_Code-Install_Server-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https:\u002F\u002Finsiders.vscode.dev\u002Fredirect\u002Fmcp\u002Finstall?name=github&inputs=%5B%7B%22id%22%3A%22github_token%22%2C%22type%22%3A%22promptString%22%2C%22description%22%3A%22GitHub%20Personal%20Access%20Token%22%2C%22password%22%3Atrue%7D%5D&config=%7B%22command%22%3A%22docker%22%2C%22args%22%3A%5B%22run%22%2C%22-i%22%2C%22--rm%22%2C%22-e%22%2C%22GITHUB_PERSONAL_ACCESS_TOKEN%22%2C%22ghcr.io%2Fgithub%2Fgithub-mcp-server%22%5D%2C%22env%22%3A%7B%22GITHUB_PERSONAL_ACCESS_TOKEN%22%3A%22%24%7Binput%3Agithub_token%7D%22%7D%7D) [![Install with Docker in VS Code Insiders](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FVS_Code_Insiders-Install_Server-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https:\u002F\u002Finsiders.vscode.dev\u002Fredirect\u002Fmcp\u002Finstall?name=github&inputs=%5B%7B%22id%22%3A%22github_token%22%2C%22type%22%3A%22promptString%22%2C%22description%22%3A%22GitHub%20Personal%20Access%20Token%22%2C%22password%22%3Atrue%7D%5D&config=%7B%22command%22%3A%22docker%22%2C%22args%22%3A%5B%22run%22%2C%22-i%22%2C%22--rm%22%2C%22-e%22%2C%22GITHUB_PERSONAL_ACCESS_TOKEN%22%2C%22ghcr.io%2Fgithub%2Fgithub-mcp-server%22%5D%2C%22env%22%3A%7B%22GITHUB_PERSONAL_ACCESS_TOKEN%22%3A%22%24%7Binput%3Agithub_token%7D%22%7D%7D&quality=insiders)\n\n### Prerequisites\n\n1. To run the server in a container, you will need to have [Docker](https:\u002F\u002Fwww.docker.com\u002F) installed.\n2. Once Docker is installed, you will also need to ensure Docker is running. The Docker image is available at `ghcr.io\u002Fgithub\u002Fgithub-mcp-server`. The image is public; if you get errors on pull, you may have an expired token and need to `docker logout ghcr.io`.\n3. Lastly you will need to [Create a GitHub Personal Access Token](https:\u002F\u002Fgithub.com\u002Fsettings\u002Fpersonal-access-tokens\u002Fnew).\nThe MCP server can use many of the GitHub APIs, so enable the permissions that you feel comfortable granting your AI tools (to learn more about access tokens, please check out the [documentation](https:\u002F\u002Fdocs.github.com\u002Fen\u002Fauthentication\u002Fkeeping-your-account-and-data-secure\u002Fmanaging-your-personal-access-tokens)).\n\n\u003Cdetails>\u003Csummary>\u003Cb>Handling PATs Securely\u003C\u002Fb>\u003C\u002Fsummary>\n\n### Environment Variables (Recommended)\n\nTo keep your GitHub PAT secure and reusable across different MCP hosts:\n\n1. **Store your PAT in environment variables**\n\n   ```bash\n   export GITHUB_PAT=your_token_here\n   ```\n\n   Or create a `.env` file:\n\n   ```env\n   GITHUB_PAT=your_token_here\n   ```\n\n2. **Protect your `.env` file**\n\n   ```bash\n   # Add to .gitignore to prevent accidental commits\n   echo \".env\" >> .gitignore\n   ```\n\n3. **Reference the token in configurations**\n\n   ```bash\n   # CLI usage\n   claude mcp update github -e GITHUB_PERSONAL_ACCESS_TOKEN=$GITHUB_PAT\n\n   # In config files (where supported)\n   \"env\": {\n     \"GITHUB_PERSONAL_ACCESS_TOKEN\": \"$GITHUB_PAT\"\n   }\n   ```\n\n> **Note**: Environment variable support varies by host app and IDE. Some applications (like Windsurf) require hardcoded tokens in config files.\n\n### Token Security Best Practices\n\n- **Minimum scopes**: Only grant necessary permissions\n  - `repo` - Repository operations\n  - `read:packages` - Docker image access\n  - `read:org` - Organization team access\n- **Separate tokens**: Use different PATs for different projects\u002Fenvironments\n- **Regular rotation**: Update tokens periodically\n- **Never commit**: Keep tokens out of version control\n- **File permissions**: Restrict access to config files containing tokens\n\n  ```bash\n  chmod 600 ~\u002F.your-app\u002Fconfig.json\n  ```\n\n\u003C\u002Fdetails>\n\n### GitHub Enterprise Server and Enterprise Cloud with data residency (ghe.com)\n\nThe flag `--gh-host` and the environment variable `GITHUB_HOST` can be used to set\nthe hostname for GitHub Enterprise Server or GitHub Enterprise Cloud with data residency.\n\n- For GitHub Enterprise Server, prefix the hostname with the `https:\u002F\u002F` URI scheme, as it otherwise defaults to `http:\u002F\u002F`, which GitHub Enterprise Server does not support.\n- For GitHub Enterprise Cloud with data residency, use `https:\u002F\u002FYOURSUBDOMAIN.ghe.com` as the hostname.\n\n``` json\n\"github\": {\n    \"command\": \"docker\",\n    \"args\": [\n    \"run\",\n    \"-i\",\n    \"--rm\",\n    \"-e\",\n    \"GITHUB_PERSONAL_ACCESS_TOKEN\",\n    \"-e\",\n    \"GITHUB_HOST\",\n    \"ghcr.io\u002Fgithub\u002Fgithub-mcp-server\"\n    ],\n    \"env\": {\n        \"GITHUB_PERSONAL_ACCESS_TOKEN\": \"${input:github_token}\",\n        \"GITHUB_HOST\": \"https:\u002F\u002F\u003Cyour GHES or ghe.com domain name>\"\n    }\n}\n```\n\n## Installation\n\n### Install in GitHub Copilot on VS Code\n\nFor quick installation, use one of the one-click install buttons above. Once you complete that flow, toggle Agent mode (located by the Copilot Chat text input) and the server will start.\n\nMore about using MCP server tools in VS Code's [agent mode documentation](https:\u002F\u002Fcode.visualstudio.com\u002Fdocs\u002Fcopilot\u002Fchat\u002Fmcp-servers).\n\nInstall in GitHub Copilot on other IDEs (JetBrains, Visual Studio, Eclipse, etc.)\n\nAdd the following JSON block to your IDE's MCP settings.\n\n```json\n{\n  \"mcp\": {\n    \"inputs\": [\n      {\n        \"type\": \"promptString\",\n        \"id\": \"github_token\",\n        \"description\": \"GitHub Personal Access Token\",\n        \"password\": true\n      }\n    ],\n    \"servers\": {\n      \"github\": {\n        \"command\": \"docker\",\n        \"args\": [\n          \"run\",\n          \"-i\",\n          \"--rm\",\n          \"-e\",\n          \"GITHUB_PERSONAL_ACCESS_TOKEN\",\n          \"ghcr.io\u002Fgithub\u002Fgithub-mcp-server\"\n        ],\n        \"env\": {\n          \"GITHUB_PERSONAL_ACCESS_TOKEN\": \"${input:github_token}\"\n        }\n      }\n    }\n  }\n}\n```\n\nOptionally, you can add a similar example (i.e. without the mcp key) to a file called `.vscode\u002Fmcp.json` in your workspace. This will allow you to share the configuration with other host applications that accept the same format.\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>Example JSON block without the MCP key included\u003C\u002Fb>\u003C\u002Fsummary>\n\u003Cbr>\n\n```json\n{\n  \"inputs\": [\n    {\n      \"type\": \"promptString\",\n      \"id\": \"github_token\",\n      \"description\": \"GitHub Personal Access Token\",\n      \"password\": true\n    }\n  ],\n  \"servers\": {\n    \"github\": {\n      \"command\": \"docker\",\n      \"args\": [\n        \"run\",\n        \"-i\",\n        \"--rm\",\n        \"-e\",\n        \"GITHUB_PERSONAL_ACCESS_TOKEN\",\n        \"ghcr.io\u002Fgithub\u002Fgithub-mcp-server\"\n      ],\n      \"env\": {\n        \"GITHUB_PERSONAL_ACCESS_TOKEN\": \"${input:github_token}\"\n      }\n    }\n  }\n}\n```\n\n\u003C\u002Fdetails>\n\n### Install in Other MCP Hosts\n\nFor other MCP host applications, please refer to our installation guides:\n\n- **[Copilot CLI](docs\u002Finstallation-guides\u002Finstall-copilot-cli.md)** - Installation guide for GitHub Copilot CLI\n- **[GitHub Copilot in other IDEs](\u002Fdocs\u002Finstallation-guides\u002Finstall-other-copilot-ides.md)** - Installation for JetBrains, Visual Studio, Eclipse, and Xcode with GitHub Copilot\n- **[Claude Code & Claude Desktop](docs\u002Finstallation-guides\u002Finstall-claude.md)** - Installation guide for Claude Code and Claude Desktop\n- **[Cursor](docs\u002Finstallation-guides\u002Finstall-cursor.md)** - Installation guide for Cursor IDE\n- **[Google Gemini CLI](docs\u002Finstallation-guides\u002Finstall-gemini-cli.md)** - Installation guide for Google Gemini CLI\n- **[Windsurf](docs\u002Finstallation-guides\u002Finstall-windsurf.md)** - Installation guide for Windsurf IDE\n\nFor a complete overview of all installation options, see our **[Installation Guides Index](docs\u002Finstallation-guides)**.\n\n> **Note:** Any host application that supports local MCP servers should be able to access the local GitHub MCP server. However, the specific configuration process, syntax and stability of the integration will vary by host application. While many may follow a similar format to the examples above, this is not guaranteed. Please refer to your host application's documentation for the correct MCP configuration syntax and setup process.\n\n### Build from source\n\nIf you don't have Docker, you can use `go build` to build the binary in the\n`cmd\u002Fgithub-mcp-server` directory, and use the `github-mcp-server stdio` command with the `GITHUB_PERSONAL_ACCESS_TOKEN` environment variable set to your token. To specify the output location of the build, use the `-o` flag. You should configure your server to use the built executable as its `command`. For example:\n\n```JSON\n{\n  \"mcp\": {\n    \"servers\": {\n      \"github\": {\n        \"command\": \"\u002Fpath\u002Fto\u002Fgithub-mcp-server\",\n        \"args\": [\"stdio\"],\n        \"env\": {\n          \"GITHUB_PERSONAL_ACCESS_TOKEN\": \"\u003CYOUR_TOKEN>\"\n        }\n      }\n    }\n  }\n}\n```\n\n### CLI utilities\n\nThe `github-mcp-server` binary includes a few CLI subcommands that are helpful for debugging and exploring the server.\n\n- `github-mcp-server tool-search \"\u003Cquery>\"` searches tools by name, description, and input parameter names. Use `--max-results` to return more matches.\nExample (color output requires a TTY; use `docker run -t` (or `-it`) when running in Docker):\n```bash\ndocker run -it --rm ghcr.io\u002Fgithub\u002Fgithub-mcp-server tool-search \"issue\" --max-results 5\ngithub-mcp-server tool-search \"issue\" --max-results 5\n```\n\n## Tool Configuration\n\nThe GitHub MCP Server supports enabling or disabling specific groups of functionalities via the `--toolsets` flag. This allows you to control which GitHub API capabilities are available to your AI tools. Enabling only the toolsets that you need can help the LLM with tool choice and reduce the context size.\n\n_Toolsets are not limited to Tools. Relevant MCP Resources and Prompts are also included where applicable._\n\nWhen no toolsets are specified, [default toolsets](#default-toolset) are used.\n\n> **Looking for examples?** See the [Server Configuration Guide](.\u002Fdocs\u002Fserver-configuration.md) for common recipes like minimal setups, read-only mode, and combining tools with toolsets.\n\n#### Specifying Toolsets\n\nTo specify toolsets you want available to the LLM, you can pass an allow-list in two ways:\n\n1. **Using Command Line Argument**:\n\n   ```bash\n   github-mcp-server --toolsets repos,issues,pull_requests,actions,code_security\n   ```\n\n2. **Using Environment Variable**:\n\n   ```bash\n   GITHUB_TOOLSETS=\"repos,issues,pull_requests,actions,code_security\" .\u002Fgithub-mcp-server\n   ```\n\nThe environment variable `GITHUB_TOOLSETS` takes precedence over the command line argument if both are provided.\n\n#### Specifying Individual Tools\n\nYou can also configure specific tools using the `--tools` flag. Tools can be used independently or combined with toolsets and dynamic toolsets discovery for fine-grained control.\n\n1. **Using Command Line Argument**:\n\n   ```bash\n   github-mcp-server --tools get_file_contents,issue_read,create_pull_request\n   ```\n\n2. **Using Environment Variable**:\n\n   ```bash\n   GITHUB_TOOLS=\"get_file_contents,issue_read,create_pull_request\" .\u002Fgithub-mcp-server\n   ```\n\n3. **Combining with Toolsets** (additive):\n\n   ```bash\n   github-mcp-server --toolsets repos,issues --tools get_gist\n   ```\n\n   This registers all tools from `repos` and `issues` toolsets, plus `get_gist`.\n\n4. **Combining with Dynamic Toolsets** (additive):\n\n   ```bash\n   github-mcp-server --tools get_file_contents --dynamic-toolsets\n   ```\n\n   This registers `get_file_contents` plus the dynamic toolset tools (`enable_toolset`, `list_available_toolsets`, `get_toolset_tools`).\n\n**Important Notes:**\n\n- Tools, toolsets, and dynamic toolsets can all be used together\n- Read-only mode takes priority: write tools are skipped if `--read-only` is set, even if explicitly requested via `--tools`\n- Tool names must match exactly (e.g., `get_file_contents`, not `getFileContents`). Invalid tool names will cause the server to fail at startup with an error message\n- When tools are renamed, old names are preserved as aliases for backward compatibility. See [Deprecated Tool Aliases](docs\u002Fdeprecated-tool-aliases.md) for details.\n\n### Using Toolsets With Docker\n\nWhen using Docker, you can pass the toolsets as environment variables:\n\n```bash\ndocker run -i --rm \\\n  -e GITHUB_PERSONAL_ACCESS_TOKEN=\u003Cyour-token> \\\n  -e GITHUB_TOOLSETS=\"repos,issues,pull_requests,actions,code_security\" \\\n  ghcr.io\u002Fgithub\u002Fgithub-mcp-server\n```\n\n### Using Tools With Docker\n\nWhen using Docker, you can pass specific tools as environment variables. You can also combine tools with toolsets:\n\n```bash\n# Tools only\ndocker run -i --rm \\\n  -e GITHUB_PERSONAL_ACCESS_TOKEN=\u003Cyour-token> \\\n  -e GITHUB_TOOLS=\"get_file_contents,issue_read,create_pull_request\" \\\n  ghcr.io\u002Fgithub\u002Fgithub-mcp-server\n\n# Tools combined with toolsets (additive)\ndocker run -i --rm \\\n  -e GITHUB_PERSONAL_ACCESS_TOKEN=\u003Cyour-token> \\\n  -e GITHUB_TOOLSETS=\"repos,issues\" \\\n  -e GITHUB_TOOLS=\"get_gist\" \\\n  ghcr.io\u002Fgithub\u002Fgithub-mcp-server\n```\n\n### Special toolsets\n\n#### \"all\" toolset\n\nThe special toolset `all` can be provided to enable all available toolsets regardless of any other configuration:\n\n```bash\n.\u002Fgithub-mcp-server --toolsets all\n```\n\nOr using the environment variable:\n\n```bash\nGITHUB_TOOLSETS=\"all\" .\u002Fgithub-mcp-server\n```\n\n#### \"default\" toolset\n\nThe default toolset `default` is the configuration that gets passed to the server if no toolsets are specified.\n\nThe default configuration is:\n\n- context\n- repos\n- issues\n- pull_requests\n- users\n\nTo keep the default configuration and add additional toolsets:\n\n```bash\nGITHUB_TOOLSETS=\"default,stargazers\" .\u002Fgithub-mcp-server\n```\n\n### Insiders Mode\n\nThe local GitHub MCP Server offers an insiders version with early access to new features and experimental tools.\n\n1. **Using Command Line Argument**:\n\n   ```bash\n   .\u002Fgithub-mcp-server --insiders\n   ```\n\n2. **Using Environment Variable**:\n\n   ```bash\n   GITHUB_INSIDERS=true .\u002Fgithub-mcp-server\n   ```\n\nWhen using Docker:\n\n```bash\ndocker run -i --rm \\\n  -e GITHUB_PERSONAL_ACCESS_TOKEN=\u003Cyour-token> \\\n  -e GITHUB_INSIDERS=true \\\n  ghcr.io\u002Fgithub\u002Fgithub-mcp-server\n```\n\n### Available Toolsets\n\nThe following sets of tools are available:\n\n\u003C!-- START AUTOMATED TOOLSETS -->\n|     | Toolset                 | Description                                                   |\n| --- | ----------------------- | ------------------------------------------------------------- |\n| \u003Cpicture>\u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"pkg\u002Focticons\u002Ficons\u002Fperson-dark.png\">\u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_cc7bb686f6cd.png\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_cc7bb686f6cd.png\" width=\"20\" height=\"20\" alt=\"person\">\u003C\u002Fpicture> | `context`               | **Strongly recommended**: Tools that provide context about the current user and GitHub context you are operating in |\n| \u003Cpicture>\u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"pkg\u002Focticons\u002Ficons\u002Fworkflow-dark.png\">\u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_584b63516342.png\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_584b63516342.png\" width=\"20\" height=\"20\" alt=\"workflow\">\u003C\u002Fpicture> | `actions` | GitHub Actions workflows and CI\u002FCD operations |\n| \u003Cpicture>\u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"pkg\u002Focticons\u002Ficons\u002Fcodescan-dark.png\">\u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_561a61bdbe7c.png\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_561a61bdbe7c.png\" width=\"20\" height=\"20\" alt=\"codescan\">\u003C\u002Fpicture> | `code_security` | Code security related tools, such as GitHub Code Scanning |\n| \u003Cpicture>\u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"pkg\u002Focticons\u002Ficons\u002Fcopilot-dark.png\">\u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_7b87550920d5.png\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_7b87550920d5.png\" width=\"20\" height=\"20\" alt=\"copilot\">\u003C\u002Fpicture> | `copilot` | Copilot related tools |\n| \u003Cpicture>\u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"pkg\u002Focticons\u002Ficons\u002Fdependabot-dark.png\">\u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_57c7ba9f9b9c.png\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_57c7ba9f9b9c.png\" width=\"20\" height=\"20\" alt=\"dependabot\">\u003C\u002Fpicture> | `dependabot` | Dependabot tools |\n| \u003Cpicture>\u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"pkg\u002Focticons\u002Ficons\u002Fcomment-discussion-dark.png\">\u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_1f0c30a6dcd9.png\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_1f0c30a6dcd9.png\" width=\"20\" height=\"20\" alt=\"comment-discussion\">\u003C\u002Fpicture> | `discussions` | GitHub Discussions related tools |\n| \u003Cpicture>\u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"pkg\u002Focticons\u002Ficons\u002Flogo-gist-dark.png\">\u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_9d91a228ba28.png\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_9d91a228ba28.png\" width=\"20\" height=\"20\" alt=\"logo-gist\">\u003C\u002Fpicture> | `gists` | GitHub Gist related tools |\n| \u003Cpicture>\u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"pkg\u002Focticons\u002Ficons\u002Fgit-branch-dark.png\">\u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_bf45ed19df0a.png\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_bf45ed19df0a.png\" width=\"20\" height=\"20\" alt=\"git-branch\">\u003C\u002Fpicture> | `git` | GitHub Git API related tools for low-level Git operations |\n| \u003Cpicture>\u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"pkg\u002Focticons\u002Ficons\u002Fissue-opened-dark.png\">\u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_ea05075ad404.png\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_ea05075ad404.png\" width=\"20\" height=\"20\" alt=\"issue-opened\">\u003C\u002Fpicture> | `issues` | GitHub Issues related tools |\n| \u003Cpicture>\u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"pkg\u002Focticons\u002Ficons\u002Ftag-dark.png\">\u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_8fa234a7b15d.png\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_8fa234a7b15d.png\" width=\"20\" height=\"20\" alt=\"tag\">\u003C\u002Fpicture> | `labels` | GitHub Labels related tools |\n| \u003Cpicture>\u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"pkg\u002Focticons\u002Ficons\u002Fbell-dark.png\">\u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_224d743ad7ce.png\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_224d743ad7ce.png\" width=\"20\" height=\"20\" alt=\"bell\">\u003C\u002Fpicture> | `notifications` | GitHub Notifications related tools |\n| \u003Cpicture>\u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"pkg\u002Focticons\u002Ficons\u002Forganization-dark.png\">\u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_ee4e4f651dc5.png\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_ee4e4f651dc5.png\" width=\"20\" height=\"20\" alt=\"organization\">\u003C\u002Fpicture> | `orgs` | GitHub Organization related tools |\n| \u003Cpicture>\u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"pkg\u002Focticons\u002Ficons\u002Fproject-dark.png\">\u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_1c7b551f122d.png\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_1c7b551f122d.png\" width=\"20\" height=\"20\" alt=\"project\">\u003C\u002Fpicture> | `projects` | GitHub Projects related tools |\n| \u003Cpicture>\u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"pkg\u002Focticons\u002Ficons\u002Fgit-pull-request-dark.png\">\u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_1689ebf60bd4.png\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_1689ebf60bd4.png\" width=\"20\" height=\"20\" alt=\"git-pull-request\">\u003C\u002Fpicture> | `pull_requests` | GitHub Pull Request related tools |\n| \u003Cpicture>\u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"pkg\u002Focticons\u002Ficons\u002Frepo-dark.png\">\u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_ed7da5b57a60.png\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_ed7da5b57a60.png\" width=\"20\" height=\"20\" alt=\"repo\">\u003C\u002Fpicture> | `repos` | GitHub Repository related tools |\n| \u003Cpicture>\u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"pkg\u002Focticons\u002Ficons\u002Fshield-lock-dark.png\">\u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_7b3f11811ed5.png\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_7b3f11811ed5.png\" width=\"20\" height=\"20\" alt=\"shield-lock\">\u003C\u002Fpicture> | `secret_protection` | Secret protection related tools, such as GitHub Secret Scanning |\n| \u003Cpicture>\u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"pkg\u002Focticons\u002Ficons\u002Fshield-dark.png\">\u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_bdbe2e548b9e.png\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_bdbe2e548b9e.png\" width=\"20\" height=\"20\" alt=\"shield\">\u003C\u002Fpicture> | `security_advisories` | Security advisories related tools |\n| \u003Cpicture>\u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"pkg\u002Focticons\u002Ficons\u002Fstar-dark.png\">\u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_6578281897a8.png\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_6578281897a8.png\" width=\"20\" height=\"20\" alt=\"star\">\u003C\u002Fpicture> | `stargazers` | GitHub Stargazers related tools |\n| \u003Cpicture>\u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"pkg\u002Focticons\u002Ficons\u002Fpeople-dark.png\">\u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_4fed1937db23.png\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_4fed1937db23.png\" width=\"20\" height=\"20\" alt=\"people\">\u003C\u002Fpicture> | `users` | GitHub User related tools |\n\u003C!-- END AUTOMATED TOOLSETS -->\n\n### Additional Toolsets in Remote GitHub MCP Server\n\n| Toolset                 | Description                                                   |\n| ----------------------- | ------------------------------------------------------------- |\n| `copilot` | Copilot related tools (e.g. Copilot Coding Agent) |\n| `copilot_spaces` | Copilot Spaces related tools |\n| `github_support_docs_search` | Search docs to answer GitHub product and support questions |\n\n## Tools\n\n\u003C!-- START AUTOMATED TOOLS -->\n\u003Cdetails>\n\n\u003Csummary>\u003Cpicture>\u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"pkg\u002Focticons\u002Ficons\u002Fworkflow-dark.png\">\u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_584b63516342.png\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_584b63516342.png\" width=\"20\" height=\"20\" alt=\"workflow\">\u003C\u002Fpicture> Actions\u003C\u002Fsummary>\n\n- **actions_get** - Get details of GitHub Actions resources (workflows, workflow runs, jobs, and artifacts)\n  - **Required OAuth Scopes**: `repo`\n  - `method`: The method to execute (string, required)\n  - `owner`: Repository owner (string, required)\n  - `repo`: Repository name (string, required)\n  - `resource_id`: The unique identifier of the resource. This will vary based on the \"method\" provided, so ensure you provide the correct ID:\n    - Provide a workflow ID or workflow file name (e.g. ci.yaml) for 'get_workflow' method.\n    - Provide a workflow run ID for 'get_workflow_run', 'get_workflow_run_usage', and 'get_workflow_run_logs_url' methods.\n    - Provide an artifact ID for 'download_workflow_run_artifact' method.\n    - Provide a job ID for 'get_workflow_job' method.\n     (string, required)\n\n- **actions_list** - List GitHub Actions workflows in a repository\n  - **Required OAuth Scopes**: `repo`\n  - `method`: The action to perform (string, required)\n  - `owner`: Repository owner (string, required)\n  - `page`: Page number for pagination (default: 1) (number, optional)\n  - `per_page`: Results per page for pagination (default: 30, max: 100) (number, optional)\n  - `repo`: Repository name (string, required)\n  - `resource_id`: The unique identifier of the resource. This will vary based on the \"method\" provided, so ensure you provide the correct ID:\n    - Do not provide any resource ID for 'list_workflows' method.\n    - Provide a workflow ID or workflow file name (e.g. ci.yaml) for 'list_workflow_runs' method, or omit to list all workflow runs in the repository.\n    - Provide a workflow run ID for 'list_workflow_jobs' and 'list_workflow_run_artifacts' methods.\n     (string, optional)\n  - `workflow_jobs_filter`: Filters for workflow jobs. **ONLY** used when method is 'list_workflow_jobs' (object, optional)\n  - `workflow_runs_filter`: Filters for workflow runs. **ONLY** used when method is 'list_workflow_runs' (object, optional)\n\n- **actions_run_trigger** - Trigger GitHub Actions workflow actions\n  - **Required OAuth Scopes**: `repo`\n  - `inputs`: Inputs the workflow accepts. Only used for 'run_workflow' method. (object, optional)\n  - `method`: The method to execute (string, required)\n  - `owner`: Repository owner (string, required)\n  - `ref`: The git reference for the workflow. The reference can be a branch or tag name. Required for 'run_workflow' method. (string, optional)\n  - `repo`: Repository name (string, required)\n  - `run_id`: The ID of the workflow run. Required for all methods except 'run_workflow'. (number, optional)\n  - `workflow_id`: The workflow ID (numeric) or workflow file name (e.g., main.yml, ci.yaml). Required for 'run_workflow' method. (string, optional)\n\n- **get_job_logs** - Get GitHub Actions workflow job logs\n  - **Required OAuth Scopes**: `repo`\n  - `failed_only`: When true, gets logs for all failed jobs in the workflow run specified by run_id. Requires run_id to be provided. (boolean, optional)\n  - `job_id`: The unique identifier of the workflow job. Required when getting logs for a single job. (number, optional)\n  - `owner`: Repository owner (string, required)\n  - `repo`: Repository name (string, required)\n  - `return_content`: Returns actual log content instead of URLs (boolean, optional)\n  - `run_id`: The unique identifier of the workflow run. Required when failed_only is true to get logs for all failed jobs in the run. (number, optional)\n  - `tail_lines`: Number of lines to return from the end of the log (number, optional)\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\n\u003Csummary>\u003Cpicture>\u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"pkg\u002Focticons\u002Ficons\u002Fcodescan-dark.png\">\u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_561a61bdbe7c.png\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_561a61bdbe7c.png\" width=\"20\" height=\"20\" alt=\"codescan\">\u003C\u002Fpicture> Code Security\u003C\u002Fsummary>\n\n- **get_code_scanning_alert** - Get code scanning alert\n  - **Required OAuth Scopes**: `security_events`\n  - **Accepted OAuth Scopes**: `repo`, `security_events`\n  - `alertNumber`: The number of the alert. (number, required)\n  - `owner`: The owner of the repository. (string, required)\n  - `repo`: The name of the repository. (string, required)\n\n- **list_code_scanning_alerts** - List code scanning alerts\n  - **Required OAuth Scopes**: `security_events`\n  - **Accepted OAuth Scopes**: `repo`, `security_events`\n  - `owner`: The owner of the repository. (string, required)\n  - `ref`: The Git reference for the results you want to list. (string, optional)\n  - `repo`: The name of the repository. (string, required)\n  - `severity`: Filter code scanning alerts by severity (string, optional)\n  - `state`: Filter code scanning alerts by state. Defaults to open (string, optional)\n  - `tool_name`: The name of the tool used for code scanning. (string, optional)\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\n\u003Csummary>\u003Cpicture>\u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"pkg\u002Focticons\u002Ficons\u002Fperson-dark.png\">\u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_cc7bb686f6cd.png\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_cc7bb686f6cd.png\" width=\"20\" height=\"20\" alt=\"person\">\u003C\u002Fpicture> Context\u003C\u002Fsummary>\n\n- **get_me** - Get my user profile\n  - No parameters required\n\n- **get_team_members** - Get team members\n  - **Required OAuth Scopes**: `read:org`\n  - **Accepted OAuth Scopes**: `admin:org`, `read:org`, `write:org`\n  - `org`: Organization login (owner) that contains the team. (string, required)\n  - `team_slug`: Team slug (string, required)\n\n- **get_teams** - Get teams\n  - **Required OAuth Scopes**: `read:org`\n  - **Accepted OAuth Scopes**: `admin:org`, `read:org`, `write:org`\n  - `user`: Username to get teams for. If not provided, uses the authenticated user. (string, optional)\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\n\u003Csummary>\u003Cpicture>\u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"pkg\u002Focticons\u002Ficons\u002Fcopilot-dark.png\">\u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_7b87550920d5.png\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_7b87550920d5.png\" width=\"20\" height=\"20\" alt=\"copilot\">\u003C\u002Fpicture> Copilot\u003C\u002Fsummary>\n\n- **assign_copilot_to_issue** - Assign Copilot to issue\n  - **Required OAuth Scopes**: `repo`\n  - `base_ref`: Git reference (e.g., branch) that the agent will start its work from. If not specified, defaults to the repository's default branch (string, optional)\n  - `custom_instructions`: Optional custom instructions to guide the agent beyond the issue body. Use this to provide additional context, constraints, or guidance that is not captured in the issue description (string, optional)\n  - `issue_number`: Issue number (number, required)\n  - `owner`: Repository owner (string, required)\n  - `repo`: Repository name (string, required)\n\n- **request_copilot_review** - Request Copilot review\n  - **Required OAuth Scopes**: `repo`\n  - `owner`: Repository owner (string, required)\n  - `pullNumber`: Pull request number (number, required)\n  - `repo`: Repository name (string, required)\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\n\u003Csummary>\u003Cpicture>\u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"pkg\u002Focticons\u002Ficons\u002Fdependabot-dark.png\">\u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_57c7ba9f9b9c.png\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_57c7ba9f9b9c.png\" width=\"20\" height=\"20\" alt=\"dependabot\">\u003C\u002Fpicture> Dependabot\u003C\u002Fsummary>\n\n- **get_dependabot_alert** - Get dependabot alert\n  - **Required OAuth Scopes**: `security_events`\n  - **Accepted OAuth Scopes**: `repo`, `security_events`\n  - `alertNumber`: The number of the alert. (number, required)\n  - `owner`: The owner of the repository. (string, required)\n  - `repo`: The name of the repository. (string, required)\n\n- **list_dependabot_alerts** - List dependabot alerts\n  - **Required OAuth Scopes**: `security_events`\n  - **Accepted OAuth Scopes**: `repo`, `security_events`\n  - `owner`: The owner of the repository. (string, required)\n  - `repo`: The name of the repository. (string, required)\n  - `severity`: Filter dependabot alerts by severity (string, optional)\n  - `state`: Filter dependabot alerts by state. Defaults to open (string, optional)\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\n\u003Csummary>\u003Cpicture>\u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"pkg\u002Focticons\u002Ficons\u002Fcomment-discussion-dark.png\">\u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_1f0c30a6dcd9.png\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_1f0c30a6dcd9.png\" width=\"20\" height=\"20\" alt=\"comment-discussion\">\u003C\u002Fpicture> Discussions\u003C\u002Fsummary>\n\n- **get_discussion** - Get discussion\n  - **Required OAuth Scopes**: `repo`\n  - `discussionNumber`: Discussion Number (number, required)\n  - `owner`: Repository owner (string, required)\n  - `repo`: Repository name (string, required)\n\n- **get_discussion_comments** - Get discussion comments\n  - **Required OAuth Scopes**: `repo`\n  - `after`: Cursor for pagination. Use the endCursor from the previous page's PageInfo for GraphQL APIs. (string, optional)\n  - `discussionNumber`: Discussion Number (number, required)\n  - `owner`: Repository owner (string, required)\n  - `perPage`: Results per page for pagination (min 1, max 100) (number, optional)\n  - `repo`: Repository name (string, required)\n\n- **list_discussion_categories** - List discussion categories\n  - **Required OAuth Scopes**: `repo`\n  - `owner`: Repository owner (string, required)\n  - `repo`: Repository name. If not provided, discussion categories will be queried at the organisation level. (string, optional)\n\n- **list_discussions** - List discussions\n  - **Required OAuth Scopes**: `repo`\n  - `after`: Cursor for pagination. Use the endCursor from the previous page's PageInfo for GraphQL APIs. (string, optional)\n  - `category`: Optional filter by discussion category ID. If provided, only discussions with this category are listed. (string, optional)\n  - `direction`: Order direction. (string, optional)\n  - `orderBy`: Order discussions by field. If provided, the 'direction' also needs to be provided. (string, optional)\n  - `owner`: Repository owner (string, required)\n  - `perPage`: Results per page for pagination (min 1, max 100) (number, optional)\n  - `repo`: Repository name. If not provided, discussions will be queried at the organisation level. (string, optional)\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\n\u003Csummary>\u003Cpicture>\u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"pkg\u002Focticons\u002Ficons\u002Flogo-gist-dark.png\">\u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_9d91a228ba28.png\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_9d91a228ba28.png\" width=\"20\" height=\"20\" alt=\"logo-gist\">\u003C\u002Fpicture> Gists\u003C\u002Fsummary>\n\n- **create_gist** - Create Gist\n  - **Required OAuth Scopes**: `gist`\n  - `content`: Content for simple single-file gist creation (string, required)\n  - `description`: Description of the gist (string, optional)\n  - `filename`: Filename for simple single-file gist creation (string, required)\n  - `public`: Whether the gist is public (boolean, optional)\n\n- **get_gist** - Get Gist Content\n  - `gist_id`: The ID of the gist (string, required)\n\n- **list_gists** - List Gists\n  - `page`: Page number for pagination (min 1) (number, optional)\n  - `perPage`: Results per page for pagination (min 1, max 100) (number, optional)\n  - `since`: Only gists updated after this time (ISO 8601 timestamp) (string, optional)\n  - `username`: GitHub username (omit for authenticated user's gists) (string, optional)\n\n- **update_gist** - Update Gist\n  - **Required OAuth Scopes**: `gist`\n  - `content`: Content for the file (string, required)\n  - `description`: Updated description of the gist (string, optional)\n  - `filename`: Filename to update or create (string, required)\n  - `gist_id`: ID of the gist to update (string, required)\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\n\u003Csummary>\u003Cpicture>\u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"pkg\u002Focticons\u002Ficons\u002Fgit-branch-dark.png\">\u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_bf45ed19df0a.png\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_bf45ed19df0a.png\" width=\"20\" height=\"20\" alt=\"git-branch\">\u003C\u002Fpicture> Git\u003C\u002Fsummary>\n\n- **get_repository_tree** - Get repository tree\n  - **Required OAuth Scopes**: `repo`\n  - `owner`: Repository owner (username or organization) (string, required)\n  - `path_filter`: Optional path prefix to filter the tree results (e.g., 'src\u002F' to only show files in the src directory) (string, optional)\n  - `recursive`: Setting this parameter to true returns the objects or subtrees referenced by the tree. Default is false (boolean, optional)\n  - `repo`: Repository name (string, required)\n  - `tree_sha`: The SHA1 value or ref (branch or tag) name of the tree. Defaults to the repository's default branch (string, optional)\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\n\u003Csummary>\u003Cpicture>\u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"pkg\u002Focticons\u002Ficons\u002Fissue-opened-dark.png\">\u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_ea05075ad404.png\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_ea05075ad404.png\" width=\"20\" height=\"20\" alt=\"issue-opened\">\u003C\u002Fpicture> Issues\u003C\u002Fsummary>\n\n- **add_issue_comment** - Add comment to issue\n  - **Required OAuth Scopes**: `repo`\n  - `body`: Comment content (string, required)\n  - `issue_number`: Issue number to comment on (number, required)\n  - `owner`: Repository owner (string, required)\n  - `repo`: Repository name (string, required)\n\n- **get_label** - Get a specific label from a repository.\n  - **Required OAuth Scopes**: `repo`\n  - `name`: Label name. (string, required)\n  - `owner`: Repository owner (username or organization name) (string, required)\n  - `repo`: Repository name (string, required)\n\n- **issue_read** - Get issue details\n  - **Required OAuth Scopes**: `repo`\n  - `issue_number`: The number of the issue (number, required)\n  - `method`: The read operation to perform on a single issue.\n    Options are:\n    1. get - Get details of a specific issue.\n    2. get_comments - Get issue comments.\n    3. get_sub_issues - Get sub-issues of the issue.\n    4. get_labels - Get labels assigned to the issue.\n     (string, required)\n  - `owner`: The owner of the repository (string, required)\n  - `page`: Page number for pagination (min 1) (number, optional)\n  - `perPage`: Results per page for pagination (min 1, max 100) (number, optional)\n  - `repo`: The name of the repository (string, required)\n\n- **issue_write** - Create or update issue.\n  - **Required OAuth Scopes**: `repo`\n  - `assignees`: Usernames to assign to this issue (string[], optional)\n  - `body`: Issue body content (string, optional)\n  - `duplicate_of`: Issue number that this issue is a duplicate of. Only used when state_reason is 'duplicate'. (number, optional)\n  - `issue_number`: Issue number to update (number, optional)\n  - `labels`: Labels to apply to this issue (string[], optional)\n  - `method`: Write operation to perform on a single issue.\n    Options are:\n    - 'create' - creates a new issue.\n    - 'update' - updates an existing issue.\n     (string, required)\n  - `milestone`: Milestone number (number, optional)\n  - `owner`: Repository owner (string, required)\n  - `repo`: Repository name (string, required)\n  - `state`: New state (string, optional)\n  - `state_reason`: Reason for the state change. Ignored unless state is changed. (string, optional)\n  - `title`: Issue title (string, optional)\n  - `type`: Type of this issue. Only use if the repository has issue types configured. Use list_issue_types tool to get valid type values for the organization. If the repository doesn't support issue types, omit this parameter. (string, optional)\n\n- **list_issue_types** - List available issue types\n  - **Required OAuth Scopes**: `read:org`\n  - **Accepted OAuth Scopes**: `admin:org`, `read:org`, `write:org`\n  - `owner`: The organization owner of the repository (string, required)\n\n- **list_issues** - List issues\n  - **Required OAuth Scopes**: `repo`\n  - `after`: Cursor for pagination. Use the endCursor from the previous page's PageInfo for GraphQL APIs. (string, optional)\n  - `direction`: Order direction. If provided, the 'orderBy' also needs to be provided. (string, optional)\n  - `labels`: Filter by labels (string[], optional)\n  - `orderBy`: Order issues by field. If provided, the 'direction' also needs to be provided. (string, optional)\n  - `owner`: Repository owner (string, required)\n  - `perPage`: Results per page for pagination (min 1, max 100) (number, optional)\n  - `repo`: Repository name (string, required)\n  - `since`: Filter by date (ISO 8601 timestamp) (string, optional)\n  - `state`: Filter by state, by default both open and closed issues are returned when not provided (string, optional)\n\n- **search_issues** - Search issues\n  - **Required OAuth Scopes**: `repo`\n  - `order`: Sort order (string, optional)\n  - `owner`: Optional repository owner. If provided with repo, only issues for this repository are listed. (string, optional)\n  - `page`: Page number for pagination (min 1) (number, optional)\n  - `perPage`: Results per page for pagination (min 1, max 100) (number, optional)\n  - `query`: Search query using GitHub issues search syntax (string, required)\n  - `repo`: Optional repository name. If provided with owner, only issues for this repository are listed. (string, optional)\n  - `sort`: Sort field by number of matches of categories, defaults to best match (string, optional)\n\n- **sub_issue_write** - Change sub-issue\n  - **Required OAuth Scopes**: `repo`\n  - `after_id`: The ID of the sub-issue to be prioritized after (either after_id OR before_id should be specified) (number, optional)\n  - `before_id`: The ID of the sub-issue to be prioritized before (either after_id OR before_id should be specified) (number, optional)\n  - `issue_number`: The number of the parent issue (number, required)\n  - `method`: The action to perform on a single sub-issue\n    Options are:\n    - 'add' - add a sub-issue to a parent issue in a GitHub repository.\n    - 'remove' - remove a sub-issue from a parent issue in a GitHub repository.\n    - 'reprioritize' - change the order of sub-issues within a parent issue in a GitHub repository. Use either 'after_id' or 'before_id' to specify the new position.\n    \t\t\t\t (string, required)\n  - `owner`: Repository owner (string, required)\n  - `replace_parent`: When true, replaces the sub-issue's current parent issue. Use with 'add' method only. (boolean, optional)\n  - `repo`: Repository name (string, required)\n  - `sub_issue_id`: The ID of the sub-issue to add. ID is not the same as issue number (number, required)\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\n\u003Csummary>\u003Cpicture>\u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"pkg\u002Focticons\u002Ficons\u002Ftag-dark.png\">\u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_8fa234a7b15d.png\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_8fa234a7b15d.png\" width=\"20\" height=\"20\" alt=\"tag\">\u003C\u002Fpicture> Labels\u003C\u002Fsummary>\n\n- **get_label** - Get a specific label from a repository.\n  - **Required OAuth Scopes**: `repo`\n  - `name`: Label name. (string, required)\n  - `owner`: Repository owner (username or organization name) (string, required)\n  - `repo`: Repository name (string, required)\n\n- **label_write** - Write operations on repository labels.\n  - **Required OAuth Scopes**: `repo`\n  - `color`: Label color as 6-character hex code without '#' prefix (e.g., 'f29513'). Required for 'create', optional for 'update'. (string, optional)\n  - `description`: Label description text. Optional for 'create' and 'update'. (string, optional)\n  - `method`: Operation to perform: 'create', 'update', or 'delete' (string, required)\n  - `name`: Label name - required for all operations (string, required)\n  - `new_name`: New name for the label (used only with 'update' method to rename) (string, optional)\n  - `owner`: Repository owner (username or organization name) (string, required)\n  - `repo`: Repository name (string, required)\n\n- **list_label** - List labels from a repository\n  - **Required OAuth Scopes**: `repo`\n  - `owner`: Repository owner (username or organization name) - required for all operations (string, required)\n  - `repo`: Repository name - required for all operations (string, required)\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\n\u003Csummary>\u003Cpicture>\u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"pkg\u002Focticons\u002Ficons\u002Fbell-dark.png\">\u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_224d743ad7ce.png\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_224d743ad7ce.png\" width=\"20\" height=\"20\" alt=\"bell\">\u003C\u002Fpicture> Notifications\u003C\u002Fsummary>\n\n- **dismiss_notification** - Dismiss notification\n  - **Required OAuth Scopes**: `notifications`\n  - `state`: The new state of the notification (read\u002Fdone) (string, required)\n  - `threadID`: The ID of the notification thread (string, required)\n\n- **get_notification_details** - Get notification details\n  - **Required OAuth Scopes**: `notifications`\n  - `notificationID`: The ID of the notification (string, required)\n\n- **list_notifications** - List notifications\n  - **Required OAuth Scopes**: `notifications`\n  - `before`: Only show notifications updated before the given time (ISO 8601 format) (string, optional)\n  - `filter`: Filter notifications to, use default unless specified. Read notifications are ones that have already been acknowledged by the user. Participating notifications are those that the user is directly involved in, such as issues or pull requests they have commented on or created. (string, optional)\n  - `owner`: Optional repository owner. If provided with repo, only notifications for this repository are listed. (string, optional)\n  - `page`: Page number for pagination (min 1) (number, optional)\n  - `perPage`: Results per page for pagination (min 1, max 100) (number, optional)\n  - `repo`: Optional repository name. If provided with owner, only notifications for this repository are listed. (string, optional)\n  - `since`: Only show notifications updated after the given time (ISO 8601 format) (string, optional)\n\n- **manage_notification_subscription** - Manage notification subscription\n  - **Required OAuth Scopes**: `notifications`\n  - `action`: Action to perform: ignore, watch, or delete the notification subscription. (string, required)\n  - `notificationID`: The ID of the notification thread. (string, required)\n\n- **manage_repository_notification_subscription** - Manage repository notification subscription\n  - **Required OAuth Scopes**: `notifications`\n  - `action`: Action to perform: ignore, watch, or delete the repository notification subscription. (string, required)\n  - `owner`: The account owner of the repository. (string, required)\n  - `repo`: The name of the repository. (string, required)\n\n- **mark_all_notifications_read** - Mark all notifications as read\n  - **Required OAuth Scopes**: `notifications`\n  - `lastReadAt`: Describes the last point that notifications were checked (optional). Default: Now (string, optional)\n  - `owner`: Optional repository owner. If provided with repo, only notifications for this repository are marked as read. (string, optional)\n  - `repo`: Optional repository name. If provided with owner, only notifications for this repository are marked as read. (string, optional)\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\n\u003Csummary>\u003Cpicture>\u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"pkg\u002Focticons\u002Ficons\u002Forganization-dark.png\">\u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_ee4e4f651dc5.png\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_ee4e4f651dc5.png\" width=\"20\" height=\"20\" alt=\"organization\">\u003C\u002Fpicture> Organizations\u003C\u002Fsummary>\n\n- **search_orgs** - Search organizations\n  - **Required OAuth Scopes**: `read:org`\n  - **Accepted OAuth Scopes**: `admin:org`, `read:org`, `write:org`\n  - `order`: Sort order (string, optional)\n  - `page`: Page number for pagination (min 1) (number, optional)\n  - `perPage`: Results per page for pagination (min 1, max 100) (number, optional)\n  - `query`: Organization search query. Examples: 'microsoft', 'location:california', 'created:>=2025-01-01'. Search is automatically scoped to type:org. (string, required)\n  - `sort`: Sort field by category (string, optional)\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\n\u003Csummary>\u003Cpicture>\u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"pkg\u002Focticons\u002Ficons\u002Fproject-dark.png\">\u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_1c7b551f122d.png\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_1c7b551f122d.png\" width=\"20\" height=\"20\" alt=\"project\">\u003C\u002Fpicture> Projects\u003C\u002Fsummary>\n\n- **projects_get** - Get details of GitHub Projects resources\n  - **Required OAuth Scopes**: `read:project`\n  - **Accepted OAuth Scopes**: `project`, `read:project`\n  - `field_id`: The field's ID. Required for 'get_project_field' method. (number, optional)\n  - `fields`: Specific list of field IDs to include in the response when getting a project item (e.g. [\"102589\", \"985201\", \"169875\"]). If not provided, only the title field is included. Only used for 'get_project_item' method. (string[], optional)\n  - `item_id`: The item's ID. Required for 'get_project_item' method. (number, optional)\n  - `method`: The method to execute (string, required)\n  - `owner`: The owner (user or organization login). The name is not case sensitive. (string, optional)\n  - `owner_type`: Owner type (user or org). If not provided, will be automatically detected. (string, optional)\n  - `project_number`: The project's number. (number, optional)\n  - `status_update_id`: The node ID of the project status update. Required for 'get_project_status_update' method. (string, optional)\n\n- **projects_list** - List GitHub Projects resources\n  - **Required OAuth Scopes**: `read:project`\n  - **Accepted OAuth Scopes**: `project`, `read:project`\n  - `after`: Forward pagination cursor from previous pageInfo.nextCursor. (string, optional)\n  - `before`: Backward pagination cursor from previous pageInfo.prevCursor (rare). (string, optional)\n  - `fields`: Field IDs to include when listing project items (e.g. [\"102589\", \"985201\"]). CRITICAL: Always provide to get field values. Without this, only titles returned. Only used for 'list_project_items' method. (string[], optional)\n  - `method`: The action to perform (string, required)\n  - `owner`: The owner (user or organization login). The name is not case sensitive. (string, required)\n  - `owner_type`: Owner type (user or org). If not provided, will automatically try both. (string, optional)\n  - `per_page`: Results per page (max 50) (number, optional)\n  - `project_number`: The project's number. Required for 'list_project_fields', 'list_project_items', and 'list_project_status_updates' methods. (number, optional)\n  - `query`: Filter\u002Fquery string. For list_projects: filter by title text and state (e.g. \"roadmap is:open\"). For list_project_items: advanced filtering using GitHub's project filtering syntax. (string, optional)\n\n- **projects_write** - Modify GitHub Project items\n  - **Required OAuth Scopes**: `project`\n  - `body`: The body of the status update (markdown). Used for 'create_project_status_update' method. (string, optional)\n  - `issue_number`: The issue number (use when item_type is 'issue' for 'add_project_item' method). Provide either issue_number or pull_request_number. (number, optional)\n  - `item_id`: The project item ID. Required for 'update_project_item' and 'delete_project_item' methods. (number, optional)\n  - `item_owner`: The owner (user or organization) of the repository containing the issue or pull request. Required for 'add_project_item' method. (string, optional)\n  - `item_repo`: The name of the repository containing the issue or pull request. Required for 'add_project_item' method. (string, optional)\n  - `item_type`: The item's type, either issue or pull_request. Required for 'add_project_item' method. (string, optional)\n  - `method`: The method to execute (string, required)\n  - `owner`: The project owner (user or organization login). The name is not case sensitive. (string, required)\n  - `owner_type`: Owner type (user or org). If not provided, will be automatically detected. (string, optional)\n  - `project_number`: The project's number. (number, required)\n  - `pull_request_number`: The pull request number (use when item_type is 'pull_request' for 'add_project_item' method). Provide either issue_number or pull_request_number. (number, optional)\n  - `start_date`: The start date of the status update in YYYY-MM-DD format. Used for 'create_project_status_update' method. (string, optional)\n  - `status`: The status of the project. Used for 'create_project_status_update' method. (string, optional)\n  - `target_date`: The target date of the status update in YYYY-MM-DD format. Used for 'create_project_status_update' method. (string, optional)\n  - `updated_field`: Object consisting of the ID of the project field to update and the new value for the field. To clear the field, set value to null. Example: {\"id\": 123456, \"value\": \"New Value\"}. Required for 'update_project_item' method. (object, optional)\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\n\u003Csummary>\u003Cpicture>\u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"pkg\u002Focticons\u002Ficons\u002Fgit-pull-request-dark.png\">\u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_1689ebf60bd4.png\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_1689ebf60bd4.png\" width=\"20\" height=\"20\" alt=\"git-pull-request\">\u003C\u002Fpicture> Pull Requests\u003C\u002Fsummary>\n\n- **add_comment_to_pending_review** - Add review comment to the requester's latest pending pull request review\n  - **Required OAuth Scopes**: `repo`\n  - `body`: The text of the review comment (string, required)\n  - `line`: The line of the blob in the pull request diff that the comment applies to. For multi-line comments, the last line of the range (number, optional)\n  - `owner`: Repository owner (string, required)\n  - `path`: The relative path to the file that necessitates a comment (string, required)\n  - `pullNumber`: Pull request number (number, required)\n  - `repo`: Repository name (string, required)\n  - `side`: The side of the diff to comment on. LEFT indicates the previous state, RIGHT indicates the new state (string, optional)\n  - `startLine`: For multi-line comments, the first line of the range that the comment applies to (number, optional)\n  - `startSide`: For multi-line comments, the starting side of the diff that the comment applies to. LEFT indicates the previous state, RIGHT indicates the new state (string, optional)\n  - `subjectType`: The level at which the comment is targeted (string, required)\n\n- **add_reply_to_pull_request_comment** - Add reply to pull request comment\n  - **Required OAuth Scopes**: `repo`\n  - `body`: The text of the reply (string, required)\n  - `commentId`: The ID of the comment to reply to (number, required)\n  - `owner`: Repository owner (string, required)\n  - `pullNumber`: Pull request number (number, required)\n  - `repo`: Repository name (string, required)\n\n- **create_pull_request** - Open new pull request\n  - **Required OAuth Scopes**: `repo`\n  - `base`: Branch to merge into (string, required)\n  - `body`: PR description (string, optional)\n  - `draft`: Create as draft PR (boolean, optional)\n  - `head`: Branch containing changes (string, required)\n  - `maintainer_can_modify`: Allow maintainer edits (boolean, optional)\n  - `owner`: Repository owner (string, required)\n  - `repo`: Repository name (string, required)\n  - `title`: PR title (string, required)\n\n- **list_pull_requests** - List pull requests\n  - **Required OAuth Scopes**: `repo`\n  - `base`: Filter by base branch (string, optional)\n  - `direction`: Sort direction (string, optional)\n  - `head`: Filter by head user\u002Forg and branch (string, optional)\n  - `owner`: Repository owner (string, required)\n  - `page`: Page number for pagination (min 1) (number, optional)\n  - `perPage`: Results per page for pagination (min 1, max 100) (number, optional)\n  - `repo`: Repository name (string, required)\n  - `sort`: Sort by (string, optional)\n  - `state`: Filter by state (string, optional)\n\n- **merge_pull_request** - Merge pull request\n  - **Required OAuth Scopes**: `repo`\n  - `commit_message`: Extra detail for merge commit (string, optional)\n  - `commit_title`: Title for merge commit (string, optional)\n  - `merge_method`: Merge method (string, optional)\n  - `owner`: Repository owner (string, required)\n  - `pullNumber`: Pull request number (number, required)\n  - `repo`: Repository name (string, required)\n\n- **pull_request_read** - Get details for a single pull request\n  - **Required OAuth Scopes**: `repo`\n  - `method`: Action to specify what pull request data needs to be retrieved from GitHub. \n    Possible options: \n     1. get - Get details of a specific pull request.\n     2. get_diff - Get the diff of a pull request.\n     3. get_status - Get combined commit status of a head commit in a pull request.\n     4. get_files - Get the list of files changed in a pull request. Use with pagination parameters to control the number of results returned.\n     5. get_review_comments - Get review threads on a pull request. Each thread contains logically grouped review comments made on the same code location during pull request reviews. Returns threads with metadata (isResolved, isOutdated, isCollapsed) and their associated comments. Use cursor-based pagination (perPage, after) to control results.\n     6. get_reviews - Get the reviews on a pull request. When asked for review comments, use get_review_comments method.\n     7. get_comments - Get comments on a pull request. Use this if user doesn't specifically want review comments. Use with pagination parameters to control the number of results returned.\n     8. get_check_runs - Get check runs for the head commit of a pull request. Check runs are the individual CI\u002FCD jobs and checks that run on the PR.\n     (string, required)\n  - `owner`: Repository owner (string, required)\n  - `page`: Page number for pagination (min 1) (number, optional)\n  - `perPage`: Results per page for pagination (min 1, max 100) (number, optional)\n  - `pullNumber`: Pull request number (number, required)\n  - `repo`: Repository name (string, required)\n\n- **pull_request_review_write** - Write operations (create, submit, delete) on pull request reviews.\n  - **Required OAuth Scopes**: `repo`\n  - `body`: Review comment text (string, optional)\n  - `commitID`: SHA of commit to review (string, optional)\n  - `event`: Review action to perform. (string, optional)\n  - `method`: The write operation to perform on pull request review. (string, required)\n  - `owner`: Repository owner (string, required)\n  - `pullNumber`: Pull request number (number, required)\n  - `repo`: Repository name (string, required)\n  - `threadId`: The node ID of the review thread (e.g., PRRT_kwDOxxx). Required for resolve_thread and unresolve_thread methods. Get thread IDs from pull_request_read with method get_review_comments. (string, optional)\n\n- **search_pull_requests** - Search pull requests\n  - **Required OAuth Scopes**: `repo`\n  - `order`: Sort order (string, optional)\n  - `owner`: Optional repository owner. If provided with repo, only pull requests for this repository are listed. (string, optional)\n  - `page`: Page number for pagination (min 1) (number, optional)\n  - `perPage`: Results per page for pagination (min 1, max 100) (number, optional)\n  - `query`: Search query using GitHub pull request search syntax (string, required)\n  - `repo`: Optional repository name. If provided with owner, only pull requests for this repository are listed. (string, optional)\n  - `sort`: Sort field by number of matches of categories, defaults to best match (string, optional)\n\n- **update_pull_request** - Edit pull request\n  - **Required OAuth Scopes**: `repo`\n  - `base`: New base branch name (string, optional)\n  - `body`: New description (string, optional)\n  - `draft`: Mark pull request as draft (true) or ready for review (false) (boolean, optional)\n  - `maintainer_can_modify`: Allow maintainer edits (boolean, optional)\n  - `owner`: Repository owner (string, required)\n  - `pullNumber`: Pull request number to update (number, required)\n  - `repo`: Repository name (string, required)\n  - `reviewers`: GitHub usernames to request reviews from (string[], optional)\n  - `state`: New state (string, optional)\n  - `title`: New title (string, optional)\n\n- **update_pull_request_branch** - Update pull request branch\n  - **Required OAuth Scopes**: `repo`\n  - `expectedHeadSha`: The expected SHA of the pull request's HEAD ref (string, optional)\n  - `owner`: Repository owner (string, required)\n  - `pullNumber`: Pull request number (number, required)\n  - `repo`: Repository name (string, required)\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\n\u003Csummary>\u003Cpicture>\u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"pkg\u002Focticons\u002Ficons\u002Frepo-dark.png\">\u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_ed7da5b57a60.png\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_ed7da5b57a60.png\" width=\"20\" height=\"20\" alt=\"repo\">\u003C\u002Fpicture> Repositories\u003C\u002Fsummary>\n\n- **create_branch** - Create branch\n  - **Required OAuth Scopes**: `repo`\n  - `branch`: Name for new branch (string, required)\n  - `from_branch`: Source branch (defaults to repo default) (string, optional)\n  - `owner`: Repository owner (string, required)\n  - `repo`: Repository name (string, required)\n\n- **create_or_update_file** - Create or update file\n  - **Required OAuth Scopes**: `repo`\n  - `branch`: Branch to create\u002Fupdate the file in (string, required)\n  - `content`: Content of the file (string, required)\n  - `message`: Commit message (string, required)\n  - `owner`: Repository owner (username or organization) (string, required)\n  - `path`: Path where to create\u002Fupdate the file (string, required)\n  - `repo`: Repository name (string, required)\n  - `sha`: The blob SHA of the file being replaced. Required if the file already exists. (string, optional)\n\n- **create_repository** - Create repository\n  - **Required OAuth Scopes**: `repo`\n  - `autoInit`: Initialize with README (boolean, optional)\n  - `description`: Repository description (string, optional)\n  - `name`: Repository name (string, required)\n  - `organization`: Organization to create the repository in (omit to create in your personal account) (string, optional)\n  - `private`: Whether repo should be private (boolean, optional)\n\n- **delete_file** - Delete file\n  - **Required OAuth Scopes**: `repo`\n  - `branch`: Branch to delete the file from (string, required)\n  - `message`: Commit message (string, required)\n  - `owner`: Repository owner (username or organization) (string, required)\n  - `path`: Path to the file to delete (string, required)\n  - `repo`: Repository name (string, required)\n\n- **fork_repository** - Fork repository\n  - **Required OAuth Scopes**: `repo`\n  - `organization`: Organization to fork to (string, optional)\n  - `owner`: Repository owner (string, required)\n  - `repo`: Repository name (string, required)\n\n- **get_commit** - Get commit details\n  - **Required OAuth Scopes**: `repo`\n  - `include_diff`: Whether to include file diffs and stats in the response. Default is true. (boolean, optional)\n  - `owner`: Repository owner (string, required)\n  - `page`: Page number for pagination (min 1) (number, optional)\n  - `perPage`: Results per page for pagination (min 1, max 100) (number, optional)\n  - `repo`: Repository name (string, required)\n  - `sha`: Commit SHA, branch name, or tag name (string, required)\n\n- **get_file_contents** - Get file or directory contents\n  - **Required OAuth Scopes**: `repo`\n  - `owner`: Repository owner (username or organization) (string, required)\n  - `path`: Path to file\u002Fdirectory (string, optional)\n  - `ref`: Accepts optional git refs such as `refs\u002Ftags\u002F{tag}`, `refs\u002Fheads\u002F{branch}` or `refs\u002Fpull\u002F{pr_number}\u002Fhead` (string, optional)\n  - `repo`: Repository name (string, required)\n  - `sha`: Accepts optional commit SHA. If specified, it will be used instead of ref (string, optional)\n\n- **get_latest_release** - Get latest release\n  - **Required OAuth Scopes**: `repo`\n  - `owner`: Repository owner (string, required)\n  - `repo`: Repository name (string, required)\n\n- **get_release_by_tag** - Get a release by tag name\n  - **Required OAuth Scopes**: `repo`\n  - `owner`: Repository owner (string, required)\n  - `repo`: Repository name (string, required)\n  - `tag`: Tag name (e.g., 'v1.0.0') (string, required)\n\n- **get_tag** - Get tag details\n  - **Required OAuth Scopes**: `repo`\n  - `owner`: Repository owner (string, required)\n  - `repo`: Repository name (string, required)\n  - `tag`: Tag name (string, required)\n\n- **list_branches** - List branches\n  - **Required OAuth Scopes**: `repo`\n  - `owner`: Repository owner (string, required)\n  - `page`: Page number for pagination (min 1) (number, optional)\n  - `perPage`: Results per page for pagination (min 1, max 100) (number, optional)\n  - `repo`: Repository name (string, required)\n\n- **list_commits** - List commits\n  - **Required OAuth Scopes**: `repo`\n  - `author`: Author username or email address to filter commits by (string, optional)\n  - `owner`: Repository owner (string, required)\n  - `page`: Page number for pagination (min 1) (number, optional)\n  - `path`: Only commits containing this file path will be returned (string, optional)\n  - `perPage`: Results per page for pagination (min 1, max 100) (number, optional)\n  - `repo`: Repository name (string, required)\n  - `sha`: Commit SHA, branch or tag name to list commits of. If not provided, uses the default branch of the repository. If a commit SHA is provided, will list commits up to that SHA. (string, optional)\n  - `since`: Only commits after this date will be returned (ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ or YYYY-MM-DD) (string, optional)\n  - `until`: Only commits before this date will be returned (ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ or YYYY-MM-DD) (string, optional)\n\n- **list_releases** - List releases\n  - **Required OAuth Scopes**: `repo`\n  - `owner`: Repository owner (string, required)\n  - `page`: Page number for pagination (min 1) (number, optional)\n  - `perPage`: Results per page for pagination (min 1, max 100) (number, optional)\n  - `repo`: Repository name (string, required)\n\n- **list_tags** - List tags\n  - **Required OAuth Scopes**: `repo`\n  - `owner`: Repository owner (string, required)\n  - `page`: Page number for pagination (min 1) (number, optional)\n  - `perPage`: Results per page for pagination (min 1, max 100) (number, optional)\n  - `repo`: Repository name (string, required)\n\n- **push_files** - Push files to repository\n  - **Required OAuth Scopes**: `repo`\n  - `branch`: Branch to push to (string, required)\n  - `files`: Array of file objects to push, each object with path (string) and content (string) (object[], required)\n  - `message`: Commit message (string, required)\n  - `owner`: Repository owner (string, required)\n  - `repo`: Repository name (string, required)\n\n- **search_code** - Search code\n  - **Required OAuth Scopes**: `repo`\n  - `order`: Sort order for results (string, optional)\n  - `page`: Page number for pagination (min 1) (number, optional)\n  - `perPage`: Results per page for pagination (min 1, max 100) (number, optional)\n  - `query`: Search query using GitHub's powerful code search syntax. Examples: 'content:Skill language:Java org:github', 'NOT is:archived language:Python OR language:go', 'repo:github\u002Fgithub-mcp-server'. Supports exact matching, language filters, path filters, and more. (string, required)\n  - `sort`: Sort field ('indexed' only) (string, optional)\n\n- **search_repositories** - Search repositories\n  - **Required OAuth Scopes**: `repo`\n  - `minimal_output`: Return minimal repository information (default: true). When false, returns full GitHub API repository objects. (boolean, optional)\n  - `order`: Sort order (string, optional)\n  - `page`: Page number for pagination (min 1) (number, optional)\n  - `perPage`: Results per page for pagination (min 1, max 100) (number, optional)\n  - `query`: Repository search query. Examples: 'machine learning in:name stars:>1000 language:python', 'topic:react', 'user:facebook'. Supports advanced search syntax for precise filtering. (string, required)\n  - `sort`: Sort repositories by field, defaults to best match (string, optional)\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\n\u003Csummary>\u003Cpicture>\u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"pkg\u002Focticons\u002Ficons\u002Fshield-lock-dark.png\">\u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_7b3f11811ed5.png\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_7b3f11811ed5.png\" width=\"20\" height=\"20\" alt=\"shield-lock\">\u003C\u002Fpicture> Secret Protection\u003C\u002Fsummary>\n\n- **get_secret_scanning_alert** - Get secret scanning alert\n  - **Required OAuth Scopes**: `security_events`\n  - **Accepted OAuth Scopes**: `repo`, `security_events`\n  - `alertNumber`: The number of the alert. (number, required)\n  - `owner`: The owner of the repository. (string, required)\n  - `repo`: The name of the repository. (string, required)\n\n- **list_secret_scanning_alerts** - List secret scanning alerts\n  - **Required OAuth Scopes**: `security_events`\n  - **Accepted OAuth Scopes**: `repo`, `security_events`\n  - `owner`: The owner of the repository. (string, required)\n  - `repo`: The name of the repository. (string, required)\n  - `resolution`: Filter by resolution (string, optional)\n  - `secret_type`: A comma-separated list of secret types to return. All default secret patterns are returned. To return generic patterns, pass the token name(s) in the parameter. (string, optional)\n  - `state`: Filter by state (string, optional)\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\n\u003Csummary>\u003Cpicture>\u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"pkg\u002Focticons\u002Ficons\u002Fshield-dark.png\">\u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_bdbe2e548b9e.png\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_bdbe2e548b9e.png\" width=\"20\" height=\"20\" alt=\"shield\">\u003C\u002Fpicture> Security Advisories\u003C\u002Fsummary>\n\n- **get_global_security_advisory** - Get a global security advisory\n  - **Required OAuth Scopes**: `security_events`\n  - **Accepted OAuth Scopes**: `repo`, `security_events`\n  - `ghsaId`: GitHub Security Advisory ID (format: GHSA-xxxx-xxxx-xxxx). (string, required)\n\n- **list_global_security_advisories** - List global security advisories\n  - **Required OAuth Scopes**: `security_events`\n  - **Accepted OAuth Scopes**: `repo`, `security_events`\n  - `affects`: Filter advisories by affected package or version (e.g. \"package1,package2@1.0.0\"). (string, optional)\n  - `cveId`: Filter by CVE ID. (string, optional)\n  - `cwes`: Filter by Common Weakness Enumeration IDs (e.g. [\"79\", \"284\", \"22\"]). (string[], optional)\n  - `ecosystem`: Filter by package ecosystem. (string, optional)\n  - `ghsaId`: Filter by GitHub Security Advisory ID (format: GHSA-xxxx-xxxx-xxxx). (string, optional)\n  - `isWithdrawn`: Whether to only return withdrawn advisories. (boolean, optional)\n  - `modified`: Filter by publish or update date or date range (ISO 8601 date or range). (string, optional)\n  - `published`: Filter by publish date or date range (ISO 8601 date or range). (string, optional)\n  - `severity`: Filter by severity. (string, optional)\n  - `type`: Advisory type. (string, optional)\n  - `updated`: Filter by update date or date range (ISO 8601 date or range). (string, optional)\n\n- **list_org_repository_security_advisories** - List org repository security advisories\n  - **Required OAuth Scopes**: `security_events`\n  - **Accepted OAuth Scopes**: `repo`, `security_events`\n  - `direction`: Sort direction. (string, optional)\n  - `org`: The organization login. (string, required)\n  - `sort`: Sort field. (string, optional)\n  - `state`: Filter by advisory state. (string, optional)\n\n- **list_repository_security_advisories** - List repository security advisories\n  - **Required OAuth Scopes**: `security_events`\n  - **Accepted OAuth Scopes**: `repo`, `security_events`\n  - `direction`: Sort direction. (string, optional)\n  - `owner`: The owner of the repository. (string, required)\n  - `repo`: The name of the repository. (string, required)\n  - `sort`: Sort field. (string, optional)\n  - `state`: Filter by advisory state. (string, optional)\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\n\u003Csummary>\u003Cpicture>\u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"pkg\u002Focticons\u002Ficons\u002Fstar-dark.png\">\u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_6578281897a8.png\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_6578281897a8.png\" width=\"20\" height=\"20\" alt=\"star\">\u003C\u002Fpicture> Stargazers\u003C\u002Fsummary>\n\n- **list_starred_repositories** - List starred repositories\n  - **Required OAuth Scopes**: `repo`\n  - `direction`: The direction to sort the results by. (string, optional)\n  - `page`: Page number for pagination (min 1) (number, optional)\n  - `perPage`: Results per page for pagination (min 1, max 100) (number, optional)\n  - `sort`: How to sort the results. Can be either 'created' (when the repository was starred) or 'updated' (when the repository was last pushed to). (string, optional)\n  - `username`: Username to list starred repositories for. Defaults to the authenticated user. (string, optional)\n\n- **star_repository** - Star repository\n  - **Required OAuth Scopes**: `repo`\n  - `owner`: Repository owner (string, required)\n  - `repo`: Repository name (string, required)\n\n- **unstar_repository** - Unstar repository\n  - **Required OAuth Scopes**: `repo`\n  - `owner`: Repository owner (string, required)\n  - `repo`: Repository name (string, required)\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\n\u003Csummary>\u003Cpicture>\u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"pkg\u002Focticons\u002Ficons\u002Fpeople-dark.png\">\u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_4fed1937db23.png\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_4fed1937db23.png\" width=\"20\" height=\"20\" alt=\"people\">\u003C\u002Fpicture> Users\u003C\u002Fsummary>\n\n- **search_users** - Search users\n  - **Required OAuth Scopes**: `repo`\n  - `order`: Sort order (string, optional)\n  - `page`: Page number for pagination (min 1) (number, optional)\n  - `perPage`: Results per page for pagination (min 1, max 100) (number, optional)\n  - `query`: User search query. Examples: 'john smith', 'location:seattle', 'followers:>100'. Search is automatically scoped to type:user. (string, required)\n  - `sort`: Sort users by number of followers or repositories, or when the person joined GitHub. (string, optional)\n\n\u003C\u002Fdetails>\n\u003C!-- END AUTOMATED TOOLS -->\n\n### Additional Tools in Remote GitHub MCP Server\n\n\u003Cdetails>\n\n\u003Csummary>Copilot\u003C\u002Fsummary>\n\n- **create_pull_request_with_copilot** - Perform task with GitHub Copilot coding agent\n  - `owner`: Repository owner. You can guess the owner, but confirm it with the user before proceeding. (string, required)\n  - `repo`: Repository name. You can guess the repository name, but confirm it with the user before proceeding. (string, required)\n  - `problem_statement`: Detailed description of the task to be performed (e.g., 'Implement a feature that does X', 'Fix bug Y', etc.) (string, required)\n  - `title`: Title for the pull request that will be created (string, required)\n  - `base_ref`: Git reference (e.g., branch) that the agent will start its work from. If not specified, defaults to the repository's default branch (string, optional)\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\n\u003Csummary>Copilot Spaces\u003C\u002Fsummary>\n\n- **get_copilot_space** - Get Copilot Space\n  - `owner`: The owner of the space. (string, required)\n  - `name`: The name of the space. (string, required)\n\n- **list_copilot_spaces** - List Copilot Spaces\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\n\u003Csummary>GitHub Support Docs Search\u003C\u002Fsummary>\n\n- **github_support_docs_search** - Retrieve documentation relevant to answer GitHub product and support questions. Support topics include: GitHub Actions Workflows, Authentication, GitHub Support Inquiries, Pull Request Practices, Repository Maintenance, GitHub Pages, GitHub Packages, GitHub Discussions, Copilot Spaces\n  - `query`: Input from the user about the question they need answered. This is the latest raw unedited user message. You should ALWAYS leave the user message as it is, you should never modify it. (string, required)\n\n\u003C\u002Fdetails>\n\n## Dynamic Tool Discovery\n\n**Note**: This feature is currently in beta and is not available in the Remote GitHub MCP Server. Please test it out and let us know if you encounter any issues.\n\nInstead of starting with all tools enabled, you can turn on dynamic toolset discovery. Dynamic toolsets allow the MCP host to list and enable toolsets in response to a user prompt. This should help to avoid situations where the model gets confused by the sheer number of tools available.\n\n### Using Dynamic Tool Discovery\n\nWhen using the binary, you can pass the `--dynamic-toolsets` flag.\n\n```bash\n.\u002Fgithub-mcp-server --dynamic-toolsets\n```\n\nWhen using Docker, you can pass the toolsets as environment variables:\n\n```bash\ndocker run -i --rm \\\n  -e GITHUB_PERSONAL_ACCESS_TOKEN=\u003Cyour-token> \\\n  -e GITHUB_DYNAMIC_TOOLSETS=1 \\\n  ghcr.io\u002Fgithub\u002Fgithub-mcp-server\n```\n\n## Read-Only Mode\n\nTo run the server in read-only mode, you can use the `--read-only` flag. This will only offer read-only tools, preventing any modifications to repositories, issues, pull requests, etc.\n\n```bash\n.\u002Fgithub-mcp-server --read-only\n```\n\nWhen using Docker, you can pass the read-only mode as an environment variable:\n\n```bash\ndocker run -i --rm \\\n  -e GITHUB_PERSONAL_ACCESS_TOKEN=\u003Cyour-token> \\\n  -e GITHUB_READ_ONLY=1 \\\n  ghcr.io\u002Fgithub\u002Fgithub-mcp-server\n```\n\n## Lockdown Mode\n\nLockdown mode limits the content that the server will surface from public repositories. When enabled, the server checks whether the author of each item has push access to the repository. Private repositories are unaffected, and collaborators keep full access to their own content.\n\n```bash\n.\u002Fgithub-mcp-server --lockdown-mode\n```\n\nWhen running with Docker, set the corresponding environment variable:\n\n```bash\ndocker run -i --rm \\\n  -e GITHUB_PERSONAL_ACCESS_TOKEN=\u003Cyour-token> \\\n  -e GITHUB_LOCKDOWN_MODE=1 \\\n  ghcr.io\u002Fgithub\u002Fgithub-mcp-server\n```\n\nThe behavior of lockdown mode depends on the tool invoked.\n\nFollowing tools will return an error when the author lacks the push access:\n\n- `issue_read:get`\n- `pull_request_read:get`\n\nFollowing tools will filter out content from users lacking the push access:\n\n- `issue_read:get_comments`\n- `issue_read:get_sub_issues`\n- `pull_request_read:get_comments`\n- `pull_request_read:get_review_comments`\n- `pull_request_read:get_reviews`\n\n## i18n \u002F Overriding Descriptions\n\nThe descriptions of the tools can be overridden by creating a\n`github-mcp-server-config.json` file in the same directory as the binary.\n\nThe file should contain a JSON object with the tool names as keys and the new\ndescriptions as values. For example:\n\n```json\n{\n  \"TOOL_ADD_ISSUE_COMMENT_DESCRIPTION\": \"an alternative description\",\n  \"TOOL_CREATE_BRANCH_DESCRIPTION\": \"Create a new branch in a GitHub repository\"\n}\n```\n\nYou can create an export of the current translations by running the binary with\nthe `--export-translations` flag.\n\nThis flag will preserve any translations\u002Foverrides you have made, while adding\nany new translations that have been added to the binary since the last time you\nexported.\n\n```sh\n.\u002Fgithub-mcp-server --export-translations\ncat github-mcp-server-config.json\n```\n\nYou can also use ENV vars to override the descriptions. The environment\nvariable names are the same as the keys in the JSON file, prefixed with\n`GITHUB_MCP_` and all uppercase.\n\nFor example, to override the `TOOL_ADD_ISSUE_COMMENT_DESCRIPTION` tool, you can\nset the following environment variable:\n\n```sh\nexport GITHUB_MCP_TOOL_ADD_ISSUE_COMMENT_DESCRIPTION=\"an alternative description\"\n```\n\n### Overriding Server Name and Title\n\nThe same override mechanism can be used to customize the MCP server's `name` and\n`title` fields in the initialization response. This is useful when running\nmultiple GitHub MCP Server instances (e.g., one for github.com and one for\nGitHub Enterprise Server) so that agents can distinguish between them.\n\n| Key | Environment Variable | Default |\n|-----|---------------------|---------|\n| `SERVER_NAME` | `GITHUB_MCP_SERVER_NAME` | `github-mcp-server` |\n| `SERVER_TITLE` | `GITHUB_MCP_SERVER_TITLE` | `GitHub MCP Server` |\n\nFor example, to configure a server instance for GitHub Enterprise Server:\n\n```json\n{\n  \"SERVER_NAME\": \"ghes-mcp-server\",\n  \"SERVER_TITLE\": \"GHES MCP Server\"\n}\n```\n\nOr using environment variables:\n\n```sh\nexport GITHUB_MCP_SERVER_NAME=\"ghes-mcp-server\"\nexport GITHUB_MCP_SERVER_TITLE=\"GHES MCP Server\"\n```\n\n## Library Usage\n\nThe exported Go API of this module should currently be considered unstable, and subject to breaking changes. In the future, we may offer stability; please file an issue if there is a use case where this would be valuable.\n\n## License\n\nThis project is licensed under the terms of the MIT open source license. Please refer to [MIT](.\u002FLICENSE) for the full terms.\n","[![Go Report Card](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_2b4a70945b89.png)](https:\u002F\u002Fgoreportcard.com\u002Freport\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server)\n\n# GitHub MCP 服务器\n\nGitHub MCP 服务器可将 AI 工具直接连接到 GitHub 平台。这使 AI 代理、助手和聊天机器人能够读取代码库和代码文件，管理问题与拉取请求，分析代码并自动化工作流——所有这些都可通过自然语言交互完成。\n\n### 使用场景\n\n- 仓库管理：浏览和查询代码、搜索文件、分析提交记录，并了解您有权访问的任何仓库的项目结构。\n- 问题与 PR 自动化：创建、更新和管理问题及拉取请求。让 AI 协助分类 Bug、审查代码变更并维护项目看板。\n- CI\u002FCD 与工作流智能化：监控 GitHub Actions 工作流运行情况，分析构建失败原因，管理发布版本，并获取开发流水线的洞察信息。\n- 代码分析：检查安全发现、查看 Dependabot 警报、理解代码模式，并获得关于代码库的全面见解。\n- 团队协作：访问讨论内容、管理通知、分析团队活动，并为您的团队简化流程。\n\n专为希望将其 AI 工具与 GitHub 上下文和功能相连接的开发者打造，从简单的自然语言查询到复杂的多步骤代理工作流均可支持。\n\n---\n\n## 远程 GitHub MCP 服务器\n\n[![在 VS Code 中安装](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FVS_Code-Install_Server-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https:\u002F\u002Finsiders.vscode.dev\u002Fredirect\u002Fmcp\u002Finstall?name=github&config=%7B%22type%22%3A%20%22http%22%2C%22url%22%3A%20%22https%3A%2F%2Fapi.githubcopilot.com%2Fmcp%2F%22%7D) [![在 VS Code Insiders 中安装](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FVS_Code_Insiders-Install_Server-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https:\u002F\u002Finsiders.vscode.dev\u002Fredirect\u002Fmcp\u002Finstall?name=github&config=%7B%22type%22%3A%20%22http%22%2C%22url%22%3A%20%22https%3A%2F%2Fapi.githubcopilot.com%2Fmcp%2F%22%7D&quality=insiders)\n\n远程 GitHub MCP 服务器由 GitHub 托管，是启动和运行最简便的方式。如果您的 MCP 主机不支持远程 MCP 服务器，也不用担心！您可以改用 [本地版 GitHub MCP 服务器](https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server?tab=readme-ov-file#local-github-mcp-server)。\n\n### 先决条件\n\n1. 具有远程服务器支持的兼容 MCP 主机（VS Code 1.101+、Claude Desktop、Cursor、Windsurf 等）\n2. 启用任何适用的 [政策](https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fblob\u002Fmain\u002Fdocs\u002Fpolicies-and-governance.md)\n\n### 在 VS Code 中安装\n\n如需快速安装，请使用上方的一键安装按钮之一。完成该流程后，切换到代理模式（位于 Copilot Chat 文本输入框旁），服务器便会启动。请确保您使用的是 [VS Code 1.101](https:\u002F\u002Fcode.visualstudio.com\u002Fupdates\u002Fv1_101) 或更高版本，以支持远程 MCP 和 OAuth。\n\n或者，您也可以手动配置 VS Code：从下方示例中选择合适的 JSON 块，并将其添加到您的主机配置中：\n\n\u003Ctable>\n\u003Ctr>\u003Cth>使用 OAuth\u003C\u002Fth>\u003Cth>使用 GitHub PAT\u003C\u002Fth>\u003C\u002Ftr>\n\u003Ctr>\u003Cth align=left colspan=2>VS Code（1.101 版或更高）\u003C\u002Fth>\u003C\u002Ftr>\n\u003Ctr valign=top>\n\u003Ctd>\n\n```json\n{\n  \"servers\": {\n    \"github\": {\n      \"type\": \"http\",\n      \"url\": \"https:\u002F\u002Fapi.githubcopilot.com\u002Fmcp\u002F\"\n    }\n  }\n}\n```\n\n\u003C\u002Ftd>\n\u003Ctd>\n\n```json\n{\n  \"servers\": {\n    \"github\": {\n      \"type\": \"http\",\n      \"url\": \"https:\u002F\u002Fapi.githubcopilot.com\u002Fmcp\u002F\",\n      \"headers\": {\n        \"Authorization\": \"Bearer ${input:github_mcp_pat}\"\n      }\n    }\n  },\n  \"inputs\": [\n    {\n      \"type\": \"promptString\",\n      \"id\": \"github_mcp_pat\",\n      \"description\": \"GitHub 个人访问令牌\",\n      \"password\": true\n    }\n  ]\n}\n```\n\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n### 在其他 MCP 主机中安装\n\n- **[Copilot CLI](\u002Fdocs\u002Finstallation-guides\u002Finstall-copilot-cli.md)** - GitHub Copilot CLI 的安装指南\n- **[GitHub Copilot 在其他 IDE 中](\u002Fdocs\u002Finstallation-guides\u002Finstall-other-copilot-ides.md)** - JetBrains、Visual Studio、Eclipse 和 Xcode 中安装 GitHub Copilot 的指南\n- **[Claude 应用程序](\u002Fdocs\u002Finstallation-guides\u002Finstall-claude.md)** - Claude Desktop 和 Claude Code CLI 的安装指南\n- **[Codex](\u002Fdocs\u002Finstallation-guides\u002Finstall-codex.md)** - OpenAI Codex 的安装指南\n- **[Cursor](\u002Fdocs\u002Finstallation-guides\u002Finstall-cursor.md)** - Cursor IDE 的安装指南\n- **[Windsurf](\u002Fdocs\u002Finstallation-guides\u002Finstall-windsurf.md)** - Windsurf IDE 的安装指南\n- **[Rovo Dev CLI](\u002Fdocs\u002Finstallation-guides\u002Finstall-rovo-dev-cli.md)** - Rovo Dev CLI 的安装指南\n\n> **注意：** 每个 MCP 主机应用都需要配置 GitHub 应用或 OAuth 应用来支持通过 OAuth 的远程访问。任何支持远程 MCP 服务器的主机应用都应支持使用 PAT 认证的远程 GitHub 服务器。具体配置细节和支持级别因主机而异。请务必参考主机应用的文档以获取更多信息。\n\n### 配置\n\n#### 工具集配置\n\n有关远程服务器配置、工具集、请求头及高级用法的完整详情，请参阅 [远程服务器文档](docs\u002Fremote-server.md)。该文档提供了在 VS Code 及其他 MCP 主机上连接、自定义和安装远程 GitHub MCP 服务器的全面说明和示例。\n\n未指定任何工具集时，将使用 [默认工具集](#default-toolset)。\n\n#### Insiders 模式\n\n> **抢先体验新功能！** 远程服务器提供 Insiders 版本，可提前访问新功能和实验性工具。\n\n\u003Ctable>\n\u003Ctr>\u003Cth>使用 URL 路径\u003C\u002Fth>\u003Cth>使用请求头\u003C\u002Fth>\u003C\u002Ftr>\n\u003Ctr valign=top>\n\u003Ctd>\n\n```json\n{\n  \"servers\": {\n    \"github\": {\n      \"type\": \"http\",\n      \"url\": \"https:\u002F\u002Fapi.githubcopilot.com\u002Fmcp\u002Finsiders\"\n    }\n  }\n}\n```\n\n\u003C\u002Ftd>\n\u003Ctd>\n\n```json\n{\n  \"servers\": {\n    \"github\": {\n      \"type\": \"http\",\n      \"url\": \"https:\u002F\u002Fapi.githubcopilot.com\u002Fmcp\u002F\",\n      \"headers\": {\n        \"X-MCP-Insiders\": \"true\"\n      }\n    }\n  }\n}\n```\n\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n更多详细信息和示例请参阅 [远程服务器文档](docs\u002Fremote-server.md#insiders-mode)，完整可用功能列表请参阅 [Insiders 功能文档](docs\u002Finsiders-features.md)。\n\n#### GitHub Enterprise\n\n##### 具有数据驻留功能的 GitHub Enterprise Cloud (ghe.com)\n\nGitHub Enterprise Cloud 也可以使用远程服务器。\n\n以下为 `https:\u002F\u002Foctocorp.ghe.com` 使用 GitHub PAT 令牌的示例：\n\n```\n{\n    ...\n    \"github-octocorp\": {\n      \"type\": \"http\",\n      \"url\": \"https:\u002F\u002Fcopilot-api.octocorp.ghe.com\u002Fmcp\",\n      \"headers\": {\n        \"Authorization\": \"Bearer ${input:github_mcp_pat}\"\n      }\n    },\n    ...\n}\n```\n\n> **注意：** 当使用 OAuth 与 GitHub Enterprise 结合 VS Code 和 GitHub Copilot 时，还需要配置 VS Code 设置以指向您的 GitHub Enterprise 实例——请参阅 [从 VS Code 身份验证](https:\u002F\u002Fdocs.github.com\u002Fen\u002Fenterprise-cloud@latest\u002Fcopilot\u002Fhow-tos\u002Fconfigure-personal-settings\u002Fauthenticate-to-ghecom)。\n\n##### GitHub Enterprise Server\n\nGitHub Enterprise Server 不支持远程服务器托管。请参阅本地服务器配置中的 [具有数据驻留功能的 GitHub Enterprise Server 和 Enterprise Cloud (ghe.com)](#github-enterprise-server-and-enterprise-cloud-with-data-residency-ghecom)。\n\n---\n\n## 本地 GitHub MCP 服务器\n\n[![通过 Docker 在 VS Code 中安装](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FVS_Code-Install_Server-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https:\u002F\u002Finsiders.vscode.dev\u002Fredirect\u002Fmcp\u002Finstall?name=github&inputs=%5B%7B%22id%22%3A%22github_token%22%2C%22type%22%3A%22promptString%22%2C%22description%22%3A%22GitHub%20Personal%20Access%20Token%22%2C%22password%22%3Atrue%7D%5D&config=%7B%22command%22%3A%22docker%22%2C%22args%22%3A%5B%22run%22%2C%22-i%22%2C%22--rm%22%2C%22-e%22%2C%22GITHUB_PERSONAL_ACCESS_TOKEN%22%2C%22ghcr.io%2Fgithub%2Fgithub-mcp-server%22%5D%2C%22env%22%3A%7B%22GITHUB_PERSONAL_ACCESS_TOKEN%22%3A%22%24%7Binput%3Agithub_token%7D%22%7D%7D) [![通过 Docker 在 VS Code Insiders 中安装](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FVS_Code_Insiders-Install_Server-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https:\u002F\u002Finsiders.vscode.dev\u002Fredirect\u002Fmcp\u002Finstall?name=github&inputs=%5B%7B%22id%22%3A%22github_token%22%2C%22type%22%3A%22promptString%22%2C%22description%22%3A%22GitHub%20Personal%20Access%20Token%22%2C%22password%22%3Atrue%7D%5D&config=%7B%22command%22%3A%22docker%22%2C%22args%22%3A%5B%22run%22%2C%22-i%22%2C%22--rm%22%2C%22-e%22%2C%22GITHUB_PERSONAL_ACCESS_TOKEN%22%2C%22ghcr.io%2Fgithub%2Fgithub-mcp-server%22%5D%2C%22env%22%3A%7B%22GITHUB_PERSONAL_ACCESS_TOKEN%22%3A%22%24%7Binput%3Agithub_token%7D%22%7D%7D&quality=insiders)\n\n### 前提条件\n\n1. 要在容器中运行服务器，您需要安装 [Docker](https:\u002F\u002Fwww.docker.com\u002F)。\n2. 安装 Docker 后，还需确保 Docker 正在运行。Docker 镜像可在 `ghcr.io\u002Fgithub\u002Fgithub-mcp-server` 获取。该镜像是公开的；如果拉取时出现错误，可能是您的令牌已过期，需执行 `docker logout ghcr.io`。\n3. 最后，您需要 [创建一个 GitHub 个人访问令牌](https:\u002F\u002Fgithub.com\u002Fsettings\u002Fpersonal-access-tokens\u002Fnew)。\nMCP 服务器可以使用许多 GitHub API，因此请启用您认为适合授予 AI 工具的权限（如需了解更多关于访问令牌的信息，请查阅 [文档](https:\u002F\u002Fdocs.github.com\u002Fen\u002Fauthentication\u002Fkeeping-your-account-and-data-secure\u002Fmanaging-your-personal-access-tokens))。\n\n\u003Cdetails>\u003Csummary>\u003Cb>安全处理 PAT 的方法\u003C\u002Fb>\u003C\u002Fsummary>\n\n### 环境变量（推荐）\n\n为确保您的 GitHub PAT 安全且可在不同 MCP 主机之间重复使用：\n\n1. **将您的 PAT 存储在环境变量中**\n\n   ```bash\n   export GITHUB_PAT=your_token_here\n   ```\n\n   或者创建一个 `.env` 文件：\n\n   ```env\n   GITHUB_PAT=your_token_here\n   ```\n\n2. **保护您的 `.env` 文件**\n\n   ```bash\n   # 添加到 .gitignore 以防止意外提交\n   echo \".env\" >> .gitignore\n   ```\n\n3. **在配置中引用令牌**\n\n   ```bash\n   # CLI 使用\n   claude mcp update github -e GITHUB_PERSONAL_ACCESS_TOKEN=$GITHUB_PAT\n\n   # 在配置文件中（若支持）\n   \"env\": {\n     \"GITHUB_PERSONAL_ACCESS_TOKEN\": \"$GITHUB_PAT\"\n   }\n   ```\n\n> **注意：** 环境变量的支持因主机应用和 IDE 而异。某些应用程序（如 Windsurf）要求在配置文件中硬编码令牌。\n\n### 令牌安全最佳实践\n\n- **最小作用域：** 仅授予必要的权限\n  - `repo` —— 仓库操作\n  - `read:packages` —— Docker 镜像访问\n  - `read:org` —— 组织团队访问\n- **分开使用令牌：** 为不同项目\u002F环境使用不同的 PAT\n- **定期轮换：** 定期更新令牌\n- **绝不提交：** 将令牌排除在版本控制之外\n- **文件权限：** 限制对包含令牌的配置文件的访问权限\n\n  ```bash\n  chmod 600 ~\u002F.your-app\u002Fconfig.json\n  ```\n\n\u003C\u002Fdetails>\n\n### 具有数据驻留功能的 GitHub Enterprise Server 和 Enterprise Cloud (ghe.com)\n\n标志 `--gh-host` 和环境变量 `GITHUB_HOST` 可用于设置 GitHub Enterprise Server 或具有数据驻留功能的 GitHub Enterprise Cloud 的主机名。\n\n- 对于 GitHub Enterprise Server，需在主机名前加上 `https:\u002F\u002F` URI 方案，否则默认为 `http:\u002F\u002F`，而 GitHub Enterprise Server 不支持此方案。\n- 对于具有数据驻留功能的 GitHub Enterprise Cloud，则使用 `https:\u002F\u002FYOURSUBDOMAIN.ghe.com` 作为主机名。\n\n``` json\n\"github\": {\n    \"command\": \"docker\",\n    \"args\": [\n    \"run\",\n    \"-i\",\n    \"--rm\",\n    \"-e\",\n    \"GITHUB_PERSONAL_ACCESS_TOKEN\",\n    \"-e\",\n    \"GITHUB_HOST\",\n    \"ghcr.io\u002Fgithub\u002Fgithub-mcp-server\"\n    ],\n    \"env\": {\n        \"GITHUB_PERSONAL_ACCESS_TOKEN\": \"${input:github_token}\",\n        \"GITHUB_HOST\": \"https:\u002F\u002F\u003C您的 GHES 或 ghe.com 域名>\"\n    }\n}\n```\n\n## 安装\n\n### 在 VS Code 中安装 GitHub Copilot\n\n如需快速安装，请使用上方的任一键式安装按钮。完成该流程后，切换代理模式（位于 Copilot Chat 文本输入框旁），服务器便会启动。\n\n有关在 VS Code 的代理模式中使用 MCP 服务器工具的更多信息，请参阅 [代理模式文档](https:\u002F\u002Fcode.visualstudio.com\u002Fdocs\u002Fcopilot\u002Fchat\u002Fmcp-servers)。\n\n在其他 IDE（JetBrains、Visual Studio、Eclipse 等）中安装 GitHub Copilot\n\n将以下 JSON 块添加到您 IDE 的 MCP 设置中。\n\n```json\n{\n  \"mcp\": {\n    \"inputs\": [\n      {\n        \"type\": \"promptString\",\n        \"id\": \"github_token\",\n        \"description\": \"GitHub 个人访问令牌\",\n        \"password\": true\n      }\n    ],\n    \"servers\": {\n      \"github\": {\n        \"command\": \"docker\",\n        \"args\": [\n          \"run\",\n          \"-i\",\n          \"--rm\",\n          \"-e\",\n          \"GITHUB_PERSONAL_ACCESS_TOKEN\",\n          \"ghcr.io\u002Fgithub\u002Fgithub-mcp-server\"\n        ],\n        \"env\": {\n          \"GITHUB_PERSONAL_ACCESS_TOKEN\": \"${input:github_token}\"\n        }\n      }\n    }\n  }\n}\n```\n\n可选地，您也可以将类似的示例（即不包含 mcp 键）添加到工作区中的 `.vscode\u002Fmcp.json` 文件中。这将允许您与其他接受相同格式的主机应用程序共享配置。\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>不含 MCP 键的示例 JSON 块\u003C\u002Fb>\u003C\u002Fsummary>\n\u003Cbr>\n\n```json\n{\n  \"inputs\": [\n    {\n      \"type\": \"promptString\",\n      \"id\": \"github_token\",\n      \"description\": \"GitHub 个人访问令牌\",\n      \"password\": true\n    }\n  ],\n  \"servers\": {\n    \"github\": {\n      \"command\": \"docker\",\n      \"args\": [\n        \"run\",\n        \"-i\",\n        \"--rm\",\n        \"-e\",\n        \"GITHUB_PERSONAL_ACCESS_TOKEN\",\n        \"ghcr.io\u002Fgithub\u002Fgithub-mcp-server\"\n      ],\n      \"env\": {\n        \"GITHUB_PERSONAL_ACCESS_TOKEN\": \"${input:github_token}\"\n      }\n    }\n  }\n}\n```\n\n\u003C\u002Fdetails>\n\n### 在其他 MCP 主机中安装\n\n对于其他 MCP 主机应用程序，请参阅我们的安装指南：\n\n- **[Copilot CLI](docs\u002Finstallation-guides\u002Finstall-copilot-cli.md)** - GitHub Copilot CLI 的安装指南\n- **[其他 IDE 中的 GitHub Copilot](\u002Fdocs\u002Finstallation-guides\u002Finstall-other-copilot-ides.md)** - JetBrains、Visual Studio、Eclipse 和 Xcode 中安装 GitHub Copilot 的指南\n- **[Claude Code & Claude Desktop](docs\u002Finstallation-guides\u002Finstall-claude.md)** - Claude Code 和 Claude Desktop 的安装指南\n- **[Cursor](docs\u002Finstallation-guides\u002Finstall-cursor.md)** - Cursor IDE 的安装指南\n- **[Google Gemini CLI](docs\u002Finstallation-guides\u002Finstall-gemini-cli.md)** - Google Gemini CLI 的安装指南\n- **[Windsurf](docs\u002Finstallation-guides\u002Finstall-windsurf.md)** - Windsurf IDE 的安装指南\n\n如需全面了解所有安装选项，请参阅我们的 **[安装指南索引](docs\u002Finstallation-guides)**。\n\n> **注意：** 任何支持本地 MCP 服务器的主机应用程序都应能够访问本地 GitHub MCP 服务器。然而，具体的配置过程、语法以及集成的稳定性会因主机应用程序而异。尽管许多配置可能与上述示例类似，但这并不能保证。请参考您所使用的主机应用程序的文档，以获取正确的 MCP 配置语法和设置步骤。\n\n### 从源代码构建\n\n如果您没有 Docker，可以使用 `go build` 在 `cmd\u002Fgithub-mcp-server` 目录下构建二进制文件，并使用 `github-mcp-server stdio` 命令，同时将 `GITHUB_PERSONAL_ACCESS_TOKEN` 环境变量设置为您的令牌。要指定构建输出的位置，可以使用 `-o` 标志。您应将服务器配置为使用构建好的可执行文件作为其 `command`。例如：\n\n```JSON\n{\n  \"mcp\": {\n    \"servers\": {\n      \"github\": {\n        \"command\": \"\u002Fpath\u002Fto\u002Fgithub-mcp-server\",\n        \"args\": [\"stdio\"],\n        \"env\": {\n          \"GITHUB_PERSONAL_ACCESS_TOKEN\": \"\u003CYOUR_TOKEN>\"\n        }\n      }\n    }\n  }\n}\n```\n\n### CLI 工具\n\n`github-mcp-server` 二进制文件包含几个用于调试和探索服务器的 CLI 子命令。\n\n- `github-mcp-server tool-search \"\u003Cquery>\"` 可按名称、描述和输入参数名称搜索工具。使用 `--max-results` 可返回更多匹配结果。\n示例（彩色输出需要 TTY；在 Docker 中运行时，请使用 `docker run -t`（或 `-it`））：\n```bash\ndocker run -it --rm ghcr.io\u002Fgithub\u002Fgithub-mcp-server tool-search \"issue\" --max-results 5\ngithub-mcp-server tool-search \"issue\" --max-results 5\n```\n\n## 工具配置\n\nGitHub MCP 服务器支持通过 `--toolsets` 标志启用或禁用特定功能组。这使您可以控制哪些 GitHub API 功能可供您的 AI 工具使用。仅启用您需要的工具集可以帮助 LLM 进行工具选择，并减少上下文大小。\n\n_工具集不仅限于工具。在适用的情况下，相关的 MCP 资源和提示也会被包含在内。_\n\n当未指定任何工具集时，将使用[默认工具集](#default-toolset)。\n\n> **寻找示例？** 请参阅[服务器配置指南](.\u002Fdocs\u002Fserver-configuration.md)，了解常见配置，例如最小化设置、只读模式以及将工具与工具集结合使用。\n\n#### 指定工具集\n\n要指定希望 LLM 可用的工具集，您可以通过两种方式传递允许列表：\n\n1. **使用命令行参数**：\n\n   ```bash\n   github-mcp-server --toolsets repos,issues,pull_requests,actions,code_security\n   ```\n\n2. **使用环境变量**：\n\n   ```bash\n   GITHUB_TOOLSETS=\"repos,issues,pull_requests,actions,code_security\" .\u002Fgithub-mcp-server\n   ```\n\n如果同时提供了环境变量和命令行参数，则环境变量 `GITHUB_TOOLSETS` 优先。\n\n#### 指定单个工具\n\n您还可以使用 `--tools` 标志来配置特定工具。工具可以独立使用，也可以与工具集及动态工具集发现功能结合使用，以实现更精细的控制。\n\n1. **使用命令行参数**：\n\n   ```bash\n   github-mcp-server --tools get_file_contents,issue_read,create_pull_request\n   ```\n\n2. **使用环境变量**：\n\n   ```bash\n   GITHUB_TOOLS=\"get_file_contents,issue_read,create_pull_request\" .\u002Fgithub-mcp-server\n   ```\n\n3. **与工具集结合使用**（累加）：\n\n   ```bash\n   github-mcp-server --toolsets repos,issues --tools get_gist\n   ```\n\n   这将注册 `repos` 和 `issues` 工具集中的所有工具，再加上 `get_gist`。\n\n4. **与动态工具集结合使用**（累加）：\n\n   ```bash\n   github-mcp-server --tools get_file_contents --dynamic-toolsets\n   ```\n\n   这将注册 `get_file_contents` 以及动态工具集中的工具（`enable_toolset`、`list_available_toolsets`、`get_toolset_tools`）。\n\n**重要提示：**\n\n- 工具、工具集和动态工具集可以同时使用。\n- 只读模式优先：如果设置了 `--read-only`，即使通过 `--tools` 显式请求，写入类工具也会被跳过。\n- 工具名称必须完全匹配（例如 `get_file_contents`，而不是 `getFileContents`）。无效的工具名称会导致服务器启动失败并显示错误信息。\n- 当工具重命名时，旧名称会作为别名保留，以确保向后兼容性。有关详细信息，请参阅[已弃用工具别名](docs\u002Fdeprecated-tool-aliases.md)。\n\n### 使用 Docker 配置工具集\n\n在使用 Docker 时，您可以将工具集作为环境变量传递：\n\n```bash\ndocker run -i --rm \\\n  -e GITHUB_PERSONAL_ACCESS_TOKEN=\u003Cyour-token> \\\n  -e GITHUB_TOOLSETS=\"repos,issues,pull_requests,actions,code_security\" \\\n  ghcr.io\u002Fgithub\u002Fgithub-mcp-server\n```\n\n### 使用 Docker 配置工具\n\n在使用 Docker 时，您可以将特定工具作为环境变量传递。您还可以将工具与工具集结合使用：\n\n```bash\n# 仅工具\ndocker run -i --rm \\\n  -e GITHUB_PERSONAL_ACCESS_TOKEN=\u003Cyour-token> \\\n  -e GITHUB_TOOLS=\"get_file_contents,issue_read,create_pull_request\" \\\n  ghcr.io\u002Fgithub\u002Fgithub-mcp-server\n\n# 工具与工具集结合使用（累加）\ndocker run -i --rm \\\n  -e GITHUB_PERSONAL_ACCESS_TOKEN=\u003Cyour-token> \\\n  -e GITHUB_TOOLSETS=\"repos,issues\" \\\n  -e GITHUB_TOOLS=\"get_gist\" \\\n  ghcr.io\u002Fgithub\u002Fgithub-mcp-server\n```\n\n### 特殊工具集\n\n#### “all” 工具集\n\n特殊工具集 `all` 可用于启用所有可用工具集，而不受其他配置的影响：\n\n```bash\n.\u002Fgithub-mcp-server --toolsets all\n```\n\n或者使用环境变量：\n\n```bash\nGITHUB_TOOLSETS=\"all\" .\u002Fgithub-mcp-server\n```\n\n#### “default” 工具集\n\n默认工具集 `default` 是在未指定任何工具集时传递给服务器的配置。\n\n默认配置为：\n\n- context\n- repos\n- issues\n- pull_requests\n- users\n\n要保留默认配置并添加其他工具集：\n\n```bash\nGITHUB_TOOLSETS=\"default,stargazers\" .\u002Fgithub-mcp-server\n```\n\n### 内部人员模式\n\n本地 GitHub MCP 服务器提供内部人员版本，可提前访问新功能和实验性工具。\n\n1. **使用命令行参数**：\n\n   ```bash\n   .\u002Fgithub-mcp-server --insiders\n   ```\n\n2. **使用环境变量**：\n\n   ```bash\n   GITHUB_INSIDERS=true .\u002Fgithub-mcp-server\n   ```\n\n在使用 Docker 时：\n\n```bash\ndocker run -i --rm \\\n  -e GITHUB_PERSONAL_ACCESS_TOKEN=\u003Cyour-token> \\\n  -e GITHUB_INSIDERS=true \\\n  ghcr.io\u002Fgithub\u002Fgithub-mcp-server\n```\n\n### 可用工具集\n\n以下工具集可供使用：\n\n\u003C!-- START AUTOMATED TOOLSETS -->\n|     | 工具集                 | 描述                                                   |\n| --- | ----------------------- | ------------------------------------------------------------- |\n| \u003Cpicture>\u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"pkg\u002Focticons\u002Ficons\u002Fperson-dark.png\">\u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_cc7bb686f6cd.png\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_cc7bb686f6cd.png\" width=\"20\" height=\"20\" alt=\"person\">\u003C\u002Fpicture> | `context`               | **强烈推荐**：提供当前用户及所处 GitHub 上下文信息的工具 |\n| \u003Cpicture>\u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"pkg\u002Focticons\u002Ficons\u002Fworkflow-dark.png\">\u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_584b63516342.png\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_584b63516342.png\" width=\"20\" height=\"20\" alt=\"workflow\">\u003C\u002Fpicture> | `actions` | GitHub Actions 工作流及 CI\u002FCD 操作 |\n| \u003Cpicture>\u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"pkg\u002Focticons\u002Ficons\u002Fcodescan-dark.png\">\u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_561a61bdbe7c.png\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_561a61bdbe7c.png\" width=\"20\" height=\"20\" alt=\"codescan\">\u003C\u002Fpicture> | `code_security` | 与代码安全相关的工具，例如 GitHub Code Scanning |\n| \u003Cpicture>\u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"pkg\u002Focticons\u002Ficons\u002Fcopilot-dark.png\">\u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_7b87550920d5.png\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_7b87550920d5.png\" width=\"20\" height=\"20\" alt=\"copilot\">\u003C\u002Fpicture> | `copilot` | Copilot 相关工具 |\n| \u003Cpicture>\u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"pkg\u002Focticons\u002Ficons\u002Fdependabot-dark.png\">\u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_57c7ba9f9b9c.png\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_57c7ba9f9b9c.png\" width=\"20\" height=\"20\" alt=\"dependabot\">\u003C\u002Fpicture> | `dependabot` | Dependabot 工具 |\n| \u003Cpicture>\u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"pkg\u002Focticons\u002Ficons\u002Fcomment-discussion-dark.png\">\u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_1f0c30a6dcd9.png\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_1f0c30a6dcd9.png\" width=\"20\" height=\"20\" alt=\"comment-discussion\">\u003C\u002Fpicture> | `discussions` | GitHub Discussions 相关工具 |\n| \u003Cpicture>\u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"pkg\u002Focticons\u002Ficons\u002Flogo-gist-dark.png\">\u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_9d91a228ba28.png\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_9d91a228ba28.png\" width=\"20\" height=\"20\" alt=\"logo-gist\">\u003C\u002Fpicture> | `gists` | GitHub Gist 相关工具 |\n| \u003Cpicture>\u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"pkg\u002Focticons\u002Ficons\u002Fgit-branch-dark.png\">\u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_bf45ed19df0a.png\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_bf45ed19df0a.png\" width=\"20\" height=\"20\" alt=\"git-branch\">\u003C\u002Fpicture> | `git` | 用于低级别 Git 操作的 GitHub Git API 相关工具 |\n| \u003Cpicture>\u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"pkg\u002Focticons\u002Ficons\u002Fissue-opened-dark.png\">\u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_ea05075ad404.png\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_ea05075ad404.png\" width=\"20\" height=\"20\" alt=\"issue-opened\">\u003C\u002Fpicture> | `issues` | GitHub Issues 相关工具 |\n| \u003Cpicture>\u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"pkg\u002Focticons\u002Ficons\u002Ftag-dark.png\">\u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_8fa234a7b15d.png\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_8fa234a7b15d.png\" width=\"20\" height=\"20\" alt=\"tag\">\u003C\u002Fpicture> | `labels` | GitHub Labels 相关工具 |\n| \u003Cpicture>\u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"pkg\u002Focticons\u002Ficons\u002Fbell-dark.png\">\u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_224d743ad7ce.png\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_224d743ad7ce.png\" width=\"20\" height=\"20\" alt=\"bell\">\u003C\u002Fpicture> | `notifications` | GitHub Notifications 相关工具 |\n| \u003Cpicture>\u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"pkg\u002Focticons\u002Ficons\u002Forganization-dark.png\">\u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_ee4e4f651dc5.png\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_ee4e4f651dc5.png\" width=\"20\" height=\"20\" alt=\"organization\">\u003C\u002Fpicture> | `orgs` | GitHub Organization 相关工具 |\n| \u003Cpicture>\u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"pkg\u002Focticons\u002Ficons\u002Fproject-dark.png\">\u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_1c7b551f122d.png\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_1c7b551f122d.png\" width=\"20\" height=\"20\" alt=\"project\">\u003C\u002Fpicture> | `projects` | GitHub Projects 相关工具 |\n| \u003Cpicture>\u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"pkg\u002Focticons\u002Ficons\u002Fgit-pull-request-dark.png\">\u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_1689ebf60bd4.png\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_1689ebf60bd4.png\" width=\"20\" height=\"20\" alt=\"git-pull-request\">\u003C\u002Fpicture> | `pull_requests` | GitHub Pull Request 相关工具 |\n| \u003Cpicture>\u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"pkg\u002Focticons\u002Ficons\u002Frepo-dark.png\">\u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_ed7da5b57a60.png\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_ed7da5b57a60.png\" width=\"20\" height=\"20\" alt=\"repo\">\u003C\u002Fpicture> | `repos` | GitHub Repository 相关工具 |\n| \u003Cpicture>\u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"pkg\u002Focticons\u002Ficons\u002Fshield-lock-dark.png\">\u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_7b3f11811ed5.png\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_7b3f11811ed5.png\" width=\"20\" height=\"20\" alt=\"shield-lock\">\u003C\u002Fpicture> | `secret_protection` | 与机密保护相关的工具，例如 GitHub Secret Scanning |\n| \u003Cpicture>\u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"pkg\u002Focticons\u002Ficons\u002Fshield-dark.png\">\u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_bdbe2e548b9e.png\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_bdbe2e548b9e.png\" width=\"20\" height=\"20\" alt=\"shield\">\u003C\u002Fpicture> | `security_advisories` | 安全公告相关工具 |\n| \u003Cpicture>\u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"pkg\u002Focticons\u002Ficons\u002Fstar-dark.png\">\u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_6578281897a8.png\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_6578281897a8.png\" width=\"20\" height=\"20\" alt=\"star\">\u003C\u002Fpicture> | `stargazers` | GitHub Stargazers 相关工具 |\n| \u003Cpicture>\u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"pkg\u002Focticons\u002Ficons\u002Fpeople-dark.png\">\u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_4fed1937db23.png\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_4fed1937db23.png\" width=\"20\" height=\"20\" alt=\"people\">\u003C\u002Fpicture> | `users` | GitHub User 相关工具 |\n\u003C!-- END AUTOMATED TOOLSETS -->\n\n### 远程 GitHub MCP 服务器中的附加工具集\n\n| 工具集                 | 描述                                                   |\n| ----------------------- | ------------------------------------------------------------- |\n| `copilot` | Copilot 相关工具（例如 Copilot 编码代理） |\n| `copilot_spaces` | Copilot Spaces 相关工具 |\n| `github_support_docs_search` | 搜索文档以解答 GitHub 产品及支持相关问题 |\n\n## 工具\n\n\u003C!-- START AUTOMATED TOOLS -->\n\u003Cdetails>\n\n\u003Csummary>\u003Cpicture>\u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"pkg\u002Focticons\u002Ficons\u002Fworkflow-dark.png\">\u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_584b63516342.png\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_584b63516342.png\" width=\"20\" height=\"20\" alt=\"workflow\">\u003C\u002Fpicture> Actions\u003C\u002Fsummary>\n\n- **actions_get** - 获取 GitHub Actions 资源的详细信息（工作流、工作流运行、作业和构件）\n  - **所需 OAuth 范围**: `repo`\n  - `method`: 要执行的方法（字符串，必填）\n  - `owner`: 仓库所有者（字符串，必填）\n  - `repo`: 仓库名称（字符串，必填）\n  - `resource_id`: 资源的唯一标识符。这会根据提供的“method”而变化，因此请确保提供正确的 ID：\n    - 对于 'get_workflow' 方法，提供工作流 ID 或工作流文件名（如 ci.yaml）。\n    - 对于 'get_workflow_run'、'get_workflow_run_usage' 和 'get_workflow_run_logs_url' 方法，提供工作流运行 ID。\n    - 对于 'download_workflow_run_artifact' 方法，提供构件 ID。\n    - 对于 'get_workflow_job' 方法，提供作业 ID。（字符串，必填）\n\n- **actions_list** - 列出仓库中的 GitHub Actions 工作流\n  - **所需 OAuth 范围**: `repo`\n  - `method`: 要执行的操作（字符串，必填）\n  - `owner`: 仓库所有者（字符串，必填）\n  - `page`: 分页的页码（默认：1）（数字，可选）\n  - `per_page`: 每页显示的结果数（默认：30，最大：100）（数字，可选）\n  - `repo`: 仓库名称（字符串，必填）\n  - `resource_id`: 资源的唯一标识符。这会根据提供的“method”而变化，因此请确保提供正确的 ID：\n    - 对于 'list_workflows' 方法，无需提供资源 ID。\n    - 对于 'list_workflow_runs' 方法，提供工作流 ID 或工作流文件名（如 ci.yaml），或者不提供以列出仓库中的所有工作流运行。\n    - 对于 'list_workflow_jobs' 和 'list_workflow_run_artifacts' 方法，提供工作流运行 ID。（字符串，可选）\n  - `workflow_jobs_filter`: 工作流作业的筛选条件。**仅**在方法为 'list_workflow_jobs' 时使用（对象，可选）\n  - `workflow_runs_filter`: 工作流运行的筛选条件。**仅**在方法为 'list_workflow_runs' 时使用（对象，可选）\n\n- **actions_run_trigger** - 触发 GitHub Actions 工作流操作\n  - **所需 OAuth 范围**: `repo`\n  - `inputs`: 工作流接受的输入。仅用于 'run_workflow' 方法。（对象，可选）\n  - `method`: 要执行的方法（字符串，必填）\n  - `owner`: 仓库所有者（字符串，必填）\n  - `ref`: 工作流的 Git 引用。引用可以是分支或标签名称。对于 'run_workflow' 方法，这是必填项。（字符串，可选）\n  - `repo`: 仓库名称（字符串，必填）\n  - `run_id`: 工作流运行的 ID。除 'run_workflow' 方法外，其他方法均需提供此参数。（数字，可选）\n  - `workflow_id`: 工作流的 ID（数字）或工作流文件名（如 main.yml、ci.yaml）。这是 'run_workflow' 方法的必填项。（字符串，可选）\n\n- **get_job_logs** - 获取 GitHub Actions 工作流作业的日志\n  - **所需 OAuth 范围**: `repo`\n  - `failed_only`: 如果为真，则获取由 run_id 指定的工作流运行中所有失败作业的日志。需要提供 run_id。（布尔值，可选）\n  - `job_id`: 工作流作业的唯一标识符。当要获取单个作业的日志时，此参数为必填项。（数字，可选）\n  - `owner`: 仓库所有者（字符串，必填）\n  - `repo`: 仓库名称（字符串，必填）\n  - `return_content`: 返回实际的日志内容而非 URL。（布尔值，可选）\n  - `run_id`: 工作流运行的唯一标识符。当 failed_only 为真时，此参数为必填项，用于获取该运行中所有失败作业的日志。（数字，可选）\n  - `tail_lines`: 从日志末尾返回的行数（数字，可选）\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\n\u003Csummary>\u003Cpicture>\u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"pkg\u002Focticons\u002Ficons\u002Fcodescan-dark.png\">\u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_561a61bdbe7c.png\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_561a61bdbe7c.png\" width=\"20\" height=\"20\" alt=\"codescan\">\u003C\u002Fpicture> 代码安全\u003C\u002Fsummary>\n\n- **get_code_scanning_alert** - 获取代码扫描告警\n  - **所需 OAuth 范围**: `security_events`\n  - **接受的 OAuth 范围**: `repo`, `security_events`\n  - `alertNumber`: 告警的编号。（数字，必填）\n  - `owner`: 仓库的所有者。（字符串，必填）\n  - `repo`: 仓库名称。（字符串，必填）\n\n- **list_code_scanning_alerts** - 列出代码扫描告警\n  - **所需 OAuth 范围**: `security_events`\n  - **接受的 OAuth 范围**: `repo`, `security_events`\n  - `owner`: 仓库的所有者。（字符串，必填）\n  - `ref`: 您想要列出结果的 Git 引用。（字符串，可选）\n  - `repo`: 仓库名称。（字符串，必填）\n  - `severity`: 按严重程度筛选代码扫描告警。（字符串，可选）\n  - `state`: 按状态筛选代码扫描告警。默认为未解决。（字符串，可选）\n  - `tool_name`: 用于代码扫描的工具名称。（字符串，可选）\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\n\u003Csummary>\u003Cpicture>\u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"pkg\u002Focticons\u002Ficons\u002Fperson-dark.png\">\u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_cc7bb686f6cd.png\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_cc7bb686f6cd.png\" width=\"20\" height=\"20\" alt=\"person\">\u003C\u002Fpicture> 上下文\u003C\u002Fsummary>\n\n- **get_me** - 获取我的用户资料\n  - 无需参数\n\n- **get_team_members** - 获取团队成员\n  - **所需 OAuth 范围**: `read:org`\n  - **接受的 OAuth 范围**: `admin:org`, `read:org`, `write:org`\n  - `org`: 包含该团队的组织登录名（所有者）。（字符串，必填）\n  - `team_slug`: 团队的别名。（字符串，必填）\n\n- **get_teams** - 获取团队\n  - **所需 OAuth 范围**: `read:org`\n  - **接受的 OAuth 范围**: `admin:org`, `read:org`, `write:org`\n  - `user`: 要为其获取团队的用户名。如果未提供，则使用已认证的用户。（字符串，可选）\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\n\u003Csummary>\u003Cpicture>\u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"pkg\u002Focticons\u002Ficons\u002Fcopilot-dark.png\">\u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_7b87550920d5.png\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_7b87550920d5.png\" width=\"20\" height=\"20\" alt=\"copilot\">\u003C\u002Fpicture> Copilot\u003C\u002Fsummary>\n\n- **assign_copilot_to_issue** - 将 Copilot 分配给议题\n  - **必需的 OAuth 范围**: `repo`\n  - `base_ref`: 代理将从中开始工作的 Git 引用（例如分支）。如果未指定，则默认为仓库的默认分支（字符串，可选）\n  - `custom_instructions`: 可选的自定义指令，用于在议题正文之外指导代理。使用此参数提供额外的上下文、限制或指导，这些内容未包含在议题描述中（字符串，可选）\n  - `issue_number`: 议题编号（数字，必填）\n  - `owner`: 仓库所有者（字符串，必填）\n  - `repo`: 仓库名称（字符串，必填）\n\n- **request_copilot_review** - 请求 Copilot 审查\n  - **必需的 OAuth 范围**: `repo`\n  - `owner`: 仓库所有者（字符串，必填）\n  - `pullNumber`: 拉取请求编号（数字，必填）\n  - `repo`: 仓库名称（字符串，必填）\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\n\u003Csummary>\u003Cpicture>\u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"pkg\u002Focticons\u002Ficons\u002Fdependabot-dark.png\">\u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_57c7ba9f9b9c.png\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_57c7ba9f9b9c.png\" width=\"20\" height=\"20\" alt=\"dependabot\">\u003C\u002Fpicture> Dependabot\u003C\u002Fsummary>\n\n- **get_dependabot_alert** - 获取 Dependabot 警报\n  - **必需的 OAuth 范围**: `security_events`\n  - **接受的 OAuth 范围**: `repo`, `security_events`\n  - `alertNumber`: 警报的编号。（数字，必填）\n  - `owner`: 仓库的所有者。（字符串，必填）\n  - `repo`: 仓库的名称。（字符串，必填）\n\n- **list_dependabot_alerts** - 列出 Dependabot 警报\n  - **必需的 OAuth 范围**: `security_events`\n  - **接受的 OAuth 范围**: `repo`, `security_events`\n  - `owner`: 仓库的所有者。（字符串，必填）\n  - `repo`: 仓库的名称。（字符串，必填）\n  - `severity`: 按严重程度筛选 Dependabot 警报（字符串，可选）\n  - `state`: 按状态筛选 Dependabot 警报。默认为未解决（字符串，可选）\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\n\u003Csummary>\u003Cpicture>\u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"pkg\u002Focticons\u002Ficons\u002Fcomment-discussion-dark.png\">\u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_1f0c30a6dcd9.png\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_1f0c30a6dcd9.png\" width=\"20\" height=\"20\" alt=\"comment-discussion\">\u003C\u002Fpicture> 讨论区\u003C\u002Fsummary>\n\n- **get_discussion** - 获取讨论\n  - **必需的 OAuth 范围**: `repo`\n  - `discussionNumber`: 讨论编号（数字，必填）\n  - `owner`: 仓库所有者（字符串，必填）\n  - `repo`: 仓库名称（字符串，必填）\n\n- **get_discussion_comments** - 获取讨论评论\n  - **必需的 OAuth 范围**: `repo`\n  - `after`: 分页游标。对于 GraphQL API，使用上一页 PageInfo 中的 endCursor。（字符串，可选）\n  - `discussionNumber`: 讨论编号（数字，必填）\n  - `owner`: 仓库所有者（字符串，必填）\n  - `perPage`: 每页返回的结果数，用于分页（最小 1，最大 100）（数字，可选）\n  - `repo`: 仓库名称（字符串，必填）\n\n- **list_discussion_categories** - 列出讨论类别\n  - **必需的 OAuth 范围**: `repo`\n  - `owner`: 仓库所有者（字符串，必填）\n  - `repo`: 仓库名称。如果未提供，则将在组织级别查询讨论类别。（字符串，可选）\n\n- **list_discussions** - 列出讨论\n  - **必需的 OAuth 范围**: `repo`\n  - `after`: 分页游标。对于 GraphQL API，使用上一页 PageInfo 中的 endCursor。（字符串，可选）\n  - `category`: 按讨论类别 ID 进行筛选（可选）。如果提供，则仅列出具有该类别的讨论。（字符串，可选）\n  - `direction`: 排序方向。（字符串，可选）\n  - `orderBy`: 按字段对讨论进行排序。如果提供，则也需要提供 'direction'。（字符串，可选）\n  - `owner`: 仓库所有者（字符串，必填）\n  - `perPage`: 每页返回的结果数，用于分页（最小 1，最大 100）（数字，可选）\n  - `repo`: 仓库名称。如果未提供，则将在组织级别查询讨论。（字符串，可选）\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\n\u003Csummary>\u003Cpicture>\u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"pkg\u002Focticons\u002Ficons\u002Flogo-gist-dark.png\">\u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_9d91a228ba28.png\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_9d91a228ba28.png\" width=\"20\" height=\"20\" alt=\"logo-gist\">\u003C\u002Fpicture> Gists\u003C\u002Fsummary>\n\n- **create_gist** - 创建 Gist\n  - **必需的 OAuth 范围**: `gist`\n  - `content`: 用于简单单文件 Gist 创建的内容（字符串，必填）\n  - `description`: Gist 的描述（字符串，可选）\n  - `filename`: 用于简单单文件 Gist 创建的文件名（字符串，必填）\n  - `public`: Gist 是否公开（布尔值，可选）\n\n- **get_gist** - 获取 Gist 内容\n  - `gist_id`: Gist 的 ID（字符串，必填）\n\n- **list_gists** - 列出 Gists\n  - `page`: 分页的页码（最小 1）（数字，可选）\n  - `perPage`: 每页返回的结果数，用于分页（最小 1，最大 100）（数字，可选）\n  - `since`: 仅显示在此时间之后更新的 Gists（ISO 8601 时间戳）（字符串，可选）\n  - `username`: GitHub 用户名（如果是已认证用户的 Gists，则省略）（字符串，可选）\n\n- **update_gist** - 更新 Gist\n  - **必需的 OAuth 范围**: `gist`\n  - `content`: 文件的内容（字符串，必填）\n  - `description`: Gist 的更新描述（字符串，可选）\n  - `filename`: 需要更新或创建的文件名（字符串，必填）\n  - `gist_id`: 需要更新的 Gist 的 ID（字符串，必填）\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\n\u003Csummary>\u003Cpicture>\u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"pkg\u002Focticons\u002Ficons\u002Fgit-branch-dark.png\">\u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_bf45ed19df0a.png\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_bf45ed19df0a.png\" width=\"20\" height=\"20\" alt=\"git-branch\">\u003C\u002Fpicture> Git\u003C\u002Fsummary>\n\n- **get_repository_tree** - 获取仓库树\n  - **必需的 OAuth 范围**: `repo`\n  - `owner`: 仓库所有者（用户名或组织）（字符串，必填）\n  - `path_filter`: 可选的路径前缀，用于过滤树结果（例如，'src\u002F' 仅显示 src 目录中的文件）（字符串，可选）\n  - `recursive`: 将此参数设置为 true 会返回树所引用的对象或子树。默认为 false（布尔值，可选）\n  - `repo`: 仓库名称（字符串，必填）\n  - `tree_sha`: 树的 SHA1 值或引用（分支或标签）名称。默认为仓库的默认分支（字符串，可选）\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\n\u003Csummary>\u003Cpicture>\u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"pkg\u002Focticons\u002Ficons\u002Fissue-opened-dark.png\">\u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_ea05075ad404.png\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_ea05075ad404.png\" width=\"20\" height=\"20\" alt=\"issue-opened\">\u003C\u002Fpicture> 议题\u003C\u002Fsummary>\n\n- **add_issue_comment** - 向议题添加评论\n  - **所需 OAuth 范围**: `repo`\n  - `body`: 评论内容（字符串，必填）\n  - `issue_number`: 要评论的议题编号（数字，必填）\n  - `owner`: 仓库所有者（字符串，必填）\n  - `repo`: 仓库名称（字符串，必填）\n\n- **get_label** - 获取仓库中的特定标签。\n  - **所需 OAuth 范围**: `repo`\n  - `name`: 标签名称。（字符串，必填）\n  - `owner`: 仓库所有者（用户名或组织名称）（字符串，必填）\n  - `repo`: 仓库名称（字符串，必填）\n\n- **issue_read** - 获取议题详情\n  - **所需 OAuth 范围**: `repo`\n  - `issue_number`: 议题的编号（数字，必填）\n  - `method`: 对单个议题执行的读取操作。\n    选项包括：\n    1. get - 获取特定议题的详细信息。\n    2. get_comments - 获取议题评论。\n    3. get_sub_issues - 获取该议题的子议题。\n    4. get_labels - 获取分配给该议题的标签。\n     （字符串，必填）\n  - `owner`: 仓库的所有者（字符串，必填）\n  - `page`: 分页的页码（最小为1）（数字，可选）\n  - `perPage`: 每页显示的结果数（最小为1，最大为100）（数字，可选）\n  - `repo`: 仓库名称（字符串，必填）\n\n- **issue_write** - 创建或更新议题。\n  - **所需 OAuth 范围**: `repo`\n  - `assignees`: 要分配给该议题的用户名（字符串数组，可选）\n  - `body`: 议题正文内容（字符串，可选）\n  - `duplicate_of`: 该议题是哪个议题的重复。仅当 state_reason 为 'duplicate' 时使用。（数字，可选）\n  - `issue_number`: 要更新的议题编号（数字，可选）\n  - `labels`: 要应用到该议题的标签（字符串数组，可选）\n  - `method`: 对单个议题执行的写入操作。\n    选项包括：\n    - 'create' - 创建新议题。\n    - 'update' - 更新现有议题。\n     （字符串，必填）\n  - `milestone`: 阶段里程碑编号（数字，可选）\n  - `owner`: 仓库所有者（字符串，必填）\n  - `repo`: 仓库名称（字符串，必填）\n  - `state`: 新状态（字符串，可选）\n  - `state_reason`: 状态变更的原因。除非状态发生改变，否则将被忽略。（字符串，可选）\n  - `title`: 议题标题（字符串，可选）\n  - `type`: 该议题的类型。仅在仓库已配置议题类型时使用。请使用 list_issue_types 工具获取组织的有效类型值。如果仓库不支持议题类型，则省略此参数。（字符串，可选）\n\n- **list_issue_types** - 列出可用的议题类型\n  - **所需 OAuth 范围**: `read:org`\n  - **接受的 OAuth 范围**: `admin:org`, `read:org`, `write:org`\n  - `owner`: 仓库所属组织的所有者（字符串，必填）\n\n- **list_issues** - 列出议题\n  - **所需 OAuth 范围**: `repo`\n  - `after`: 分页游标。对于 GraphQL API，使用上一页 PageInfo 中的 endCursor。（字符串，可选）\n  - `direction`: 排序方向。如果提供此参数，则也需要提供 'orderBy'。（字符串，可选）\n  - `labels`: 按标签筛选（字符串数组，可选）\n  - `orderBy`: 按字段对议题进行排序。如果提供此参数，则也需要提供 'direction'。（字符串，可选）\n  - `owner`: 仓库所有者（字符串，必填）\n  - `perPage`: 每页显示的结果数（最小为1，最大为100）（数字，可选）\n  - `repo`: 仓库名称（字符串，必填）\n  - `since`: 按日期筛选（ISO 8601 时间戳）（字符串，可选）\n  - `state`: 按状态筛选，默认情况下，如果不指定状态，则同时返回开放和关闭的议题。（字符串，可选）\n\n- **search_issues** - 搜索议题\n  - **所需 OAuth 范围**: `repo`\n  - `order`: 排序顺序（字符串，可选）\n  - `owner`: 可选的仓库所有者。如果同时提供了 repo，则只列出该仓库的议题。（字符串，可选）\n  - `page`: 分页的页码（最小为1）（数字，可选）\n  - `perPage`: 每页显示的结果数（最小为1，最大为100）（数字，可选）\n  - `query`: 使用 GitHub 议题搜索语法的搜索查询（字符串，必填）\n  - `repo`: 可选的仓库名称。如果同时提供了 owner，则只列出该仓库的议题。（字符串，可选）\n  - `sort`: 按类别匹配次数排序字段，默认为最佳匹配（字符串，可选）\n\n- **sub_issue_write** - 修改子议题\n  - **所需 OAuth 范围**: `repo`\n  - `after_id`: 要置于其后的子议题 ID（必须指定 after_id 或 before_id 中的一个）（数字，可选）\n  - `before_id`: 要置于其前的子议题 ID（必须指定 after_id 或 before_id 中的一个）（数字，可选）\n  - `issue_number`: 父议题的编号（数字，必填）\n  - `method`: 对单个子议题执行的操作\n    选项包括：\n    - 'add' - 在 GitHub 仓库中向父议题添加子议题。\n    - 'remove' - 在 GitHub 仓库中从父议题中移除子议题。\n    - 'reprioritize' - 在 GitHub 仓库中更改父议题内子议题的顺序。使用 'after_id' 或 'before_id' 来指定新的位置。\n    \t\t\t\t （字符串，必填）\n  - `owner`: 仓库所有者（字符串，必填）\n  - `replace_parent`: 当设置为 true 时，会替换子议题当前的父议题。仅与 'add' 方法一起使用。（布尔值，可选）\n  - `repo`: 仓库名称（字符串，必填）\n  - `sub_issue_id`: 要添加的子议题 ID。ID 不同于议题编号（数字，必填）\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\n\u003Csummary>\u003Cpicture>\u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"pkg\u002Focticons\u002Ficons\u002Ftag-dark.png\">\u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_8fa234a7b15d.png\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_8fa234a7b15d.png\" width=\"20\" height=\"20\" alt=\"tag\">\u003C\u002Fpicture> 标签\u003C\u002Fsummary>\n\n- **get_label** - 获取仓库中的特定标签。\n  - **所需 OAuth 范围**: `repo`\n  - `name`: 标签名称。（字符串，必填）\n  - `owner`: 仓库所有者（用户名或组织名称）（字符串，必填）\n  - `repo`: 仓库名称（字符串，必填）\n\n- **label_write** - 对仓库标签执行写入操作。\n  - **所需 OAuth 范围**: `repo`\n  - `color`: 标签颜色，采用 6 位十六进制代码，不带 '#' 前缀（例如：'f29513'）。创建标签时必填，更新标签时可选。（字符串，可选）\n  - `description`: 标签描述文本。创建和更新标签时均可选。（字符串，可选）\n  - `method`: 要执行的操作：'create'、'update' 或 'delete'（字符串，必填）\n  - `name`: 标签名称 - 所有操作均需提供（字符串，必填）\n  - `new_name`: 标签的新名称（仅在使用 'update' 方法重命名时使用）（字符串，可选）\n  - `owner`: 仓库所有者（用户名或组织名称）（字符串，必填）\n  - `repo`: 仓库名称（字符串，必填）\n\n- **list_label** - 从仓库中列出标签\n  - **所需 OAuth 范围**: `repo`\n  - `owner`: 仓库所有者（用户名或组织名称）——所有操作均需提供（字符串，必填）\n  - `repo`: 仓库名称——所有操作均需提供（字符串，必填）\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\n\u003Csummary>\u003Cpicture>\u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"pkg\u002Focticons\u002Ficons\u002Fbell-dark.png\">\u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_224d743ad7ce.png\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_224d743ad7ce.png\" width=\"20\" height=\"20\" alt=\"bell\">\u003C\u002Fpicture> 通知\u003C\u002Fsummary>\n\n- **dismiss_notification** - 关闭通知\n  - **所需 OAuth 范围**: `notifications`\n  - `state`: 通知的新状态（已读\u002F已完成）（字符串，必填）\n  - `threadID`: 通知线程的 ID（字符串，必填）\n\n- **get_notification_details** - 获取通知详情\n  - **所需 OAuth 范围**: `notifications`\n  - `notificationID`: 通知的 ID（字符串，必填）\n\n- **list_notifications** - 列出通知\n  - **所需 OAuth 范围**: `notifications`\n  - `before`: 仅显示在指定时间之前更新的通知（ISO 8601 格式）（字符串，可选）\n  - `filter`: 过滤通知类型，默认为未读。未读通知是指用户尚未查看的通知；参与中的通知则是指用户直接参与其中的通知，例如他们评论或创建的议题或拉取请求。（字符串，可选）\n  - `owner`: 可选的仓库所有者。如果同时提供了仓库名，则只列出该仓库的通知。（字符串，可选）\n  - `page`: 分页的页码（最小值为 1）（数字，可选）\n  - `perPage`: 每页显示的结果数量（最小值为 1，最大值为 100）（数字，可选）\n  - `repo`: 可选的仓库名称。如果同时提供了所有者，则只列出该仓库的通知。（字符串，可选）\n  - `since`: 仅显示在指定时间之后更新的通知（ISO 8601 格式）（字符串，可选）\n\n- **manage_notification_subscription** - 管理通知订阅\n  - **所需 OAuth 范围**: `notifications`\n  - `action`: 要执行的操作：忽略、关注或删除通知订阅。（字符串，必填）\n  - `notificationID`: 通知线程的 ID。（字符串，必填）\n\n- **manage_repository_notification_subscription** - 管理仓库通知订阅\n  - **所需 OAuth 范围**: `notifications`\n  - `action`: 要执行的操作：忽略、关注或删除仓库通知订阅。（字符串，必填）\n  - `owner`: 仓库的所有者账户。（字符串，必填）\n  - `repo`: 仓库的名称。（字符串，必填）\n\n- **mark_all_notifications_read** - 将所有通知标记为已读\n  - **所需 OAuth 范围**: `notifications`\n  - `lastReadAt`: 描述上次检查通知的时间点（可选）。默认值为当前时间。（字符串，可选）\n  - `owner`: 可选的仓库所有者。如果同时提供了仓库名，则只将该仓库的通知标记为已读。（字符串，可选）\n  - `repo`: 可选的仓库名称。如果同时提供了所有者，则只将该仓库的通知标记为已读。（字符串，可选）\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\n\u003Csummary>\u003Cpicture>\u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"pkg\u002Focticons\u002Ficons\u002Forganization-dark.png\">\u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_ee4e4f651dc5.png\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_ee4e4f651dc5.png\" width=\"20\" height=\"20\" alt=\"organization\">\u003C\u002Fpicture> 组织\u003C\u002Fsummary>\n\n- **search_orgs** - 搜索组织\n  - **所需 OAuth 范围**: `read:org`\n  - **接受的 OAuth 范围**: `admin:org`, `read:org`, `write:org`\n  - `order`: 排序方式（字符串，可选）\n  - `page`: 分页的页码（最小值为 1）（数字，可选）\n  - `perPage`: 分页时每页显示的结果数量（最小值为 1，最大值为 100）（数字，可选）\n  - `query`: 组织搜索查询。示例：“microsoft”、“location:california”、“created:>=2025-01-01”。搜索会自动限定为 type:org 类型。（字符串，必填）\n  - `sort`: 按类别排序字段（字符串，可选）\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\n\u003Csummary>\u003Cpicture>\u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"pkg\u002Focticons\u002Ficons\u002Fproject-dark.png\">\u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_1c7b551f122d.png\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_1c7b551f122d.png\" width=\"20\" height=\"20\" alt=\"project\">\u003C\u002Fpicture> 项目\u003C\u002Fsummary>\n\n- **projects_get** - 获取 GitHub 项目资源的详细信息\n  - **所需 OAuth 范围**: `read:project`\n  - **接受的 OAuth 范围**: `project`, `read:project`\n  - `field_id`: 字段的 ID。用于“get_project_field”方法。（数字，可选）\n  - `fields`: 获取项目条目时，在响应中包含的具体字段 ID 列表（例如：[“102589”、“985201”、“169875”]）。如果不提供，则仅包含标题字段。仅适用于“get_project_item”方法。（字符串数组，可选）\n  - `item_id`: 项目的 ID。用于“get_project_item”方法。（数字，可选）\n  - `method`: 要执行的方法（字符串，必填）\n  - `owner`: 所有者（用户或组织登录名）。名称不区分大小写。（字符串，可选）\n  - `owner_type`: 所有者类型（用户或组织）。如果不提供，则会自动检测。（字符串，可选）\n  - `project_number`: 项目的编号。（数字，可选）\n  - `status_update_id`: 项目状态更新的节点 ID。用于“get_project_status_update”方法。（字符串，可选）\n\n- **projects_list** - 列出 GitHub 项目资源\n  - **所需 OAuth 范围**: `read:project`\n  - **接受的 OAuth 范围**: `project`, `read:project`\n  - `after`: 来自上一页 pageInfo.nextCursor 的向前分页光标。（字符串，可选）\n  - `before`: 来自上一页 pageInfo.prevCursor 的向后分页光标（较少见）。（字符串，可选）\n  - `fields`: 列出项目条目时要包含的字段 ID（例如：[“102589”、“985201”]）。重要提示：务必提供此参数才能获取字段值。否则只会返回标题。仅适用于“list_project_items”方法。（字符串数组，可选）\n  - `method`: 要执行的动作（字符串，必填）\n  - `owner`: 所有者（用户或组织登录名）。名称不区分大小写。（字符串，必填）\n  - `owner_type`: 所有者类型（用户或组织）。如果不提供，则会自动尝试两种类型。（字符串，可选）\n  - `per_page`: 每页显示的结果数量（最多 50 个）（数字，可选）\n  - `project_number`: 项目的编号。用于“list_project_fields”、“list_project_items”和“list_project_status_updates”方法。（数字，可选）\n  - `query`: 过滤\u002F查询字符串。对于 list_projects：按标题文本和状态进行过滤（例如：“roadmap is:open”）。对于 list_project_items：使用 GitHub 的项目过滤语法进行高级筛选。（字符串，可选）\n\n- **projects_write** - 修改 GitHub 项目条目\n  - **所需 OAuth 范围**: `project`\n  - `body`: 状态更新的内容（Markdown 格式）。用于 `create_project_status_update` 方法。（字符串，可选）\n  - `issue_number`: 问题编号（当 `item_type` 为 `issue` 时用于 `add_project_item` 方法）。请提供 `issue_number` 或 `pull_request_number` 中的一个。（数字，可选）\n  - `item_id`: 项目条目的 ID。用于 `update_project_item` 和 `delete_project_item` 方法时必填。（数字，可选）\n  - `item_owner`: 包含问题或拉取请求的仓库的所有者（用户或组织）。用于 `add_project_item` 方法时必填。（字符串，可选）\n  - `item_repo`: 包含问题或拉取请求的仓库名称。用于 `add_project_item` 方法时必填。（字符串，可选）\n  - `item_type`: 条目的类型，可以是 issue 或 pull_request。用于 `add_project_item` 方法时必填。（字符串，可选）\n  - `method`: 要执行的方法（字符串，必填）\n  - `owner`: 项目的负责人（用户或组织登录名）。名称不区分大小写。（字符串，必填）\n  - `owner_type`: 负责人类型（user 或 org）。如果未提供，则会自动检测。（字符串，可选）\n  - `project_number`: 项目的编号。（数字，必填）\n  - `pull_request_number`: 拉取请求编号（当 `item_type` 为 `pull_request` 时用于 `add_project_item` 方法）。请提供 `issue_number` 或 `pull_request_number` 中的一个。（数字，可选）\n  - `start_date`: 状态更新的开始日期，格式为 YYYY-MM-DD。用于 `create_project_status_update` 方法。（字符串，可选）\n  - `status`: 项目的状态。用于 `create_project_status_update` 方法。（字符串，可选）\n  - `target_date`: 状态更新的目标日期，格式为 YYYY-MM-DD。用于 `create_project_status_update` 方法。（字符串，可选）\n  - `updated_field`: 一个对象，包含要更新的项目字段的 ID 和该字段的新值。若要清空字段，将值设为 null。例如：{\"id\": 123456, \"value\": \"新值\"}。用于 `update_project_item` 方法时必填。（对象，可选）\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\n\u003Csummary>\u003Cpicture>\u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"pkg\u002Focticons\u002Ficons\u002Fgit-pull-request-dark.png\">\u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_1689ebf60bd4.png\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_1689ebf60bd4.png\" width=\"20\" height=\"20\" alt=\"git-pull-request\">\u003C\u002Fpicture> 拉取请求\u003C\u002Fsummary>\n\n- **add_comment_to_pending_review** - 向请求者的最新待处理拉取请求评审添加评论\n  - **所需 OAuth 范围**: `repo`\n  - `body`: 评审评论的文字内容（字符串，必填）\n  - `line`: 评论所针对的拉取请求差异中 blob 的行号。对于多行评论，指范围的最后一行。（数字，可选）\n  - `owner`: 仓库所有者（字符串，必填）\n  - `path`: 需要添加评论的文件的相对路径（字符串，必填）\n  - `pullNumber`: 拉取请求编号（数字，必填）\n  - `repo`: 仓库名称（字符串，必填）\n  - `side`: 评论所在的差异侧。LEFT 表示旧版本，RIGHT 表示新版本（字符串，可选）\n  - `startLine`: 对于多行评论，指评论所覆盖范围的第一行。（数字，可选）\n  - `startSide`: 对于多行评论，指评论所覆盖差异范围的起始侧。LEFT 表示旧版本，RIGHT 表示新版本（字符串，可选）\n  - `subjectType`: 评论所针对的层级（字符串，必填）\n\n- **add_reply_to_pull_request_comment** - 回复拉取请求评论\n  - **所需 OAuth 范围**: `repo`\n  - `body`: 回复的文字内容（字符串，必填）\n  - `commentId`: 要回复的评论 ID（数字，必填）\n  - `owner`: 仓库所有者（字符串，必填）\n  - `pullNumber`: 拉取请求编号（数字，必填）\n  - `repo`: 仓库名称（字符串，必填）\n\n- **create_pull_request** - 创建新的拉取请求\n  - **所需 OAuth 范围**: `repo`\n  - `base`: 要合并到的分支（字符串，必填）\n  - `body`: PR 描述（字符串，可选）\n  - `draft`: 是否创建为草稿 PR（布尔值，可选）\n  - `head`: 包含更改的分支（字符串，必填）\n  - `maintainer_can_modify`: 是否允许维护者编辑（布尔值，可选）\n  - `owner`: 仓库所有者（字符串，必填）\n  - `repo`: 仓库名称（字符串，必填）\n  - `title`: PR 标题（字符串，必填）\n\n- **list_pull_requests** - 列出拉取请求\n  - **所需 OAuth 范围**: `repo`\n  - `base`: 按基础分支筛选（字符串，可选）\n  - `direction`: 排序方向（字符串，可选）\n  - `head`: 按头部用户\u002F组织及分支筛选（字符串，可选）\n  - `owner`: 仓库所有者（字符串，必填）\n  - `page`: 分页的页码（最小为 1）（数字，可选）\n  - `perPage`: 每页显示的结果数（最小为 1，最大为 100）（数字，可选）\n  - `repo`: 仓库名称（字符串，必填）\n  - `sort`: 按什么排序（字符串，可选）\n  - `state`: 按状态筛选（字符串，可选）\n\n- **merge_pull_request** - 合并拉取请求\n  - **所需 OAuth 范围**: `repo`\n  - `commit_message`: 合并提交的额外说明（字符串，可选）\n  - `commit_title`: 合并提交的标题（字符串，可选）\n  - `merge_method`: 合并方法（字符串，可选）\n  - `owner`: 仓库所有者（字符串，必填）\n  - `pullNumber`: 拉取请求编号（数字，必填）\n  - `repo`: 仓库名称（字符串，必填）\n\n- **pull_request_read** - 获取单个拉取请求的详细信息\n  - **所需 OAuth 范围**: `repo`\n  - `method`: 操作，用于指定需要从 GitHub 获取的拉取请求数据。\n    可能的选项：\n     1. get - 获取特定拉取请求的详细信息。\n     2. get_diff - 获取拉取请求的差异。\n     3. get_status - 获取拉取请求中头部提交的合并提交状态。\n     4. get_files - 获取拉取请求中更改的文件列表。结合分页参数控制返回结果的数量。\n     5. get_review_comments - 获取拉取请求上的评审线程。每个线程包含在拉取请求评审期间对同一代码位置所做的逻辑分组的评审评论。返回带有元数据（isResolved、isOutdated、isCollapsed）及其相关评论的线程。使用基于游标的分页（perPage、after）来控制结果。\n     6. get_reviews - 获取拉取请求上的评审。如果需要评审评论，请使用 get_review_comments 方法。\n     7. get_comments - 获取拉取请求上的评论。如果用户不特别需要评审评论，可使用此方法。结合分页参数控制返回结果的数量。\n     8. get_check_runs - 获取拉取请求头部提交的检查运行。检查运行是针对该拉取请求运行的各个 CI\u002FCD 作业和检查。\n    （字符串，必填）\n  - `owner`: 仓库所有者（字符串，必填）\n  - `page`: 分页的页码（最小值为 1）（数字，可选）\n  - `perPage`: 分页每页的结果数量（最小值为 1，最大值为 100）（数字，可选）\n  - `pullNumber`: 拉取请求编号（数字，必填）\n  - `repo`: 仓库名称（字符串，必填）\n\n- **pull_request_review_write** - 对拉取请求评审进行写操作（创建、提交、删除）。\n  - **所需 OAuth 范围**: `repo`\n  - `body`: 评审评论文本（字符串，可选）\n  - `commitID`: 要评审的提交的 SHA 值（字符串，可选）\n  - `event`: 要执行的评审操作。（字符串，可选）\n  - `method`: 要对拉取请求评审执行的写操作。（字符串，必填）\n  - `owner`: 仓库所有者（字符串，必填）\n  - `pullNumber`: 拉取请求编号（数字，必填）\n  - `repo`: 仓库名称（字符串，必填）\n  - `threadId`: 评审线程的节点 ID（例如：PRRT_kwDOxxx）。对于 resolve_thread 和 unresolve_thread 方法是必填项。评审线程 ID 可通过 pull_request_read 方法中的 get_review_comments 获取。（字符串，可选）\n\n- **search_pull_requests** - 搜索拉取请求。\n  - **所需 OAuth 范围**: `repo`\n  - `order`: 排序顺序（字符串，可选）\n  - `owner`: 可选的仓库所有者。如果同时提供了 repo，则仅列出该仓库的拉取请求。（字符串，可选）\n  - `page`: 分页的页码（最小值为 1）（数字，可选）\n  - `perPage`: 分页每页的结果数量（最小值为 1，最大值为 100）（数字，可选）\n  - `query`: 使用 GitHub 拉取请求搜索语法的搜索查询（字符串，必填）\n  - `repo`: 可选的仓库名称。如果同时提供了 owner，则仅列出该仓库的拉取请求。（字符串，可选）\n  - `sort`: 按匹配类别数量排序的字段，默认为最佳匹配（字符串，可选）\n\n- **update_pull_request** - 编辑拉取请求。\n  - **所需 OAuth 范围**: `repo`\n  - `base`: 新的基础分支名称（字符串，可选）\n  - `body`: 新的描述（字符串，可选）\n  - `draft`: 将拉取请求标记为草稿（true）或准备评审（false）（布尔值，可选）\n  - `maintainer_can_modify`: 允许维护者编辑（布尔值，可选）\n  - `owner`: 仓库所有者（字符串，必填）\n  - `pullNumber`: 要更新的拉取请求编号（数字，必填）\n  - `repo`: 仓库名称（字符串，必填）\n  - `reviewers`: 需要请求评审的 GitHub 用户名（字符串数组，可选）\n  - `state`: 新的状态（字符串，可选）\n  - `title`: 新标题（字符串，可选）\n\n- **update_pull_request_branch** - 更新拉取请求分支。\n  - **所需 OAuth 范围**: `repo`\n  - `expectedHeadSha`: 拉取请求 HEAD 引用的预期 SHA 值（字符串，可选）\n  - `owner`: 仓库所有者（字符串，必填）\n  - `pullNumber`: 拉取请求编号（数字，必填）\n  - `repo`: 仓库名称（字符串，必填）\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\n\u003Csummary>\u003Cpicture>\u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"pkg\u002Focticons\u002Ficons\u002Frepo-dark.png\">\u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_ed7da5b57a60.png\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_ed7da5b57a60.png\" width=\"20\" height=\"20\" alt=\"repo\">\u003C\u002Fpicture> 仓库\u003C\u002Fsummary>\n\n- **create_branch** - 创建分支。\n  - **所需 OAuth 范围**: `repo`\n  - `branch`: 新分支的名称（字符串，必填）\n  - `from_branch`: 源分支（默认为仓库默认分支）（字符串，可选）\n  - `owner`: 仓库所有者（字符串，必填）\n  - `repo`: 仓库名称（字符串，必填）\n\n- **create_or_update_file** - 创建或更新文件。\n  - **所需 OAuth 范围**: `repo`\n  - `branch`: 要在其中创建或更新文件的分支（字符串，必填）\n  - `content`: 文件内容（字符串，必填）\n  - `message`: 提交消息（字符串，必填）\n  - `owner`: 仓库所有者（用户名或组织）（字符串，必填）\n  - `path`: 要创建或更新文件的路径（字符串，必填）\n  - `repo`: 仓库名称（字符串，必填）\n  - `sha`: 被替换文件的 blob SHA 值。如果文件已存在，则为必填项。（字符串，可选）\n\n- **create_repository** - 创建仓库。\n  - **所需 OAuth 范围**: `repo`\n  - `autoInit`: 是否初始化 README 文件（布尔值，可选）\n  - `description`: 仓库描述（字符串，可选）\n  - `name`: 仓库名称（字符串，必填）\n  - `organization`: 要在其中创建仓库的组织（省略则在个人账户中创建）（字符串，可选）\n  - `private`: 仓库是否应为私有（布尔值，可选）\n\n- **delete_file** - 删除文件。\n  - **所需 OAuth 范围**: `repo`\n  - `branch`: 要从中删除文件的分支（字符串，必填）\n  - `message`: 提交消息（字符串，必填）\n  - `owner`: 仓库所有者（用户名或组织）（字符串，必填）\n  - `path`: 要删除文件的路径（字符串，必填）\n  - `repo`: 仓库名称（字符串，必填）\n\n- **fork_repository** - 分叉仓库。\n  - **所需 OAuth 范围**: `repo`\n  - `organization`: 要分叉到的组织（字符串，可选）\n  - `owner`: 仓库所有者（字符串，必填）\n  - `repo`: 仓库名称（字符串，必填）\n\n- **get_commit** - 获取提交详情。\n  - **所需 OAuth 范围**: `repo`\n  - `include_diff`: 是否在响应中包含文件差异和统计信息。默认为 true。（布尔值，可选）\n  - `owner`: 仓库所有者（字符串，必填）\n  - `page`: 分页的页码（最小值为 1）（数字，可选）\n  - `perPage`: 分页每页的结果数量（最小值为 1，最大值为 100）（数字，可选）\n  - `repo`: 仓库名称（字符串，必填）\n  - `sha`: 提交 SHA、分支名称或标签名称（字符串，必填）\n\n- **get_file_contents** - 获取文件或目录内容\n  - **所需 OAuth 范围**: `repo`\n  - `owner`: 仓库所有者（用户名或组织）（字符串，必填）\n  - `path`: 文件\u002F目录的路径（字符串，可选）\n  - `ref`: 接受可选的 Git 引用，如 `refs\u002Ftags\u002F{tag}`、`refs\u002Fheads\u002F{branch}` 或 `refs\u002Fpull\u002F{pr_number}\u002Fhead`（字符串，可选）\n  - `repo`: 仓库名称（字符串，必填）\n  - `sha`: 接受可选的提交 SHA。如果指定，则会替代 `ref` 使用（字符串，可选）\n\n- **get_latest_release** - 获取最新发布\n  - **所需 OAuth 范围**: `repo`\n  - `owner`: 仓库所有者（字符串，必填）\n  - `repo`: 仓库名称（字符串，必填）\n\n- **get_release_by_tag** - 根据标签名获取发布\n  - **所需 OAuth 范围**: `repo`\n  - `owner`: 仓库所有者（字符串，必填）\n  - `repo`: 仓库名称（字符串，必填）\n  - `tag`: 标签名（例如 `'v1.0.0'`）（字符串，必填）\n\n- **get_tag** - 获取标签详情\n  - **所需 OAuth 范围**: `repo`\n  - `owner`: 仓库所有者（字符串，必填）\n  - `repo`: 仓库名称（字符串，必填）\n  - `tag`: 标签名（字符串，必填）\n\n- **list_branches** - 列出分支\n  - **所需 OAuth 范围**: `repo`\n  - `owner`: 仓库所有者（字符串，必填）\n  - `page`: 分页的页码（最小值为 1）（数字，可选）\n  - `perPage`: 每页显示的结果数（最小值为 1，最大值为 100）（数字，可选）\n  - `repo`: 仓库名称（字符串，必填）\n\n- **list_commits** - 列出提交\n  - **所需 OAuth 范围**: `repo`\n  - `author`: 用于按作者用户名或电子邮件地址筛选提交的作者（字符串，可选）\n  - `owner`: 仓库所有者（字符串，必填）\n  - `page`: 分页的页码（最小值为 1）（数字，可选）\n  - `path`: 只返回包含该文件路径的提交（字符串，可选）\n  - `perPage`: 每页显示的结果数（最小值为 1，最大值为 100）（数字，可选）\n  - `repo`: 仓库名称（字符串，必填）\n  - `sha`: 提交 SHA、分支或标签名，用于列出其下的提交。如果不提供，则使用仓库的默认分支。如果提供了提交 SHA，则会列出直到该 SHA 的所有提交。（字符串，可选）\n  - `since`: 只返回此日期之后的提交（ISO 8601 格式：YYYY-MM-DDTHH:MM:SSZ 或 YYYY-MM-DD）（字符串，可选）\n  - `until`: 只返回此日期之前的提交（ISO 8601 格式：YYYY-MM-DDTHH:MM:SSZ 或 YYYY-MM-DD）（字符串，可选）\n\n- **list_releases** - 列出发布\n  - **所需 OAuth 范围**: `repo`\n  - `owner`: 仓库所有者（字符串，必填）\n  - `page`: 分页的页码（最小值为 1）（数字，可选）\n  - `perPage`: 每页显示的结果数（最小值为 1，最大值为 100）（数字，可选）\n  - `repo`: 仓库名称（字符串，必填）\n\n- **list_tags** - 列出标签\n  - **所需 OAuth 范围**: `repo`\n  - `owner`: 仓库所有者（字符串，必填）\n  - `page`: 分页的页码（最小值为 1）（数字，可选）\n  - `perPage`: 每页显示的结果数（最小值为 1，最大值为 100）（数字，可选）\n  - `repo`: 仓库名称（字符串，必填）\n\n- **push_files** - 将文件推送到仓库\n  - **所需 OAuth 范围**: `repo`\n  - `branch`: 要推送的分支（字符串，必填）\n  - `files`: 要推送的文件对象数组，每个对象包含路径（字符串）和内容（字符串）（对象数组，必填）\n  - `message`: 提交信息（字符串，必填）\n  - `owner`: 仓库所有者（字符串，必填）\n  - `repo`: 仓库名称（字符串，必填）\n\n- **search_code** - 搜索代码\n  - **所需 OAuth 范围**: `repo`\n  - `order`: 结果的排序方式（字符串，可选）\n  - `page`: 分页的页码（最小值为 1）（数字，可选）\n  - `perPage`: 每页显示的结果数（最小值为 1，最大值为 100）（数字，可选）\n  - `query`: 使用 GitHub 强大的代码搜索语法进行查询。示例：`content:Skill language:Java org:github`、`NOT is:archived language:Python OR language:go`、`repo:github\u002Fgithub-mcp-server`。支持精确匹配、语言过滤、路径过滤等。（字符串，必填）\n  - `sort`: 排序字段（仅限 `'indexed'`）（字符串，可选）\n\n- **search_repositories** - 搜索仓库\n  - **所需 OAuth 范围**: `repo`\n  - `minimal_output`: 返回精简的仓库信息（默认为 true）。当设置为 false 时，将返回完整的 GitHub API 仓库对象。（布尔值，可选）\n  - `order`: 排序方式（字符串，可选）\n  - `page`: 分页的页码（最小值为 1）（数字，可选）\n  - `perPage`: 每页显示的结果数（最小值为 1，最大值为 100）（数字，可选）\n  - `query`: 仓库搜索查询。示例：`machine learning in:name stars:>1000 language:python`、`topic:react`、`user:facebook`。支持高级搜索语法以实现精准过滤。（字符串，必填）\n  - `sort`: 按字段对仓库进行排序，默认为最佳匹配（字符串，可选）\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\n\u003Csummary>\u003Cpicture>\u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"pkg\u002Focticons\u002Ficons\u002Fshield-lock-dark.png\">\u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_7b3f11811ed5.png\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_7b3f11811ed5.png\" width=\"20\" height=\"20\" alt=\"shield-lock\">\u003C\u002Fpicture> 秘密保护\u003C\u002Fsummary>\n\n- **get_secret_scanning_alert** - 获取秘密扫描告警\n  - **所需 OAuth 范围**: `security_events`\n  - **接受的 OAuth 范围**: `repo`、`security_events`\n  - `alertNumber`: 告警的编号。（数字，必填）\n  - `owner`: 仓库的所有者。（字符串，必填）\n  - `repo`: 仓库的名称。（字符串，必填）\n\n- **list_secret_scanning_alerts** - 列出秘密扫描告警\n  - **所需 OAuth 范围**: `security_events`\n  - **接受的 OAuth 范围**: `repo`、`security_events`\n  - `owner`: 仓库的所有者。（字符串，必填）\n  - `repo`: 仓库的名称。（字符串，必填）\n  - `resolution`: 按解决状态过滤（字符串，可选）\n  - `secret_type`: 以逗号分隔的要返回的秘密类型列表。默认会返回所有预设的秘密模式。若要返回通用模式，请在参数中传入相应的令牌名称。（字符串，可选）\n  - `state`: 按状态过滤（字符串，可选）\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\n\u003Csummary>\u003Cpicture>\u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"pkg\u002Focticons\u002Ficons\u002Fshield-dark.png\">\u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_bdbe2e548b9e.png\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_bdbe2e548b9e.png\" width=\"20\" height=\"20\" alt=\"shield\">\u003C\u002Fpicture> 安全公告\u003C\u002Fsummary>\n\n- **get_global_security_advisory** - 获取全球安全公告\n  - **所需 OAuth 范围**: `security_events`\n  - **接受的 OAuth 范围**: `repo`、`security_events`\n  - `ghsaId`: GitHub 安全公告 ID（格式：GHSA-xxxx-xxxx-xxxx）。（字符串，必填）\n\n- **list_global_security_advisories** - 列出全局安全公告\n  - **必需的 OAuth 范围**: `security_events`\n  - **接受的 OAuth 范围**: `repo`, `security_events`\n  - `affects`: 按受影响的包或版本筛选公告（例如：“package1,package2@1.0.0”）。（字符串，可选）\n  - `cveId`: 按 CVE ID 筛选。（字符串，可选）\n  - `cwes`: 按通用漏洞枚举 ID 筛选（例如：[“79”, “284”, “22”]）。（字符串数组，可选）\n  - `ecosystem`: 按软件包生态系统筛选。（字符串，可选）\n  - `ghsaId`: 按 GitHub 安全公告 ID 筛选（格式：GHSA-xxxx-xxxx-xxxx）。（字符串，可选）\n  - `isWithdrawn`: 是否仅返回已撤销的公告。（布尔值，可选）\n  - `modified`: 按发布或更新日期或日期范围筛选（ISO 8601 格式的日期或范围）。（字符串，可选）\n  - `published`: 按发布日期或日期范围筛选（ISO 8601 格式的日期或范围）。（字符串，可选）\n  - `severity`: 按严重性筛选。（字符串，可选）\n  - `type`: 公告类型。（字符串，可选）\n  - `updated`: 按更新日期或日期范围筛选（ISO 8601 格式的日期或范围）。（字符串，可选）\n\n- **list_org_repository_security_advisories** - 列出组织仓库的安全公告\n  - **必需的 OAuth 范围**: `security_events`\n  - **接受的 OAuth 范围**: `repo`, `security_events`\n  - `direction`: 排序方向。（字符串，可选）\n  - `org`: 组织登录名。（字符串，必填）\n  - `sort`: 排序字段。（字符串，可选）\n  - `state`: 按公告状态筛选。（字符串，可选）\n\n- **list_repository_security_advisories** - 列出仓库的安全公告\n  - **必需的 OAuth 范围**: `security_events`\n  - **接受的 OAuth 范围**: `repo`, `security_events`\n  - `direction`: 排序方向。（字符串，可选）\n  - `owner`: 仓库所有者。（字符串，必填）\n  - `repo`: 仓库名称。（字符串，必填）\n  - `sort`: 排序字段。（字符串，可选）\n  - `state`: 按公告状态筛选。（字符串，可选）\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\n\u003Csummary>\u003Cpicture>\u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"pkg\u002Focticons\u002Ficons\u002Fstar-dark.png\">\u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_6578281897a8.png\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_6578281897a8.png\" width=\"20\" height=\"20\" alt=\"star\">\u003C\u002Fpicture> 星标用户\u003C\u002Fsummary>\n\n- **list_starred_repositories** - 列出被星标的仓库\n  - **必需的 OAuth 范围**: `repo`\n  - `direction`: 按照哪个方向排序结果。（字符串，可选）\n  - `page`: 分页的页码（最小为 1）。（数字，可选）\n  - `perPage`: 分页时每页显示的结果数量（最小为 1，最大为 100）。（数字，可选）\n  - `sort`: 如何对结果进行排序。可以是‘created’（仓库被星标的时间）或‘updated’（仓库最近一次推送的时间）。（字符串，可选）\n  - `username`: 要列出被星标仓库的用户名。默认为已认证的用户。（字符串，可选）\n\n- **star_repository** - 星标仓库\n  - **必需的 OAuth 范围**: `repo`\n  - `owner`: 仓库所有者。（字符串，必填）\n  - `repo`: 仓库名称。（字符串，必填）\n\n- **unstar_repository** - 取消星标仓库\n  - **必需的 OAuth 范围**: `repo`\n  - `owner`: 仓库所有者。（字符串，必填）\n  - `repo`: 仓库名称。（字符串，必填）\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\n\u003Csummary>\u003Cpicture>\u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"pkg\u002Focticons\u002Ficons\u002Fpeople-dark.png\">\u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_4fed1937db23.png\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_readme_4fed1937db23.png\" width=\"20\" height=\"20\" alt=\"people\">\u003C\u002Fpicture> 用户\u003C\u002Fsummary>\n\n- **search_users** - 搜索用户\n  - **必需的 OAuth 范围**: `repo`\n  - `order`: 排序顺序。（字符串，可选）\n  - `page`: 分页的页码（最小为 1）。（数字，可选）\n  - `perPage`: 分页时每页显示的结果数量（最小为 1，最大为 100）。（数字，可选）\n  - `query`: 用户搜索查询。示例：“john smith”、“location:seattle”、“followers:>100”。搜索会自动限定为 type:user。（字符串，必填）\n  - `sort`: 按关注者数量、仓库数量或加入 GitHub 的时间对用户进行排序。（字符串，可选）\n\n\u003C\u002Fdetails>\n\u003C!-- END AUTOMATED TOOLS -->\n\n\n\n### 远程 GitHub MCP 服务器中的附加工具\n\n\u003Cdetails>\n\n\u003Csummary>Copilot\u003C\u002Fsummary>\n\n- **create_pull_request_with_copilot** - 使用 GitHub Copilot 编码助手执行任务\n  - `owner`: 仓库所有者。你可以先猜测所有者，但在继续之前请与用户确认。（字符串，必填）\n  - `repo`: 仓库名称。你可以先猜测仓库名称，但在继续之前请与用户确认。（字符串，必填）\n  - `problem_statement`: 要执行的任务的详细描述（例如：“实现一个做 X 的功能”，“修复 bug Y”等）。（字符串，必填）\n  - `title`: 将要创建的拉取请求的标题。（字符串，必填）\n  - `base_ref`: 代理将开始工作的 Git 引用（例如分支）。如果未指定，则默认为仓库的默认分支。（字符串，可选）\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\n\u003Csummary>Copilot Spaces\u003C\u002Fsummary>\n\n- **get_copilot_space** - 获取 Copilot Space\n  - `owner`: 该空间的所有者。（字符串，必填）\n  - `name`: 该空间的名称。（字符串，必填）\n\n- **list_copilot_spaces** - 列出 Copilot Spaces\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\n\u003Csummary>GitHub 支持文档搜索\u003C\u002Fsummary>\n\n- **github_support_docs_search** - 检索与回答 GitHub 产品和支持问题相关的文档。支持主题包括：GitHub Actions 工作流、身份验证、GitHub 支持咨询、拉取请求实践、仓库维护、GitHub Pages、GitHub Packages、GitHub Discussions、Copilot Spaces。\n  - `query`: 用户关于需要解答的问题的输入。这是最新的原始未编辑的用户消息。你应始终保留用户消息原样，绝不要对其进行修改。（字符串，必填）\n\n\u003C\u002Fdetails>\n\n## 动态工具发现\n\n**注意**: 此功能目前处于测试阶段，尚未在远程 GitHub MCP 服务器中提供。请试用并告知我们是否遇到任何问题。\n\n与其一开始就启用所有工具，不如开启动态工具集发现功能。动态工具集允许 MCP 主机根据用户提示列出并启用工具集，这有助于避免模型因可用工具过多而产生混淆的情况。\n\n### 使用动态工具发现\n\n在使用二进制文件时，可以传递 `--dynamic-toolsets` 标志。\n\n```bash\n.\u002Fgithub-mcp-server --dynamic-toolsets\n```\n\n在使用 Docker 时，可以通过环境变量传递工具集：\n\n```bash\ndocker run -i --rm \\\n  -e GITHUB_PERSONAL_ACCESS_TOKEN=\u003Cyour-token> \\\n  -e GITHUB_DYNAMIC_TOOLSETS=1 \\\n  ghcr.io\u002Fgithub\u002Fgithub-mcp-server\n```\n\n## 只读模式\n\n要以只读模式运行服务器，可以使用 `--read-only` 标志。这将仅提供只读工具，防止对仓库、问题、拉取请求等进行任何修改。\n\n```bash\n.\u002Fgithub-mcp-server --read-only\n```\n\n当使用 Docker 时，可以通过环境变量传递只读模式：\n\n```bash\ndocker run -i --rm \\\n  -e GITHUB_PERSONAL_ACCESS_TOKEN=\u003Cyour-token> \\\n  -e GITHUB_READ_ONLY=1 \\\n  ghcr.io\u002Fgithub\u002Fgithub-mcp-server\n```\n\n## 锁定模式\n\n锁定模式会限制服务器从公共仓库中展示的内容。启用后，服务器会检查每个条目的作者是否具有该仓库的推送权限。私有仓库不受影响，协作者仍可完全访问自己的内容。\n\n```bash\n.\u002Fgithub-mcp-server --lockdown-mode\n```\n\n使用 Docker 运行时，设置相应的环境变量：\n\n```bash\ndocker run -i --rm \\\n  -e GITHUB_PERSONAL_ACCESS_TOKEN=\u003Cyour-token> \\\n  -e GITHUB_LOCKDOWN_MODE=1 \\\n  ghcr.io\u002Fgithub\u002Fgithub-mcp-server\n```\n\n锁定模式的行为取决于所调用的工具。\n\n以下工具会在作者缺乏推送权限时返回错误：\n\n- `issue_read:get`\n- `pull_request_read:get`\n\n以下工具则会过滤掉来自缺乏推送权限用户的条目：\n\n- `issue_read:get_comments`\n- `issue_read:get_sub_issues`\n- `pull_request_read:get_comments`\n- `pull_request_read:get_review_comments`\n- `pull_request_read:get_reviews`\n\n## i18n \u002F 覆盖描述\n\n可以通过在二进制文件所在的目录下创建一个 `github-mcp-server-config.json` 文件来覆盖工具的描述。\n\n该文件应包含一个 JSON 对象，其中键为工具名称，值为新的描述。例如：\n\n```json\n{\n  \"TOOL_ADD_ISSUE_COMMENT_DESCRIPTION\": \"an alternative description\",\n  \"TOOL_CREATE_BRANCH_DESCRIPTION\": \"Create a new branch in a GitHub repository\"\n}\n```\n\n您可以通过使用 `--export-translations` 标志运行二进制文件来导出当前的翻译。\n\n此标志将保留您已做的任何翻译或覆盖，同时添加自上次导出以来二进制文件中新增的任何翻译。\n\n```sh\n.\u002Fgithub-mcp-server --export-translations\ncat github-mcp-server-config.json\n```\n\n您也可以使用环境变量来覆盖描述。环境变量的名称与 JSON 文件中的键相同，但需在前面加上 `GITHUB_MCP_` 并全部大写。\n\n例如，要覆盖 `TOOL_ADD_ISSUE_COMMENT_DESCRIPTION` 工具的描述，可以设置如下环境变量：\n\n```sh\nexport GITHUB_MCP_TOOL_ADD_ISSUE_COMMENT_DESCRIPTION=\"an alternative description\"\n```\n\n### 覆盖服务器名称和标题\n\n同样的覆盖机制也可用于自定义 MCP 服务器初始化响应中的 `name` 和 `title` 字段。这在运行多个 GitHub MCP 服务器实例时非常有用（例如，一个用于 github.com，另一个用于 GitHub Enterprise Server），以便代理能够区分它们。\n\n| 键 | 环境变量 | 默认值 |\n|-----|---------------------|---------|\n| `SERVER_NAME` | `GITHUB_MCP_SERVER_NAME` | `github-mcp-server` |\n| `SERVER_TITLE` | `GITHUB_MCP_SERVER_TITLE` | `GitHub MCP Server` |\n\n例如，要配置一个用于 GitHub Enterprise Server 的服务器实例：\n\n```json\n{\n  \"SERVER_NAME\": \"ghes-mcp-server\",\n  \"SERVER_TITLE\": \"GHES MCP Server\"\n}\n```\n\n或者使用环境变量：\n\n```sh\nexport GITHUB_MCP_SERVER_NAME=\"ghes-mcp-server\"\nexport GITHUB_MCP_SERVER_TITLE=\"GHES MCP Server\"\n```\n\n## 库的使用\n\n目前，本模块导出的 Go API 应被视为不稳定，并可能随时发生破坏性变更。未来我们可能会提供稳定性保证；如果您有相关需求，请提交一个问题。\n\n## 许可证\n\n本项目采用 MIT 开源许可证授权。完整的条款请参阅 [MIT](.\u002FLICENSE)。","# GitHub MCP Server 快速上手指南\n\nGitHub MCP Server 是一款将 AI 工具直接连接到 GitHub 平台的开源服务。它允许 AI 助手通过自然语言读取仓库代码、管理 Issue 和 PR、分析 CI\u002FCD 工作流以及自动化开发流程。\n\n## 环境准备\n\n在开始之前，请确保满足以下前置条件：\n\n1.  **兼容的 MCP 宿主环境**：\n    *   支持远程 MCP 服务器的编辑器或 CLI（如 VS Code 1.101+、Claude Desktop、Cursor、Windsurf 等）。\n    *   若使用本地部署模式，需安装 [Docker](https:\u002F\u002Fwww.docker.com\u002F) 并确保其正在运行。\n2.  **GitHub 访问凭证**：\n    *   **远程模式**：建议使用 OAuth 登录（VS Code 等原生支持），或准备一个 [GitHub Personal Access Token (PAT)](https:\u002F\u002Fgithub.com\u002Fsettings\u002Fpersonal-access-tokens\u002Fnew)。\n    *   **本地模式**：必须创建 PAT。建议仅授予最小必要权限（如 `repo`, `read:packages`, `read:org`）。\n3.  **网络环境**：\n    *   由于服务连接 GitHub API，请确保网络通畅。国内开发者如遇连接缓慢，可配置代理或使用支持加速的 IDE 插件。\n\n## 安装步骤\n\n根据您的需求，可选择**远程托管模式**（推荐，最简单）或**本地 Docker 模式**。\n\n### 方案一：远程托管模式 (Remote Server)\n\n此模式由 GitHub 官方托管，无需本地运行容器，适合大多数用户。\n\n#### 1. VS Code 一键安装\n如果您使用 VS Code 1.101 或更高版本，点击以下按钮即可自动配置：\n*   [Install in VS Code](https:\u002F\u002Finsiders.vsiders.vscode.dev\u002Fredirect\u002Fmcp\u002Finstall?name=github&config=%7B%22type%22%3A%20%22http%22%2C%22url%22%3A%20%22https%3A%2F%2Fapi.githubcopilot.com%2Fmcp%2F%22%7D)\n*   [Install in VS Code Insiders](https:\u002F\u002Finsiders.vscode.dev\u002Fredirect\u002Fmcp\u002Finstall?name=github&config=%7B%22type%22%3A%20%22http%22%2C%22url%22%3A%20%22https%3A%2F%2Fapi.githubcopilot.com%2Fmcp%2F%22%7D&quality=insiders)\n\n安装后，在 Copilot Chat 输入框旁切换至 **Agent mode** 即可启动。\n\n#### 2. 手动配置 (适用于其他宿主或自定义)\n将以下 JSON 配置添加到您的 MCP 宿主配置文件中（例如 VS Code 的 `settings.json` 或 Claude Desktop 的配置文件）。\n\n**方式 A：使用 OAuth (推荐 VS Code 用户)**\n```json\n{\n  \"servers\": {\n    \"github\": {\n      \"type\": \"http\",\n      \"url\": \"https:\u002F\u002Fapi.githubcopilot.com\u002Fmcp\u002F\"\n    }\n  }\n}\n```\n\n**方式 B：使用 GitHub PAT**\n```json\n{\n  \"servers\": {\n    \"github\": {\n      \"type\": \"http\",\n      \"url\": \"https:\u002F\u002Fapi.githubcopilot.com\u002Fmcp\u002F\",\n      \"headers\": {\n        \"Authorization\": \"Bearer ${input:github_mcp_pat}\"\n      }\n    }\n  },\n  \"inputs\": [\n    {\n      \"type\": \"promptString\",\n      \"id\": \"github_mcp_pat\",\n      \"description\": \"GitHub Personal Access Token\",\n      \"password\": true\n    }\n  ]\n}\n```\n\n> **注意**：对于 GitHub Enterprise Cloud (ghe.com)，请将 `url` 修改为 `https:\u002F\u002Fcopilot-api.\u003Cyour-domain>.ghe.com\u002Fmcp`。GitHub Enterprise Server (GHES) 不支持远程模式，请使用下方的本地模式。\n\n---\n\n### 方案二：本地 Docker 模式 (Local Server)\n\n此模式在您本地运行服务器，适合需要连接 GitHub Enterprise Server 或对数据隐私有更高要求的场景。\n\n#### 1. 获取 GitHub PAT\n前往 [GitHub Settings](https:\u002F\u002Fgithub.com\u002Fsettings\u002Fpersonal-access-tokens\u002Fnew) 创建 Token，并勾选所需权限（如 `repo`）。\n\n#### 2. 配置并运行\n在您的 MCP 宿主配置中添加以下 Docker 运行命令。请将 `${input:github_token}` 替换为您实际的 Token 或通过宿主环境的变量注入功能传递。\n\n```json\n{\n  \"servers\": {\n    \"github\": {\n      \"command\": \"docker\",\n      \"args\": [\n        \"run\",\n        \"-i\",\n        \"--rm\",\n        \"-e\",\n        \"GITHUB_PERSONAL_ACCESS_TOKEN\",\n        \"ghcr.io\u002Fgithub\u002Fgithub-mcp-server\"\n      ],\n      \"env\": {\n        \"GITHUB_PERSONAL_ACCESS_TOKEN\": \"${input:github_token}\"\n      }\n    }\n  },\n  \"inputs\": [\n    {\n      \"type\": \"promptString\",\n      \"id\": \"github_token\",\n      \"description\": \"GitHub Personal Access Token\",\n      \"password\": true\n    }\n  ]\n}\n```\n\n**针对 GitHub Enterprise Server (GHES) 的配置：**\n如果需要连接自建的 GHES，需额外指定 `GITHUB_HOST` 环境变量（注意加上 `https:\u002F\u002F` 前缀）：\n\n```json\n{\n  \"servers\": {\n    \"github\": {\n      \"command\": \"docker\",\n      \"args\": [\n        \"run\",\n        \"-i\",\n        \"--rm\",\n        \"-e\",\n        \"GITHUB_PERSONAL_ACCESS_TOKEN\",\n        \"-e\",\n        \"GITHUB_HOST\",\n        \"ghcr.io\u002Fgithub\u002Fgithub-mcp-server\"\n      ],\n      \"env\": {\n        \"GITHUB_PERSONAL_ACCESS_TOKEN\": \"${input:github_token}\",\n        \"GITHUB_HOST\": \"https:\u002F\u002F\u003Cyour-ghes-domain.com>\"\n      }\n    }\n  }\n}\n```\n\n## 基本使用\n\n安装完成后，重启您的 AI 助手或 IDE，确保 MCP 服务器状态显示为“已连接”。您可以在聊天窗口中直接使用自然语言与 GitHub 交互。\n\n**使用示例：**\n\n*   **查询仓库信息**：\n    > \"列出我最近访问的仓库中未关闭的 Issue。\"\n    > \"查看 github-mcp-server 仓库最新的 5 次提交记录。\"\n\n*   **代码分析与文件操作**：\n    > \"读取 src\u002Fmain.go 文件，解释其中 handleRequest 函数的作用。\"\n    > \"在当前仓库中搜索所有包含 'TODO' 标记的文件。\"\n\n*   **自动化工作流**：\n    > \"为当前分支创建一个 Pull Request，标题为 'Fix login bug'，描述为 'Resolved the null pointer exception in auth module'。\"\n    > \"检查最近一次 GitHub Actions 构建失败的原因。\"\n\n*   **团队协作**：\n    > \"谁是我所在组织中最近最活跃的贡献者？\"\n    > \"回复 Issue #42，感谢用户的反馈并告知我们已在修复中。\"\n\n通过这种方式，您可以将复杂的 GitHub 操作简化为简单的对话指令，大幅提升开发效率。","某后端开发团队在紧急修复一个线上高优先级 Bug 时，需要快速定位代码问题、创建修复分支并协调代码审查。\n\n### 没有 github-mcp-server 时\n- 开发者需在浏览器、IDE 和终端间频繁切换，手动搜索相关代码文件和提交记录以复现问题上下文。\n- 创建修复分支、起草 Pull Request 描述以及关联 Issue 全靠人工操作，容易遗漏关键信息或格式不规范。\n- 等待代码审查时，无法实时获取 CI\u002FCD 流水线的失败日志详情，必须反复刷新页面查看构建状态。\n- 团队成员间通过即时通讯软件同步进度，导致讨论碎片化，缺乏与代码变更直接关联的结构化记录。\n\n### 使用 github-mcp-server 后\n- 开发者直接在 IDE 的 AI 对话框中用自然语言查询“最近修改支付模块的提交”，github-mcp-server 即刻返回精准的文件差异与作者信息。\n- 一句指令“为 Issue #1024 创建修复分支并提交 PR\"，github-mcp-server 自动完成分支创建、代码提交及包含上下文的 PR 描述生成。\n- 当构建失败时，AI 助手通过 github-mcp-server 直接读取流水线日志，主动分析错误原因并给出具体修复建议，无需人工介入排查。\n- 所有代码讨论、审查意见及状态更新均通过 AI 代理直接在 GitHub 平台上闭环完成，确保协作流程透明且可追溯。\n\ngithub-mcp-server 将分散的 GitHub 操作转化为流畅的自然语言交互，让开发者从繁琐的平台跳转中解放，专注于核心代码逻辑的修复。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgithub_github-mcp-server_65715a3d.png","github","GitHub","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fgithub_c56d6aba.png","How people build software.",null,"https:\u002F\u002Fgithub.com\u002Fabout","https:\u002F\u002Fgithub.com\u002Fgithub",[81,85,89,93,97],{"name":82,"color":83,"percentage":84},"Go","#00ADD8",96,{"name":86,"color":87,"percentage":88},"TypeScript","#3178c6",2.1,{"name":90,"color":91,"percentage":92},"Shell","#89e051",1.8,{"name":94,"color":95,"percentage":96},"Dockerfile","#384d54",0.1,{"name":98,"color":99,"percentage":96},"HTML","#e34c26",28728,3937,"2026-04-10T10:40:02","MIT","Linux, macOS, Windows","无需求","未说明",{"notes":108,"python":106,"dependencies":109},"该工具为 GitHub MCP 服务器，主要提供远程托管和本地 Docker 容器两种运行模式。远程模式无需本地安装环境，仅需支持远程 MCP 的主机（如 VS Code 1.101+、Claude Desktop 等）；本地模式需安装 Docker 并配置 GitHub Personal Access Token (PAT)。不支持在 GitHub Enterprise Server 上运行远程服务，需使用本地部署。",[110],"Docker (运行本地服务器时必需)",[13,52],[73,113,114],"mcp","mcp-server","2026-03-27T02:49:30.150509","2026-04-11T00:40:28.397992",[],[119,124,129,134,139,144,149,154,159,164,169,174,179,184,189,194,199,204,209,214],{"id":120,"version":121,"summary_zh":122,"released_at":123},189441,"v0.32.0","## 亮点\n\n### 上下文优化\n本次发布为 `get_files`、`get_pull_request_review_comments`、`get_pull_request_reviews`、`add_issue_comments`、`list_pull_requests`、`list_tags`、`list_releases` 和 `list_issues` 带来了上下文优化。工具输出已被精简，仅保留大型语言模型所需的信息。\n\n### Copilot 工具纳入默认工具集\nCopilot 特有的工具现已移至默认的 `copilot` 工具集中，无需额外配置即可直接使用。\n\n### MCP 应用程序 UI 改进\n对 MCP 应用程序渲染进行了多项改进，包括更完善的客户端支持检测、更清晰的问题和拉取请求创建用户确认提示，以及在问题更新包含状态变更时更智能地跳过表单。\n\n## 变更内容\n* build(deps): 将 \u002Fui 目录下 npm_and_yarn 组中的 hono 从 4.11.7 升级至 4.12.0，由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F2054 中完成。\n* build(deps): 将 \u002Fui 目录下 npm_and_yarn 组中的 ajv 从 8.17.1 升级至 8.18.0，由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F2056 中完成。\n* feat: 将 Copilot 工具移至默认 Copilot 工具集，由 @SamMorrowDrums 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F2039 中完成。\n* 优化 `pull_request_read` 中 `get_files` 的上下文使用，由 @tommaso-moro 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F2059 中完成。\n* 使用 `pull_request_read` 减少 `get_pull_request_review_comments` 的上下文使用，由 @tommaso-moro 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F2062 中完成。\n* 统一示例 MCP 名称，由 @C-Ross 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F2069 中完成。\n* chore: 将 gh-host 设置为 OAuth 认证服务器，由 @atharva1051 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F2046 中完成。\n* 使用最小化类型减少 `add_issue_comments` 的上下文使用，由 @tommaso-moro 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F2063 中完成。\n* 减少 `get_pull-request_reviews` 的上下文使用，由 @tommaso-moro 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F2066 中完成。\n* 加强 MCP 应用程序 UI 渲染的客户端支持检查，由 @mattdholloway 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F2051 中完成。\n* 更新 UI 资源的 MIME 类型以包含 MCP 应用程序的配置文件，由 @mattdholloway 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F2078 中完成。\n* 修复因网络错误导致资源获取失败时出现的崩溃问题，由 @SamMorrowDrums 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1506 中完成。\n* 获取检查运行，由 @kaitlin-duolingo 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1953 中完成。\n* 减少 `list_pull_requests` 的上下文使用，由 @kerobbi 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F2087 中完成。\n* 减少 `list_tags` 的上下文使用，由 @kerobbi 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F2088 中完成。\n* 澄清问题和拉取请求创建消息中的用户确认要求，由 @mattdholloway 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F2094 中完成。\n* 添加关于 Insider 模式的相关文档，由 @tom","2026-03-06T14:35:33",{"id":125,"version":126,"summary_zh":127,"released_at":128},189442,"v0.31.0","## 亮点\n\n### 可流式 HTTP 支持\nGitHub MCP 服务器现在通过新的 `http` 命令原生支持可流式 HTTP，将此前托管在 `api.githubcopilot.com\u002Fmcp` 的大部分可流式 HTTP 功能直接引入到本仓库中。有关设置和使用详情，请参阅[文档](https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fblob\u002Fmain\u002Fdocs\u002Fstreamable-http.md)。\n\n### Insiders 模式\n一种用于实验性工具和功能的新可选模式。通过 Insiders 模式提供的首个实验是 **MCP 应用** —— 更多详情请参阅[讨论](https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fdiscussions\u002F2048)。启用 Insiders 模式的说明可在[README](https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server?tab=readme-ov-file#insiders-mode)中找到。\n\n### 上下文精简\n跨多个工具的响应内容已大幅精简，从而减少了上下文使用量，并提升了 LLM 交互的效率。\n\n## 变更内容\n* build(deps): 将 docker\u002Flogin-action 从 3.6.0 升级至 3.7.0，由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1938 中完成。\n* 添加对 PR 评论的回复，由 @ilyakamens 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1856 中完成。\n* 添加可流式 HTTP 模式，由 @omgitsads 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1849 中完成。\n* 暴露 HTTP 端口，由 @omgitsads 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1967 中完成。\n* 添加可流式 HTTP 文档，由 @omgitsads 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1968 中完成。\n* 改进 Copilot CLI 安装文档，由 @kerobbi 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1972 中完成。\n* build(deps): 将 github.com\u002Fmodelcontextprotocol\u002Fgo-sdk 从 1.2.0 升级至 1.3.0，由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1976 中完成。\n* build(deps): 将 golang 从 1.25.6-alpine 升级至 1.25.7-alpine，由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1975 中完成。\n* build(deps): 将 github.com\u002Fgo-chi\u002Fchi\u002Fv5 从 5.2.3 升级至 5.2.5，由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1977 中完成。\n* build(deps): 将 reproducible-containers\u002Fbuildkit-cache-dance 从 2.1.4 升级至 3.3.1，由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1978 中完成。\n* build(deps): 将 github.com\u002Fjosephburnett\u002Fjd\u002Fv2 升级至 v2.4.0，由 @alexandear 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1965 中完成。\n* 移除旧的未整合 Actions 和 Projects 工具集，由 @Copilot 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1958 中完成。\n* 为可流式 HTTP 服务器添加共享 SchemaCache，由 @SamMorrowDrums 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1993 中完成。\n* Gogithub 更新，由 @JoannaaKL 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F2004 中完成。\n* refactor: 使用 `modernize` 和 `intrange` 静态分析工具对代码进行现代化改造，由 @alexandear 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1988 中完成。\n* 使用 Contents API 替代原始端点来获取文件内容，由 @almaleksia 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1998 中完成。\n* ","2026-02-19T17:03:35",{"id":130,"version":131,"summary_zh":132,"released_at":133},189443,"v0.30.3","## 变更内容\n* 文档：由 @GeekTrainer 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1913 中添加了 Copilot CLI 安装指南\n* 由 @tonytrg 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1947 中为上传 URL 添加了尾部斜杠\n* 由 @kerobbi 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1948 中在 PR 审查工具中使用请求上下文代替 context.Background()\n\n## 新贡献者\n* @GeekTrainer 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1913 中完成了首次贡献\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fcompare\u002Fv0.30.2...v0.30.3","2026-02-03T16:06:40",{"id":135,"version":136,"summary_zh":137,"released_at":138},189444,"v0.30.2","## 亮点\n\n操作工具在输出行长度极长时不再失败，因此单行压缩后的 JavaScript 等内容现在会以显式的 `[truncated]` 后缀进行截断，以帮助模型更好地理解。\n\n## 变更内容\n* 修复 `generateInstructions`，使其仅使用已启用的工具集，由 @SamMorrowDrums 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1898 中完成。\n* 构建（依赖项）：将 SamMorrowDrums\u002Fmcp-server-diff 从 2.2.0 升级至 2.3.5，由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1901 中完成。\n* 构建（依赖项）：将 Golang 从 1.25.4-alpine 升级至 1.25.6-alpine，由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1900 中完成。\n* 添加行长度截断缓冲区，由 @mattdholloway 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1899 中完成。\n\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fcompare\u002Fv0.30.1...v0.30.2","2026-01-27T11:35:55",{"id":140,"version":141,"summary_zh":142,"released_at":143},189445,"v0.30.1","添加了 `insiders` 模式的标志，该模式可在功能正式发布（GA）之前启用实验性功能。\n\n## 变更内容\n* 由 @mattdholloway 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1894 中移除了旧的项目和操作标志。\n* 由 @tonytrg 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1893 中添加了正确的 insiders 名称。\n\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fcompare\u002Fv0.30.0...v0.30.1","2026-01-26T15:53:18",{"id":145,"version":146,"summary_zh":147,"released_at":148},189446,"v0.30.0","## 主要特性：\n- 将项目和操作工具整合为更精简的读写工具集\n- 现在无需指定所有者类型即可搜索项目，并且可以使用“所有者\u002F仓库”和编号来将问题和拉取请求添加到项目中，而不再需要使用全局 ID，因为代理人员经常弄错全局 ID。\n- 为早期采用者新增了“Insiders（实验性）”模式标志，以便在正式发布前始终尝试最新功能。\n\n## 变更内容\n* 在 Dockerfile 中构建完整包以包含所有命令，由 @SamMorrowDrums 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1844 中完成\n* 为 docker run 命令添加 -t 选项，由 @JoannaaKL 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1848 中完成\n* 为开源项目添加 Insiders 文档，由 @mattdholloway 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1857 中完成\n* 使 owner_type 成为可选参数，并修复整合后的 Projects V2 工具中的 add_project_item 功能，由 @Copilot 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1799 中完成\n* ci：使用 mcp-conformance-action 进行一致性测试，由 @SamMorrowDrums 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1827 中完成\n* 修复 mcp-diff 工作流对推送事件和标签的触发问题，由 @SamMorrowDrums 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1871 中完成\n* 在 Inventory 中生成服务器说明，由 @tommaso-moro 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1869 中完成\n* 默认使用整合后的操作\u002F项目工具集，并添加延迟发布标志，由 @mattdholloway 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1891 中完成\n* 杂项：移除未使用的 github.com\u002Ffatih\u002Fcolor 包，由 @SamMorrowDrums 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1892 中完成\n* 修复 OpenAI Codex 安装指南链接中的拼写错误，由 @leereilly 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1880 中完成\n* 将 mcpcurl 的 Go 版本要求更新至 1.24，由 @alexandear 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1803 中完成\n* 文档：为 Claude MCP HTTP 设置添加 Windows 注意事项，由 @loktar00 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1859 中完成\n\n## 新贡献者\n* @leereilly 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1880 中完成了首次贡献\n* @loktar00 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1859 中完成了首次贡献\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fcompare\u002Fv0.29.0...v0.30.0","2026-01-26T14:48:13",{"id":150,"version":151,"summary_zh":152,"released_at":153},189447,"v0.29.0","## 亮点\n\n- `assign_copilot_to_issue` 工具的 [用户体验改进](https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1810)\n  - 在分配 Copilot 编码代理后，轮询由其创建的 PR\n- 添加了用于仓库中工具描述的 [cli-tool 工具搜索](https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1839)\n\n## 变更内容\n* chore：@alexandear 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1795 中移除了二进制文件\n* @Copilot 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1816 中递归排序 toolsnaps JSON 键，以消除无意义的变更\n* @Copilot 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1819 中记录了为何在 PR #1816 和后续 PR 之间会出现 toolsnaps 变更\n* Bug 修复：无效工具应报错退出，由 @tommaso-moro 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1776 中完成\n* @Copilot 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1806 中为 assign_copilot_to_issue 工具添加了 custom_instructions 参数\n* @Copilot 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1822 中修复了 dismiss_notification 拒绝合法 HTTP 204 响应的问题\n* @tonytrg 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1801 中添加了依赖级别上的功能标志\n* feat：在将 Copilot 分配到问题后轮询关联的 PR，由 @SamMorrowDrums 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1810 中实现\n* @JoannaaKL 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1828 中为所有新问题添加了默认标签\n* build(deps)：将 github.com\u002Fgo-viper\u002Fmapstructure\u002Fv2 从 2.4.0 升级至 2.5.0，由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1798 中完成\n* @JoannaaKL 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1839 中添加了工具搜索 CLI\n\n## 新贡献者\n* @alexandear 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1795 中完成了首次贡献\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fcompare\u002Fv0.28.1...v0.29.0","2026-01-19T15:20:33",{"id":155,"version":156,"summary_zh":157,"released_at":158},189448,"v0.28.1","## 亮点\n\n现在，`create_pull_request_with_copilot` 和 `assign_copilot_to_issue` 这两个工具都支持使用 `base_ref` 选项来堆叠拉取请求。\n\n## 变更内容\n* @Copilot 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1779 中为 `assign_copilot_to_issue` 工具添加了 `base_ref` 参数，并支持 GraphQL-Features 头。\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fcompare\u002Fv0.28.0...v0.28.1","2026-01-12T15:45:48",{"id":160,"version":161,"summary_zh":162,"released_at":163},189449,"v0.28.0","## 亮点\n\n在本次发布中，我们引入了整合的 Projects 工具集，可通过 `remote_mcp_consolidated_projects` 功能标志来启用。此外，在使用经典 PAT 时，工具现在会根据令牌的作用域进行过滤。同时还包含了一些错误修复。\n\n## 变更内容\n* @Copilot 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1679 中为所有 MCP 工具添加 OAuth 作用域元数据\n* @SamMorrowDrums 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1741 中为 stdio 服务器添加 PAT 作用域过滤\n* @Copilot 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1737 中将 go-github-mock 替换为 stretchr\u002Ftestify，用于 actions\u002Fissues\u002Fprojects 的测试\n* @matddholloway 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1706 中实现 Projects 整合\n* @floriangrousset 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1307 中更新终端使用命令说明\n* @SamMorrowDrums 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1754 中修复完成处理器中的空指针解引用问题\n* @tommaso-moro 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1756 中更新 remote-server.md 文档中的工具集名称\n* @Copilot 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1750 中新增使用 inventory 架构的 list-scopes 命令\n* @Copilot 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1766 中更新 Claude Code 安装命令，支持 v2.1.1+ 的 add-json 格式\n* @tommaso-moro 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1775 中修复 --tools 标志在功能标志启用的工具上无法正常工作的问题，并移除已弃用的别名\n* @almaleksia 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1767 中恢复本地 mcp 服务器注册表配置\n* @Copilot 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1780 中修复文档自动化流程，使其使用工具集 ID 而不是显示名称\n* @SamMorrowDrums 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1777 中修复资源处理器，使其使用上下文中的依赖项\n* @SamMorrowDrums 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1792 中修复问题，确保所有资源都保持注册状态，以响应 resources\u002Fread 请求\n\n## 新贡献者\n* @floriangrousset 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1307 中完成了首次贡献\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fcompare\u002Fv0.27.0...v0.28.0","2026-01-12T14:20:52",{"id":165,"version":166,"summary_zh":167,"released_at":168},189450,"v0.27.0","## 亮点\n\n我们改进了 `get_file_contents` 和 `push_files` 工具。现在涵盖了大量常见场景，这些场景不再会导致失败。例如，现在可以将文件推送到未初始化的仓库和新分支。\n\n## 变更内容\n* 添加原始客户端错误注解，并由 @omgitsads 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1570 中为 GetFileContents 添加注解。\n* 功能：在 delete_project_item 工具注解中添加 DestructiveHint，由 @triepod-ai 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1665 中完成。\n* `get_file_contents` 的 refs 拉取改进，由 @almaleksia 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1655 中完成。\n* 移除实验工具集，由 @tommaso-moro 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1667 中完成。\n* 构建（依赖项）：将 docker\u002Fsetup-buildx-action 从 3.11.1 升级到 3.12.0，由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1672 中完成。\n* 功能：在 PR 上自动修复许可证文件并提高 CI 可靠性，由 @SamMorrowDrums 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1583 中完成。\n* 修复许可证检查工作流中的无效 YAML 语法，由 @Copilot 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1674 中完成。\n* 构建（依赖项）：将 github.com\u002Fgoogle\u002Fjsonschema-go 从 0.3.0 升级到 0.4.2，由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1670 中完成。\n* 构建（依赖项）：将 github.com\u002Fmodelcontextprotocol\u002Fgo-sdk 从 1.2.0-pre.1 升级到 1.2.0，由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1671 中完成。\n* 更新 PR 模板以包含工具重命名部分，由 @tommaso-moro 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1657 中完成。\n* 构建（依赖项）：将 github.com\u002Fspf13\u002Fcobra 从 1.10.1 升级到 1.10.2，由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1558 中完成。\n* 当 main 分支不存在时，在 get_file_contents 中回退到默认分支，由 @almaleksia 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1669 中完成。\n* 修复：在分叉的仓库上跳过 CodeQL 扫描，由 @kaovilai 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F873 中完成。\n* 构建（依赖项）：将 docker\u002Fmetadata-action 从 5.9.0 升级到 5.10.0，由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1516 中完成。\n* 更新文档以移除对 Claude Web 的提及，由 @tommaso-moro 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1684 中完成。\n* 修改列表工作流运行的逻辑，允许使用空资源 ID 列出仓库中的所有运行，由 @mattdholloway 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1682 中完成。\n* 构建（依赖项）：将 actions\u002Fgithub-script 从 7 升级到 8，由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1699 中完成。\n* 更新 README.md，添加 Open AI Codex 安装指南的超链接，由 @s-sanjay 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1692 中完成。\n* 文档：在先决条件部分添加 Docker 镜像名称，由 @majiayu000 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1701 中完成。\n* 修复：在许可证检查工作流中使用 gh pr checkout 处理分叉 PR，由 @Copilot 在 https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1709 中完成。\n* 重构：使用一致的 sn","2026-01-05T14:23:47",{"id":170,"version":171,"summary_zh":172,"released_at":173},189451,"v0.26.3","## What's Changed\r\n* Add aliases for new actions tools by @tommaso-moro in https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1652\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fcompare\u002Fv0.26.2...v0.26.3","2025-12-19T10:43:12",{"id":175,"version":176,"summary_zh":177,"released_at":178},189452,"v0.26.2","## What's Changed\r\n* Fix stdio mode panic: inject ToolDependencies into request context by @Copilot in https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1647\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fcompare\u002Fv0.26.1...v0.26.2","2025-12-19T05:57:08",{"id":180,"version":181,"summary_zh":182,"released_at":183},189453,"v0.26.1","Fixes regression breaking some clients https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fissues\u002F1644\r\n\r\n## What's Changed\r\n* Fix ring buffer panic by @mattdholloway in https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1556\r\n* Omit icon sizes field for backward compatibility with older MCP clients by @Copilot in https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1645\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fcompare\u002Fv0.26.0...v0.26.1","2025-12-18T18:54:15",{"id":185,"version":186,"summary_zh":187,"released_at":188},189454,"v0.26.0","## GitHub MCP Server gets a touch of gloss :nail_care: \r\n\r\nFor clients that support icons (part of the newest MCP specification) we now provide them:\r\n\r\n\u003Cimg width=\"589\" height=\"465\" alt=\"new mcp icons shown in the vscode tool selection ui\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F3f8d20e2-ff95-4f4d-ab00-f8fca3ae392f\" \u002F>\r\n\r\n\u003Cimg width=\"610\" height=\"250\" alt=\"new mcp icons shown in the vscode mcp resource ui\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Ff2147d8e-ad06-45d7-a229-3244c7ae9b57\" \u002F>\r\n\r\n## Main Features\r\n\r\n### 🎨 Octicon Icons for Tools, Resources, and Prompts\r\nMCP clients that support the new icons specification will now display GitHub's Octicon icons alongside tools and resources, making it easier to identify capabilities at a glance.\r\n\r\n### 🏗️ Inventory Pattern Architecture  \r\nA new internal architecture introduces the Inventory pattern with builder, filtering, and per-request optimization. This lays groundwork for better performance and configurability, especially for remote server deployments.\r\n\r\n### 🚩 Feature Flag Support & Consolidated Actions Toolsets\r\nAdded infrastructure for feature flag-based tool enablement, plus a consolidated actions toolset for better organization of GitHub Actions-related tools gated by a feature flag.\r\n- `--features`  cli flag or `GITHUB_MCP_FEATURES` via ENV.\r\n\r\n### 🔧 Bug Fixes\r\n- **Fixed `create_or_update` SHA failures** - Resolved issues where file updates could fail due to SHA mismatches\r\n- **Path parameter now optional** - Fixed incorrect required parameter validation\r\n\r\n### 📚 Documentation\r\n- New [Antigravity installation guide](https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fblob\u002Fmain\u002Fdocs\u002Finstallation-guides\u002Finstall-antigravity.md)\r\n- New [tool renaming guide](https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fblob\u002Fmain\u002Fdocs\u002Ftool-renaming.md) for handling deprecated tool names\r\n\r\n## What's Changed\r\n* Fix create_or_update SHA-related failures by @almaleksia in https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1621\r\n* docs: Add Antigravity installation guide by @ManoloZocco in https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1549\r\n* Update docs to include tool renaming guide by @tommaso-moro in https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1623\r\n* Update pr template by @JoannaaKL in https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1605\r\n* Chore: Add testify-based HTTP mocking infrastructure and pilot migration by @Copilot in https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1606\r\n* build(deps): bump actions\u002Fcache from 4 to 5 by @dependabot[bot] in https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1609\r\n* refactor: Introduce Inventory pattern with builder, filtering, and per-request optimization by @SamMorrowDrums in https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1589\r\n* Fix: path param should be optional by @almaleksia in https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1631\r\n* fix: track HTTP status code errors in context for observability by @SamMorrowDrums in https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1630\r\n* feat: Add Octicon icons to MCP tools, resources, and prompts by @SamMorrowDrums in https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1603\r\n* Update docs generation to populate correct docs, remove redundant docs by @tommaso-moro in https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1634\r\n* refactor: inject deps via context instead of closures by @SamMorrowDrums in https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1640\r\n* Partial migration from go-github-mock to testify-based mocks by @Copilot in https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1629\r\n* Add ff support and consolidated actions toolsets by @mattdholloway in https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1622\r\n\r\n## New Contributors\r\n* @ManoloZocco made their first contribution in https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1549\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fcompare\u002Fv0.25.0...v0.26.0","2025-12-18T15:20:52",{"id":190,"version":191,"summary_zh":192,"released_at":193},189455,"v0.26.0-rc.3","Rename registry.Registry to inventory.Inventory in order to avoid a namespace collision with MCP Registry\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fcompare\u002Fv0.26.0-rc.2...v0.26.0-rc.3","2025-12-17T00:09:20",{"id":195,"version":196,"summary_zh":197,"released_at":198},189456,"v0.26.0-rc.2","## v0.26.0-rc.2 Release Notes\r\n\r\n### Fixes\r\n\r\n- **fix(get_file_contents):** Restore correct implementation from #1582\r\n  - Fixed control flow to resolve git reference SHA before calling GetContents API\r\n  - Restored `matchFiles` helper function for proper fallback when files aren't found directly\r\n  - Ensures proper URI construction with resolved SHA (e.g., `repo:\u002F\u002Fowner\u002Frepo\u002F\u003Csha>\u002Fcontents\u002Fpath`)\r\n\r\n- **chore:** Update server.json schema to 2025-12-11\r\n  - Fixed MCP registry publish workflow by updating to non-deprecated schema\r\n  - Removed `status` field (now managed by registry)\r\n\r\n### Summary\r\n\r\nThis pre-release fixes a regression in `get_file_contents` that was introduced during the registry refactor. The tool was returning empty responses because:\r\n1. The resolved SHA wasn't being applied before the GitHub Contents API call\r\n2. The `matchFiles` fallback logic was incorrectly restructured\r\n\r\nBoth issues are now fixed, restoring the behavior from PR #1582.\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fcompare\u002Fv0.26.0-rc.1...v0.26.0-rc.2","2025-12-16T22:58:41",{"id":200,"version":201,"summary_zh":202,"released_at":203},189457,"v0.26.0-rc.1","## Highlights\r\n\r\n### 🏗️ Registry Pattern Refactoring\r\n- Migrate context_tools to new ServerTool pattern (#1590)\r\n- Migrate notifications.go to NewTool pattern (#1592)\r\n\r\nThese PRs are part of a larger refactoring effort moving all tools to a new `ServerTool` pattern with typed dependency injection. This improves code maintainability and enables better testability.\r\n\r\n### 🐛 Bug Fix\r\n- **`create_or_update_file`** - SHA is now optional; if not supplied, the tool automatically retrieves the original SHA (#1621)\r\n\r\n### 📚 Documentation\r\n- Add Antigravity installation guide (#1549)\r\n- Add tool renaming guide (#1623)\r\n\r\n---\r\n\r\n## What's Changed\r\n* Fix create_or_update SHA-related failures by @almaleksia in https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1621\r\n* docs: Add Antigravity installation guide by @ManoloZocco in https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1549\r\n* Update docs to include tool renaming guide by @tommaso-moro in https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1623\r\n* Migrate context_tools to new ServerTool pattern by @SamMorrowDrums in https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1590\r\n* refactor(notifications): migrate notifications.go to NewTool pattern by @SamMorrowDrums in https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1592\r\n\r\n## New Contributors\r\n* @ManoloZocco made their first contribution in https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1549\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fcompare\u002Fv0.25.0...v0.26.0-rc.1","2025-12-16T22:56:50",{"id":205,"version":206,"summary_zh":207,"released_at":208},189458,"v0.25.0","## What's New\r\nWe have released a range of improvements to our tools which will improve how models use the GitHub MCP Server! We have also fixed a range bugs.\r\n\r\n## What's Changed\r\n* Correct lower-case issue state by @almaleksia in https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1567\r\n* Trim leading slash in path parameter by @almaleksia in https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1569\r\n* Add support for safe tool renaming by @tommaso-moro in https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1563\r\n* fix: indent multi-line descriptions in generated docs by @SamMorrowDrums in https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1576\r\n* fix: update get-me script for go-SDK MCP protocol by @SamMorrowDrums in https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1555\r\n* Turn off default toolset when in dynamic mode by @tommaso-moro in https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1401\r\n* fix: Handle architecture-specific license dependencies by @SamMorrowDrums in https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1581\r\n* Improvements & refactoring of get_file_contents by @almaleksia in https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1582\r\n* adding review comments grouped as threads by @tonytrg in https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1554\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fcompare\u002Fv0.24.1...v0.25.0","2025-12-16T10:27:22",{"id":210,"version":211,"summary_zh":212,"released_at":213},189459,"v0.24.1","## Changelog\r\n\r\n* 82c493056edfd49a4e15d9cd0ce5908bd9b59e1a fix: include empty properties in get_me schema for OpenAI compatibility\r\n\r\n","2025-12-08T10:29:41",{"id":215,"version":216,"summary_zh":217,"released_at":218},189460,"v0.24.0","## What's New\r\n\r\n* Move SDK to `modelcontextprocol\u002Fgo-sdk` https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1428\r\n* Added Repository Resource Completion handler https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1493\r\n\r\n> [!IMPORTANT]\r\n> This release includes a large change from [`mark3labs\u002Fmcp-go`](https:\u002F\u002Fgithub.com\u002Fmark3labs\u002Fmcp-go) to [`modelcontextprotocol\u002Fgo-sdk`](https:\u002F\u002Fgithub.com\u002Fmodelcontextprotocol\u002Fgo-sdk). This should be transparent to end users, but please report regressions if you encounter any.\r\n\r\n## What's Changed\r\n* Convert to `modelcontextprotocol\u002Fgo-sdk` by @omgitsads, @LuluBeatson & @SamMorrowDrums in https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1428\r\n* Add resource completion for GitHub repository resources by @omgitsads & @almaleksia in https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1493\r\n* Add AI issue assessment workflow with github\u002Fai-assessment-comment-labeler by @Copilot in https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1498\r\n* Add documentation for `X-MCP-Tools` by @tommaso-moro in https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1495\r\n* Add ai_review_label to ai-issue-assessment.yml by @Copilot in https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1501\r\n* Check if the tool is _NOT_ read only before skipping it in read-only mode by @omgitsads in https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fpull\u002F1514\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgithub-mcp-server\u002Fcompare\u002Fv0.23.0...v0.24.0","2025-12-02T09:43:07"]