Inventory: return stable hidden-tool reason codes across filter gates
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 38/100
- Issue-Typ
- Feature
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Veraltet
- Tech-Stack
- github, go
- Bereich
- authorization, backend, testing-qa
Rechercherichtung
Beginne damit, die Filterpfade in internal/ghmcp/server.go und pkg/inventory/builder.go nachzuverfolgen, und untersuche anschließend die Behandlung von Scopes und Lockdown in pkg/scopes/fetcher.go und pkg/lockdown/lockdown.go. Füge Tests für jeden aufgeführten Ausblendpfad hinzu und verifiziere, dass Inventory- und Request-Filterung für jedes ausgeblendete Tool genau einen deterministischen Grundcode erzeugen.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Problem
Tool filtering can hide capabilities due to toolset, PAT scope, read-only mode, or lockdown, but callers do not always receive one stable reason classification.
Why now
Permission-scoped capability exposure is a core contract of the GitHub MCP server. Missing provenance for hidden tools weakens operator debugging and policy auditability.
Current insufficiency
Filtering behavior is implemented in multiple layers, but there is not a single stable reason-code contract guaranteed across all hide paths.
Expected behavior
Hidden tools should be classified with deterministic reason codes such as:
toolset_filteredscope_filteredreadonly_filteredlockdown_filtered
Validation requirements
- Add tests that exercise each hide path.
- Assert one stable reason code per hidden tool decision.
- Keep classification convergent across inventory and request filtering.
Scope map
internal/ghmcp/server.gopkg/inventory/builder.gopkg/scopes/fetcher.gopkg/lockdown/lockdown.go
- Vorherrschende Sprache
- Go
- Sterne
- 33.1k
- Forks
- 5k
- Ø Merge
- 2 T. 1 Std.
- Gemergte PRs (30 T.)
- 25
Beitragsleitfaden
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus github/github-mcp-server
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
github/github-mcp-server#3235 ·
-
enhancement
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 88/100
github/github-mcp-server#3042 · 2 Kommentare ·
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
github/github-mcp-server#3032 · 1 Reaktion ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 74/100
github/github-mcp-server#2803 · 1 Kommentar ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
github/github-mcp-server#2740 ·
Alle Issues in github/github-mcp-server
Ähnliche Issues
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 60/100
github/gh-aw-mcpg#13748 ·
-
agentic-workflows
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
-
needs-triage
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
googleapis/librarian#7670 · 2 Kommentare ·