MCP Governance - Allow/Deny List for MCP for Organizations and Teams
還沒有人認領這個 Issue。
評估
- 難度
- 5/5
- 預估耗時
- 一週以上
- 新手友好度
- 30/100
- Issue 類型
- 功能
- 描述清晰度
- 基本清楚
- 活躍度
- 活躍
- 技術堆疊
- go
研究方向
該 issue 未指定檔案、測試或進入點。首先定位伺服器端的 MCP 工具請求路徑,以及現有的組織和團隊授權模型。完成內容應涵蓋組織預設設定、團隊特定例外、工具遭拒時的行為,以及針對所述三個工作流程的測試。
由索引模型根據 Issue 內容生成。
描述
Feature Request: Allow and deny list for MCP Enterprises.
Describe the feature or problem you’d like to solve
GitHub Copilot's agentic features can leverage a powerful set of tools, including specific MCP Servers (e.g., "Azure MCP", "microsoft-docs", "playwright") and other extensions. While individual users can enable these tools locally, there is no centralized, enterprise-level control to enforce which tools are approved for use.
This creates a governance and security gap, as a user could enable and send data to an unvetted third-party tool. Furthermore, a single, organization-wide policy is too restrictive, as specialized teams (like QA or security) often require access to tools that should be denied to the general developer population.
Proposed solution
Implement a server-side MCP Server & Tool Governance Policy that is configurable at both the organization and team levels. This would allow administrators to set a baseline policy and grant specific exceptions for teams with elevated needs.
The workflow would be:
- An administrator sets a default tool policy for the entire organization (e.g., "Deny by Default").
- The administrator then creates more permissive policies for specific GitHub Teams (e.g., Allow the "playwright" tool for the
@qa-engineersteam). - When a user issues a prompt, the Copilot service checks the required tool against the policies that apply to that user, starting with their team-specific policies and then falling back to the organization default.
- If an "allow" policy is matched, the request proceeds. If the tool is explicitly denied or not covered by an allow policy, the request is blocked and the user is notified.
This layered approach provides both a strong security baseline and the flexibility required for real-world enterprise operations.
Example prompts or workflows (for tools/toolsets only)
-
Workflow: Using an Approved MCP Server (Org-Wide)
- An administrator has added "MCP Server: microsoft-docs" to the enterprise-wide allow list.
- Any developer in the organization prompts: "Please research how to set up Azure Key Vault using the official Microsoft Docs."
- The server-side check confirms the tool is allowed at the organization level, and the request is processed successfully.
-
Workflow: Attempting to Use a Denied MCP Server
- The organization's default policy denies the "MCP Server: playwright" tool.
- A developer who is not on the QA team enables it locally and prompts: "Generate a Playwright test script for my login page."
- The server-side check finds the tool is denied by the default policy and no team-based exception applies. The request is blocked.
- Copilot responds: "I am unable to use the 'playwright' tool as it is not approved for your team. Please contact your IT governance team for more information."
-
Workflow: Handling an Exception for a Specialized Team
- The default policy denies the "playwright" tool, but the administrator has created a policy that allows it for the
@qa-engineersGitHub Team. - A developer who is a member of
@qa-engineersprompts: "Generate a Playwright test script for my login page." - The server-side check first sees the user is part of the
@qa-engineersteam and finds the corresponding "allow" policy for the "playwright" tool. - The request is approved and processed successfully, bypassing the organization's default denial.
- The default policy denies the "playwright" tool, but the administrator has created a policy that allows it for the
Additional context
This feature is critical for applying realistic security and data governance policies. By managing tools with a combination of organization-wide defaults and team-based exceptions, enterprises can establish a secure baseline while empowering specialized teams with the advanced tools they need. The image below shows the exact type of tools that require this flexible, centralized governance.
- 主要語言
- Go
- 星號
- 33.1k
- 分支
- 5k
- 平均合併
- 2 天 1 小時
- 30 天內合併 PR
- 25
貢獻指南
從這裡開始
- 先讀完整個 Issue,再讀專案的貢獻指南。
- 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
- Fork 儲存庫,在一個分支上完成修改。
- 送出 Pull Request,並在描述裡引用這個 Issue 編號。
github/github-mcp-server 的其他 Issue
-
bug
難度 2/5 1-3 小時 新手友好度 84/100
github/github-mcp-server#3235 ·
-
enhancement
難度 1/5 1 小時以內 新手友好度 88/100
github/github-mcp-server#3042 · 2 則留言 ·
-
bug
難度 2/5 1-3 小時 新手友好度 72/100
github/github-mcp-server#3032 · 1 個 reaction ·
-
難度 2/5 1-3 小時 新手友好度 74/100
github/github-mcp-server#2803 · 1 則留言 ·
-
難度 2/5 1-3 小時 新手友好度 76/100
github/github-mcp-server#2740 ·
查看 github/github-mcp-server 的全部 Issue
相似的 Issue
-
難度 2/5 1-3 小時 新手友好度 65/100
-
bug group: validation priority: low
難度 2/5 1-3 小時 新手友好度 75/100
codecheckers/chekhov#51 ·
-
難度 2/5 1-3 小時 新手友好度 70/100
-
難度 2/5 1-3 小時 新手友好度 75/100
-
難度 2/5 1-3 小時 新手友好度 75/100