Inventory: return stable hidden-tool reason codes across filter gates

オープン
#2,197 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
38/100
issue の種類
機能追加
明瞭さ
おおむね明確
活発さ
停滞
技術スタック
github, go

調査の方向性

まず internal/ghmcp/server.go と pkg/inventory/builder.go のフィルタリング経路を追跡し、次に pkg/scopes/fetcher.go と pkg/lockdown/lockdown.go の scope と lockdown の処理を調査します。列挙された各非表示経路のテストを追加し、inventory と request のフィルタリングが、非表示にした各 tool について決定論的な理由コードを1つずつ生成することを確認します。

索引モデルが issue の本文から書いたものです。

説明

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_filtered
  • scope_filtered
  • readonly_filtered
  • lockdown_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.go
  • pkg/inventory/builder.go
  • pkg/scopes/fetcher.go
  • pkg/lockdown/lockdown.go
主要言語
Go
スター
33.1k
フォーク
5k
平均マージ
2日 1時間
マージ済み PR(30日)
25

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

github/github-mcp-server のほかの issue

github/github-mcp-server の issue をすべて見る

似ている issue

Go の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。