stackhint について
stackhintはリポジトリと既存のClaude CodeまたはCodexの設定を調べ、関連するMCPサーバー、プラグイン、スキルを提案します。ローカルで動作し、ファイルの根拠を示して説明します。承認後はバックアップとロールバック付きで設定を変更できます。
主な機能
- 01リポジトリ内のファイルからプロジェクト情報を検出
- 02ファイルの根拠を示してツールを順位付け
- 03Claude CodeとCodexの設定を確認
- 04設定済みツールの問題を点検
- 05差分確認とロールバック付きの承認済みインストール
- 06読み取り専用MCPサーバーとして実行
活用シーン
- 01コードベースに適したツールの特定
- 02設定済みサーバーのアーカイブやリスクの発見
- 03変更内容を確認して推奨サーバーを追加
- 04MCPクライアント経由で提案を取得
MCP 対応
stdio経由の読み取り専用MCPサーバーとして動作し、ツールの提案、説明、検索、設定確認、インストール計画用のツールを公開します。このモードではインストールを実行せず、計画とコマンドを返します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
stackhint
あなたのリポジトリに本当に必要な MCP サーバー、プラグイン、スキルは何でしょうか? stackhint はプロジェクトと、Claude Code および Codex にすでに設定されている内容を調べ、判断の根拠となったファイルを示しながら答えます。正確な変更内容を表示してから、サーバーを追加することもできます。
ローカルで動作し、依存関係はなく、どこにもデータを送信しません。
どのプロジェクトでも試せます(Node.js 20 以降。インストール不要です)。
npx -y github:Protemir/stackhint recommend
または Claude Code に追加して、「ここで役立つ MCP サーバーは?」と尋ねてみてください。
/plugin marketplace add Protemir/stackhint
/plugin install stackhint@stackhint
これは examples/dotnet-shop での実際の出力です。小規模な ASP.NET Core API です(npm run demo で再現できます)。「今すすめる理由」の各行には根拠となるファイルが示されます。「いつか Kubernetes を試すかもしれない」とだけ書かれた README から、Kubernetes が推奨されることはありません。
読み取る対象は、マニフェスト(*.csproj、package.json、pyproject.toml、go.mod、Cargo.toml、Gradle、Composer、Gemfile)、Compose ファイル、Kubernetes ファイルと Terraform ファイル、CI、.env.example のキー名、README のリンクと Git 履歴、さらに Claude Code と Codex の設定です。MCP サーバー、プラグイン、スキル、CLI からなる 143 個のツールを把握しており、ベンダーのドキュメントと照らし合わせて手作業で確認しています。すでに廃止されたものも含まれるため、stackhint check で置き換え対象を確認できます。
作成した理由
MCP サーバーは数千種類ありますが、「おすすめトップ 10」のリストのかなりの数は、2025 年にアーカイブされたサーバーを今も紹介しています。たとえば、リファレンスの Postgres サーバーには既知の読み取り専用制限の回避方法があり、修正もありません。自分のリポジトリを確認し、Claude Code と Codex にすでに設定されている内容を把握したうえで、どれを追加し、どれを置き換える価値があるか教えてくれるものが欲しかったのです。コードをどこにも送信せず、許可なく設定を変更することもないものを。
既存のものとの比較は次のとおりです。
- Anthropic の
claude-code-setupプラグインは、Claude 自身がコードベースを調べて、自動化を提案します。優れていますが、Claude Code でしか動作せず、実行のたびにトークンを消費し、すでに設定されている内容を確認せず、何もインストールしません。 - MCP Advisor と MCP Compass は、自然言語のクエリを使って MCP ディレクトリを検索します。プロジェクトは調べません。
- stackhint は決定論的にローカルで動作します。Claude Code と Codex に対応し、既存の設定を把握します。正確なインストールコマンドと読み取り専用のデフォルト設定を含む、手作業で確認されたレジストリを維持し、差分、バックアップ、ロールバックを備えたインストールを処理します。
インストール
stackhint には Node.js 20 以降が必要です。実行時の依存関係はありません。
インストールせずに実行します(GitHub からダウンロードします)。
npx -y github:Protemir/stackhint recommend
または、コマンドをグローバルにインストールします。
npm install -g github:Protemir/stackhint
Claude Code
このプラグインは stackhint スキルを追加するため、Claude は「ここで役立つ MCP サーバーは?」という質問に回答できます。また、セッション開始時に控えめなヒントを表示します(プロアクティブモードを参照)。
/plugin marketplace add Protemir/stackhint
/plugin install stackhint@stackhint
シェルから実行する場合:claude plugin marketplace add Protemir/stackhint を実行し、続けて claude plugin install stackhint@stackhint を実行します。
Codex
Codex は同じリポジトリをプラグインマーケットプレイスとして読み込みます。
codex plugin marketplace add Protemir/stackhint
次に、/plugins から stackhint をインストールします。Codex では、プラグインのフックを実行する前に /hooks で承認する必要があります。
Claude Desktop
最新リリースからstackhint-<version>.mcpbをダウンロードして開くと、Claude Desktopに拡張機能としてインストールされます。おすすめを依頼するときは、プロジェクトフォルダーをpathとして渡してください。同じサーバーは、公式のMCP Registryにもio.github.Protemir/stackhintとして登録されています。
プラグインを使わない場合:MCP サーバー
stackhintは、5つのツール(recommend_tools、explain_tool、search_tools、tooling_status、plan_install)を備えた読み取り専用のMCP サーバーとしても実行できます。インストールを実行することはありません。plan_installは、計画と実行するコマンドを表示するだけです。
stackhint setup claude # or: stackhint setup codex
setupは、追加する内容(MCP サーバーのエントリーとスキルファイル)を表示して、最初に確認を求めます。手動で設定する場合は、次の手順に従ってください。
claude mcp add --scope user stackhint -- npx -y github:Protemir/stackhint mcp
codex mcp add stackhint -- npx -y github:Protemir/stackhint mcp
コマンド
| コマンド | 説明 |
|---|---|
stackhint scan [path] | 検出内容と、各シグナルの根拠を表示します |
stackhint recommend [path] | おすすめを順位付けして表示します。タスクに応じたアドバイスには--task "..."、--host claude|codex、--allを指定します |
stackhint explain <id> | 推奨する理由、アクセスできる内容、セットアップ方法、追加する正確なJSON/TOML、ベンダー独自のコマンドを表示します |
stackhint install <id> --host <h> | 計画と差分を表示して確認を求めた後、適用します。--dry-run、--scope user|project|local、--access read|write、--param k=vを指定できます |
stackhint try <id> --host <h> | 設定を変更せず、1つのセッションでサーバーを起動します |
stackhint status | Claude CodeとCodexに設定されている内容を表示します |
stackhint check | 設定を確認します。アーカイブ済みのサーバー、設定に書き込まれたシークレット、読み取り専用で使える場合の書き込みアクセス、重複を検出します。問題がある場合に終了コード1で終了するには--strictを指定します(CIで便利です) |
stackhint registry search <words> | ローカルレジストリを検索します。公式MCP Registryも検索するには--remoteを指定します(オプトイン) |
stackhint dismiss <id> | 今後おすすめに表示しないようにします。14日間表示を保留するには--for 14d、このリポジトリでのみ適用するには--projectを指定します |
stackhint rollback [id] | stackhintが行ったインストールを一覧表示するか、指定したインストールを元に戻します |
stackhint config ... | show、get <key>、set <key> <value>を実行します |
stackhint doctor | Node、設定ファイル、ホストのCLI、よくある問題を確認します |
stackhint mcp | 読み取り専用のMCP サーバーをstdio経由で実行します |
すべてのコマンドで--format text|md|jsonを指定できます。終了コード:0は成功、1はエラー、2は使用方法のエラー、3は未承認、4はブロックを示します。
調査対象
- パッケージマニフェスト:
*.csproj、Directory.Packages.props、package.json、requirements*.txt(requirements/フォルダーと UTF-16 ファイルも対象)、pyproject.toml(Poetry、uv、PDM)、Pipfile、go.mod(直接の依存関係のみ)、Cargo.toml、pom.xml、build.gradle(.kts)、Gradle バージョンカタログ、composer.json、Gemfile、pubspec.yaml、Prisma スキーマ。 - インフラストラクチャ:Dockerfile、Compose ファイル(
postgres:17などのサービスイメージ)、Kubernetes マニフェスト、Helm チャート、Argo CD と Flux のオブジェクト、Terraform プロバイダー、Pulumi、Bicep、CDK、Wrangler、Vercel、Netlify、Fly.io、Render、Railway、Heroku、DigitalOcean、Firebase、Supabase の設定。 - フレームワークとエンジン:Angular、Svelte、Nuxt、Astro、Next.js、Expo、Flutter、Shopify アプリとテーマ、Laravel、Storybook、Nx、shadcn/ui、Xcode、Unity、Unreal、ブラウザー拡張機能、ブラウザーゲーム(three.js、Phaser、Pixi)、スクリプトを含む通常のページ。
- CI:GitHub Actions、GitLab CI、Azure Pipelines、CircleCI、Jenkins、Buildkite、Bitbucket。
- API とテスト:OpenAPI ファイル、
.httpファイル、Postman コレクション、protobuf、GraphQL、Playwright/Cypress/Jest/Vitest/pytest の設定。 - 設定ファイル:
appsettings*.jsonの接続文字列と.env.exampleのキー名。使用されているデータベースやサービスの特定にのみ利用します。値が保存されたり、表示されたりすることはありません。 - README/CONTRIBUTING 内のリンク:Jira、Confluence、Linear、Asana、monday.com、ClickUp、Figma、Notion。
- Git:リモートホスト、ブランチ名、最近のコミットメッセージ(ローカルの
git log)。SHOP-123などの課題キーは Jira を示唆し、「add migration ...」のような同じ形式のコミットが 8 件以上ある場合はスキルを示唆します。 - チームが VS Code または Cursor 用にすでに設定している MCP サーバー(
.vscode/mcp.json、.cursor/mcp.json)。 - 渡された場合は、タスクも対象です。英語とロシア語の両方のキーワードに対応しています。
技術について文章で言及しているだけのプロジェクトは、その技術の推奨対象にはなりません。シグナルには強度があり、ほとんどの項目では具体的な根拠(requiresAny)が必要です。
ランキングの仕組み
レジストリの各エントリには、関連性を示すシグナルとその重みが記載されています。スコアは次のとおりです。
fit = relevance × (0.55 + 0.25 × value + 0.2 × immediacy) × compatibility × overlap
score = 100 × (fit − setup cost − risk), clamped to 0..100
- 関連性は、一致するシグナルを組み合わせて算出します(重み × 強度の noisy-OR)。
- 価値は、節約できる時間と使用頻度に関するレジストリの推定値に基づきます。
- 即時性は、根拠がタスクに由来する場合に高くなります。
- 同等のツールがすでに設定されている場合、重複度は下がります(
ghのような CLI は部分的に考慮されます)。 - セットアップコストには、必要な作業、認証、満たされていない前提条件が含まれます。リスクには、書き込み/管理者アクセス、コミュニティ版またはプレビュー版であること、不完全なメタデータが含まれます。
これらの数値は編集上の推定値であり、測定値ではありません。stackhint は出力内でその旨を示します。信頼度(高/中/低)は、根拠の強さと、互換性およびメタデータが検証済みかどうかを反映します。stackhint explain <id> を実行すると、内訳全体が表示されます。
セットアップについて把握している内容
Claude Code:~/.claude.json(ユーザースコープとプロジェクトごとのローカルスコープ)、プロジェクトの .mcp.json、.claude/settings*.json の承認設定、有効なプラグインとそれらに含まれる MCP サーバー、スキルとコマンド、管理者が管理する managed-mcp.json。
Codex:~/.codex/config.toml(または $CODEX_HOME)、信頼済みプロジェクトの .codex/config.toml、有効なプラグイン、~/.agents/skills、.agents/skills、.codex/skills 内のスキル。
各ツールの状態を、設定済み、無効、未設定、互換性なし、不明として報告します(たとえば、設定ファイルを解析できない場合)。「設定済み」とは、設定ファイルに記載されているという意味です。ホストの CLI による検証(install --verify)を依頼されない限り、stackhint はサーバーが起動中だとは断定しません。
安全なインストール
インストールによって設定が変更されるため、stackhint は毎回同じ手順に従います。
- プランを作成します。公式ソース、適用範囲、差分またはコマンドの詳細、権限、認証、ネットワークアクセス、必要な環境変数(名前のみ)、副作用をまとめます。
- 確認を求めます。ターミナルがない場合は、
--yesを指定しない限り処理を中止します。--dry-runでは確認を求めず、書き込みも行いません。 - 書き込み前に、プラン作成後にファイルが変更されていないことを確認し、バックアップを保存します。
- アトミックに書き込み、その後、結果を再度解析して新しいサーバーが存在することを確認します。問題があれば、元の状態に戻します。
- Codex では
codex mcp getで確認できます。Claude Code では--verifyを指定するとclaude mcp getが実行されます。 - 元に戻すコマンドを表示します。
stackhint rollback <id>はファイルをバイト単位で元に戻すか、claude mcp removeを実行します。インストール後にファイルを編集した場合、--forceを指定しない限りロールバックは拒否されます。
書き込み先:
| ホスト | スコープ | 方法 |
|---|---|---|
| Claude Code | project | .mcp.json にマージします(通常はコミットされます。Claude は各ユーザーに承認を求めます) |
| Claude Code | local(デフォルト)、user | Claude Code が ~/.claude.json を頻繁に書き換えるため、claude mcp add を実行します |
| Codex | user(デフォルト) | ~/.codex/config.toml に [mcp_servers.<name>] テーブルを1つ追加し、それ以外はバイト単位で変更しません |
| Codex | project | .codex/config.toml に追加します(Codex は信頼済みのプロジェクトでのみ読み込みます) |
適用されるルール:
- ベンダーが提供している場合は、読み取り専用のバリアントをデフォルトにします(GitHub の
X-MCP-Readonly、Postgres MCP Pro の--access-mode=restricted、Kubernetes の--read-only、Supabase のread_only=trueなど)。書き込みアクセスを有効にするには--access writeを使用します。 - シークレットは環境変数名のみで参照します。Claude Code の設定では
${VAR}、Codex ではbearer_token_env_varとenv_varsを使用します。stackhint がトークンを要求したり、書き込んだりすることはありません。 - 確認可能な場合は、パッケージのバージョンを固定します(例:
[email protected])。 - リモートスクリプトは実行せず、パッケージをインストールせず、ほかの変更も一切行いません。プラグイン、スキル、CLI は手順として表示します(Claude Code のプラグインは、確認後に
claude plugin installでインストールできます)。 - ネイティブ Windows では、どちらのクライアントでも必要なため、
npxサーバーをcmd /cでラップします。 - アーカイブ済みまたは非推奨の項目はインストールせず、同じ名前のサーバーを上書きせず、管理者が管理する MCP 設定が有効な場合は Claude Code に変更を加えません。
先回りのヒント
このプラグインは2つのフックをインストールします。動作は mode によって異なります。
| モード | セッション開始時 | プロンプトごと |
|---|---|---|
manual | 何もしません | 何もしません |
balanced(デフォルト) | 信頼度の高い候補を最大2件、プロジェクトごとに1日1回まで提示します | 何もしません |
proactive | 候補を最大3件提示し、1行の通知を表示します | プロンプトが新しい種類のタスク(PR のレビュー、時間のかかるクエリなど)を開始し、不足しているツールが適合する場合は、候補を1件提示します |
候補は、関連する場合にのみ言及し、自分でインストールしないよう指示を添えて、エージェントのコンテキストに追加されます。同じ項目は14日間再提示されず、非表示にした項目が再び表示されることもありません。また、プロジェクトに新しい依存関係が加わると、1日の上限を超えて候補が提示されることがあります。プロンプトフックはプロンプトをメモリ内にのみ保持し、どこにも書き込みません。
stackhint config set mode manual # turn hints off
stackhint config set mode proactive # more hints
制限事項について:
- どちらのクライアントにもバックグラウンド通知 API がないため、「先回り」とはセッション開始時およびプロンプトのフックを意味します。ファイル監視機能はありません。
- フックによる候補は、あなたに直接ではなくモデルに届きます(proactive モードでの1行の通知を除きます)。候補に言及するかどうかは会話の内容によります。
- Codex では、フックの実行前に
/hooksで承認する必要があります。
プライバシー
- 検出器が必要とするファイルのみを、サイズ制限と時間制限を設けて読み取ります。
.env、.env.local、秘密鍵、secrets.json、appsettings.*secret*は開きません。 - 接続文字列、トークン、認証情報を含む URL は保存も出力もしません。証拠にはファイル名と検出内容の種類を記載し、値は記載しません。すべての出力、監査ログ、エラーはマスキング処理を通ります。
- デフォルトではネットワークにアクセスしません。
registry search --remoteは、stackhint config set network trueの実行後にのみ公式 MCP Registry に問い合わせ、結果を 24 時間キャッシュします。 git logはコミットの件名を読み取るためにローカルで実行されます。stackhint config set gitHistory falseで無効にできます。- 状態は
~/.stackhint(または$STACKHINT_HOME)に保存されます。保存内容はconfig.json、state.json(プロジェクトパスのハッシュをキーとする非表示設定とクールダウン情報)、audit.log、backups/です。
レジストリ
registry/registry.json には 143 件のエントリがあります。推奨可能なツールが 120 件(MCP サーバー 89 件、プラグイン 28 件、CLI 2 件、スキル 1 件)、非推奨またはアーカイブ済みのツールが 23 件です。後者は stackhint が設定内で検出し、置き換え先を提案できるようになっています。すべての URL、パッケージ名、フラグ、プラグイン ID は、verifiedAt の日付(2026 年 10 月)にベンダーのリポジトリまたはドキュメントと照合済みです。労力、節約できる時間、利用頻度は私の推定値です。
対象には、ソース管理(GitHub、GitLab、Azure DevOps)、課題管理(Jira/Confluence、Linear)、データベース(Postgres、MySQL、SQL Server、ClickHouse、MongoDB、Redis、Supabase、Neon、Firebase)、コンテナーとインフラ(Kubernetes、Docker、Terraform、Argo CD、Flux)、クラウド(AWS、Azure、Google Cloud、Cloudflare、Vercel)、ドキュメント(Context7、Microsoft Learn、DeepWiki)、CI(CircleCI、Buildkite、Jenkins)、品質(SonarQube、Semgrep、Snyk)、オブザーバビリティ(Sentry、Grafana)、デザイン(Figma)、決済(Stripe)、ブラウザーテスト(Playwright、Chrome DevTools)、Claude Code の LSP およびレビュー用プラグイン、繰り返しのワークフロー向けプロジェクトスキルが含まれます。
独自ツールの追加
~/.stackhint/registry.d/ に JSON ファイルを配置するか、STACKHINT_REGISTRY でファイルを指定します。カスタムエントリも組み込みエントリと同様に検証され、常にコミュニティによって管理されているものとして扱われます。また、同じ ID を持つ組み込みエントリを上書きできます。
{
"entries": [
{
"id": "team-db",
"name": "Our analytics DB server",
"kind": "mcp",
"category": "database",
"description": "Read-only access to the analytics warehouse.",
"docs": "https://wiki.example.com/mcp/analytics",
"status": "active",
"triggers": [{ "signal": "db:clickhouse", "weight": 0.8 }, { "signal": "task:db", "weight": 0.6 }],
"requiresAny": ["db:clickhouse"],
"problem": "Analysts paste query results into the chat by hand.",
"workflow": "Ask the agent to check yesterday's event counts.",
"benefits": ["Schema and SELECT queries"],
"access": { "level": "read", "summary": "SELECT only", "readOnlyAvailable": true },
"auth": { "type": "oauth", "detail": "Company SSO" },
"hosts": { "claude": { "support": "yes" }, "codex": { "support": "yes" } },
"install": { "serverName": "analytics", "readOnly": { "transport": "http", "url": "https://mcp.example.com/analytics" } },
"match": { "urls": ["mcp.example.com/analytics"] }
}
]
}
検証では、悪用されるおそれのあるエントリを拒否します。たとえば、引数内のシェルメタ文字や引用符、コマンドとしてのインタープリターやダウンローダー(bash、curl、powershell、node など)、特権付き Docker フラグやホストマウント、平文 HTTP の URL(localhost を除く)、ヘッダー、環境変数、引数内のリテラルな秘密情報、エージェントに指示しようとするテキスト(「以前の指示を無視してください」や偽の </system> タグなど)が該当します。不足しているメタデータには慎重なデフォルト値が設定され(アクセス権が不明な場合は書き込み可能として扱われます)、信頼度が下がります。
stackhint scan を実行すると、プロジェクト内で見つかったシグナル ID が表示されます。アナライザーが生成できるシグナルの全セットは src/context/(packages.ts、analyzer.ts、task.ts)にあります。組み込みツールを追加するには、エントリと確認した情報源を添えてプルリクエストを作成してください。npm test は、すべてのトリガーがアナライザーの生成するシグナルであること、インストール仕様が両方のホスト向けに有効な JSON と TOML として出力されること、プラグイン ID が公式マーケットプレイスに存在することを検証します。
設定
stackhint config show は現在の値を表示します。キーは次のとおりです。
| キー | デフォルト | 意味 |
|---|---|---|
mode | balanced | manual、balanced、または proactive(上記を参照) |
minScore | 30 | recommend が表示する最低スコア |
hookMinScore.balanced / .proactive | 50 / 40 | フックの提案に必要な最低スコア |
hookMaxItems.balanced / .proactive | 2 / 3 | フックの実行ごとの提案数 |
itemCooldownDays | 14 | 同じ提案を再表示するまでの最短日数 |
projectCooldownHours | 24 | この期間内にプロジェクトごとに実行できるセッション開始時の一括処理は最大1回です |
network | false | registry search --remote を許可します |
gitHistory | true | git log で最近のコミットの件名を読み取ります |
環境変数:STACKHINT_HOME(状態フォルダー)、STACKHINT_REGISTRY(追加のレジストリファイル。OS のパス区切り文字で区切ります)、CLAUDE_CONFIG_DIR と CODEX_HOME(各クライアントと同様に扱われます)、NO_COLOR。
アーキテクチャ
src/
context/ project analyzer: file walk with budgets, manifest parsers, git, task keywords -> signals
registry/ registry loading and validation, search, opt-in official MCP Registry client
hosts/ read-only adapters: Claude Code and Codex configs, plugins, skills, PATH -> inventory
engine/ ranking (recommend.ts) and configuration review (check.ts); pure functions
install/ spec resolution, planning, applying with backup/validation, rollback
hooks/ SessionStart and UserPromptSubmit hooks
mcp/ minimal stdio MCP server (read-only tools)
render/ text, Markdown and JSON output
state/ config, dismissals, cooldowns, audit log
cli.ts, commands.ts
エンジンはホストの設定形式を認識しません。アダプターが設定を共通のインベントリに変換し、インストールモジュールがレジストリ仕様を Claude JSON または Codex TOML に変換します。TypeScript は Node に組み込まれた型ストリッパー(scripts/build.mjs)でコンパイルされるため、実行時依存関係もビルド依存関係もありません。CI では、コミット済みの dist/ がソースと一致することを確認します。
開発
npm install # TypeScript and @types/node, for type checking only
npm run typecheck
npm run lint
npm test # 300+ tests: node --test on the TypeScript sources (Node 22.18+)
npm run build # writes dist/
npm run test:dist # smoke tests on the built JavaScript (works on Node 20)
テストは使い捨てのサンドボックス(偽のホームディレクトリ、Claude と Codex の設定ディレクトリ)で実行され、検出、ランキング、重複検出、設定のマージ、承認の強制、ドライラン、ロールバック、秘匿情報の削除、悪意のあるレジストリエントリー、ネットワーク障害、フック、MCP プロトコルを対象としています。CI では、stackhint が書き込んだ設定に対して実際の claude と codex の CLI も実行します(tests/host-real.test.ts)。
トラブルシューティング
- 「確認するためのターミナルがありません」:スクリプトまたはエージェントから
installを実行しました。ターミナルで実行するか、プランを確認したうえで--yesを渡してください。 - 「Claude Code CLI が PATH に見つかりません」:ユーザースコープとローカルスコープでは
claudeが必要です。--scope projectを使うか、表示されたコマンドを自分で実行してください。 - サーバーに「接続に失敗しました」と表示される:プランに記載された環境変数がクライアントの起動時に使われるシェルで設定されていること、また
npx/uvx/dockerでパッケージをダウンロードできることを確認してください。 - Codex が
.codex/config.tomlを無視する:Codex がプロジェクト設定を読み取るのは、信頼済みのプロジェクトのみです。 - 初回起動時に Codex がサーバーの起動でタイムアウトする:stackhint はパッケージランナーを使うサーバーに
startup_timeout_sec = 60を設定します。ダウンロードに時間がかかる場合は値を大きくしてください。 - 問題があるように見える場合:
stackhint doctorを実行し、stackhint scan --format jsonの出力を添えてイシューを作成してください(秘密情報は含まれませんが、共有する前に内容を確認してください)。
アンインストール
- インストールを元に戻す:
stackhint rollbackで一覧を表示し、stackhint rollback <id>で1件を元に戻します。 - Claude Code プラグイン:
/plugin uninstall stackhint@stackhintと/plugin marketplace remove stackhintを実行します。 - Codex プラグイン:
/pluginsで削除し、続いてcodex plugin marketplace remove stackhintを実行します。 setupで登録した MCP サーバー:claude mcp remove stackhint --scope userを実行するか、~/.codex/config.tomlから[mcp_servers.stackhint]を削除します。スキルは~/.claude/skills/stackhintまたは~/.agents/skills/stackhintにあります。- グローバルコマンド:
npm uninstall -g stackhintを実行します。 - 状態:
~/.stackhintを削除します。
制限事項
- レジストリは手作業で管理されており、2026年10月に確認されています。ベンダーはエンドポイントやフラグを変更するため、
verifiedAtで情報の古さを確認でき、checkでは既知の非推奨項目が示されます。 - 検出はヒューリスティックです。一般的にスタックを明らかにするファイルを読み取りますが、特殊な構成は見落とす場合があります(検出内容は
stackhint scanで確認できます)。 - スコアは推定値です。並べ替えには役立ちますが、節約できる時間を示すものではありません。
- stackhint 自体がパッケージ、プラグイン、CLI をインストールすることはありません(Claude Code プラグインは、確認後に
claude plugin installを通じてインストールされます)。 - Codex のサポートは、CI でドキュメントと Codex CLI に照らして検証済みです。私は日常的に Windows で Claude Code を使用しているため、そちらの経路のほうが実際の使用実績は多くあります。
ライセンス
MIT。stackhint が時間の節約に役立った場合は、GitHub でスターを付けると、ほかの人にも見つけてもらいやすくなります。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。