-
Notifications
You must be signed in to change notification settings - Fork 248
[FEATURE] Private MCP servers sourced from GitHub repos + consumer token-env trust policy #1869
Copy link
Copy link
Open
Labels
area/mcp-configMCP server configuration depth, transports, variable resolution.MCP server configuration depth, transports, variable resolution.area/mcp-trustTransitive MCP trust prompts, consent contract, transport security.Transitive MCP trust prompts, consent contract, transport security.status/needs-designDirection approved, design discussion required before code.Direction approved, design discussion required before code.status/triagedInitial agentic triage complete; pending maintainer ratification (silence = approval).Initial agentic triage complete; pending maintainer ratification (silence = approval).theme/governanceGoverned by policy. apm-policy, audit, enforcement, enterprise rollout.Governed by policy. apm-policy, audit, enforcement, enterprise rollout.theme/securitySecure by default. Content scanning, lockfile integrity, MCP trust boundaries.Secure by default. Content scanning, lockfile integrity, MCP trust boundaries.type/featureNew capability, new flag, new primitive.New capability, new flag, new primitive.
Description
Metadata
Metadata
Assignees
Labels
area/mcp-configMCP server configuration depth, transports, variable resolution.MCP server configuration depth, transports, variable resolution.area/mcp-trustTransitive MCP trust prompts, consent contract, transport security.Transitive MCP trust prompts, consent contract, transport security.status/needs-designDirection approved, design discussion required before code.Direction approved, design discussion required before code.status/triagedInitial agentic triage complete; pending maintainer ratification (silence = approval).Initial agentic triage complete; pending maintainer ratification (silence = approval).theme/governanceGoverned by policy. apm-policy, audit, enforcement, enterprise rollout.Governed by policy. apm-policy, audit, enforcement, enterprise rollout.theme/securitySecure by default. Content scanning, lockfile integrity, MCP trust boundaries.Secure by default. Content scanning, lockfile integrity, MCP trust boundaries.type/featureNew capability, new flag, new primitive.New capability, new flag, new primitive.
Type
Fields
Give feedbackNo fields configured for issues without a type.
Projects
StatusShow more project fields
Todo
Summary
Split out from #20 as a focused, design-needing residual. Two related security/trust items that did NOT ship with the v0.8.0 extended-MCP work:
1. Private MCP servers sourced from GitHub repos ("repo-as-registry")
In the #20 thread, both the maintainer and @Vivalio aligned on a middle ground between "public GitHub MCP Registry" and "stand up a full private MCP registry (e.g. Azure API Center)": source private MCP server definitions from a GitHub repo, the same way APM packages are sourced (honoring
GITHUB_HOST/ GHE).At HEAD the model supports
registry: <custom-url>(wired by PR #1443) andregistry: false(self-defined, shipped inside a package). Neither is the requested first-class "pull a private MCP server definition from a GitHub repo" flow.2. Consumer-side token-env allow-list policy
Triage design question (Apr 2026): a package declaring
env/headersthat route a credential (e.g.GITHUB_TOKEN) to a third-party MCP endpoint is a credential-exfiltration surface. Today this is partially gated by--trust-transitive-mcp(transitive servers), but there is no per-token consumer allow-list schema letting a consumer restrict which env vars/secrets a package's MCP servers may receive.Why grouped
Both are
theme/security/area/mcp-trustdesign items that share the same trust-boundary model (where does a server definition come from, and which credentials may flow to it). Settling them together avoids two overlapping designs.Suggested design deliverable
A short design doc settling: (a) GitHub-repo MCP sourcing resolution + host/auth reuse, and (b) the consumer token-env allow-list policy hook (likely in
apm-policy.yml).Context
Parent: #20. The extended-config schema, transports, headers, tool filtering, custom registry URL, multi-runtime generation, transitive trust, and the optional-input over-prompt bug (PR #1734) have all shipped. These two trust items are the remaining design-gated residuals.