-
Notifications
You must be signed in to change notification settings - Fork 3.7k
Open
Description
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
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels