FinishKit について
FinishKitは、AIで構築したアプリの本番公開準備を確認するMCPサーバーです。開発チームやコーディングエージェント向けに、安全性、デプロイ、安定性、テスト、UIの問題を優先度付きで示し、生成パッチも提供します。
主な機能
- 01GitHubリポジトリの公開準備スキャン
- 02安全性と品質の問題を優先順位付け
- 03スキャン状況の確認とレポート取得
- 04問題を修正するコードパッチの生成
- 05技術スタック別分析パックの依頼
- 06ローカルの検出結果をダッシュボードに同期
活用シーン
- 01本番公開前のアプリ確認
- 02リポジトリ内の安全性とデプロイ上の阻害要因の特定
- 03スキャン結果に対するコード修正案の取得
MCP 対応
リポジトリスキャン、検出結果、パッチ、プロジェクト、セットアップ用のツールと、プロジェクトおよびスキャンのリソースをMCPクライアントに提供します。APIキーなしでセットアップモードを開始できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
6掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| run_type | enum | いいえ | 実行するスキャンの種類。'baseline' はコードベース全体をスキャンします(デフォルト)。'pr' はプルリクエスト内の変更をスキャンし、'manual_patch' は指定されたパッチを適用します。baseline | pr | manual_patch |
| repo_name | string | はい | 所有者プレフィックスを含まない GitHub リポジトリ名(例:'my-app'。'myorg/my-app' ではありません) |
| commit_sha | string | いいえ | スキャンする特定の git commit SHA。省略すると、デフォルトブランチの最新コミットをスキャンします。 |
| repo_owner | string | はい | リポジトリを所有する GitHub 組織またはユーザー名(例:'myorg' または 'octocat') |
詳細
@finishkit/mcp
FinishKit 用の MCP サーバーです。AI が構築したアプリの本番運用準備状況をスキャンします。Claude、Cursor、Windsurf、VS Code の AI エージェントが、コードをリリースできる状態かどうか確認できるようにします。
AI エージェントでできること
| ツール | 説明 |
|---|---|
scan_repo | アプリをリリースできる状態か確認します。本番運用準備状況のスキャンを開始し、優先順位付きの仕上げ計画を返します。 |
get_scan_status | 本番運用準備状況のスキャンの進行状況を確認します。現在のフェーズと進捗率を返します。 |
get_findings | リリースを妨げる指摘事項を優先順位付きで示した、本番運用準備状況のレポートを取得します。 |
get_patches | 本番運用準備状況に関する問題を修正する、自動生成されたコードパッチを取得します。 |
list_projects | 本番運用準備状況のスキャン用に FinishKit に接続されているすべてのリポジトリを一覧表示します。 |
create_project | 新しい GitHub リポジトリを FinishKit に接続する手順を取得します。 |
request_intelligence_pack | 技術スタックに合わせた、本番運用準備状況の分析パックをリクエストします。 |
sync_findings | ローカル分析で得られた本番運用準備状況の指摘事項を FinishKit ダッシュボードに同期します。 |
finishkit_setup | FinishKit をセットアップするか、接続状態を確認します。未接続の場合はブラウザー経由のセットアップリンクを作成します。 |
クイックスタート
開始時に API キーは不要です。サーバーはセットアップモードで起動し、アカウントの接続を案内します。
オプション A:ブラウザーでログイン(推奨)
npx @finishkit/mcp login
ブラウザーが開きます。GitHub または Google でサインインすると、エディターが自動的にキーを取得します。コピー&ペーストや設定の編集、再起動は不要です。
オプション B:セットアップコマンド
npx @finishkit/mcp setup
エディターを自動検出して FinishKit を設定します。特定のエディターを指定することもできます。
npx @finishkit/mcp setup --claude-code
npx @finishkit/mcp setup --cursor
npx @finishkit/mcp setup --windsurf
npx @finishkit/mcp setup --codex
npx @finishkit/mcp setup --vscode
その後、AI にプロジェクトをスキャンするよう依頼してください。まだ接続していない場合は、セットアップリンクが表示されます。
オプション C:手動設定
次の内容をエディターの MCP 設定ファイルに追加します。
Claude Desktop(~/.claude/claude_desktop_config.json)、Cursor(~/.cursor/mcp.json)、Windsurf(~/.codeium/windsurf/mcp_config.json)、VS Code Copilot(.vscode/mcp.json):
{
"mcpServers": {
"finishkit": {
"command": "npx",
"args": ["-y", "@finishkit/mcp"],
"env": {
"FINISHKIT_API_KEY": "fk_live_your_key_here"
}
}
}
}
Claude Code:
claude mcp add finishkit -- npx -y @finishkit/mcp
API キーは finishkit.app/activate で取得できます。
API キーなしでも動作
API キーが設定されていなくても、サーバーは常に起動します。そのため、FinishKit のツールは常に IDE に表示されます。
キーなしで呼び出すと、finishkit_setup ツールがブラウザー経由の有効化リンクを作成します。リンクをクリックしてサインインすると、次のツール呼び出し時にエディターがキーを取得します。再起動は不要です。
次の 2 つのツールは、キーなしでも常に動作します。
finishkit_setup:セットアップリンクを作成し、接続状態を確認します。create_project:FinishKit ダッシュボードからリポジトリを接続する手順を返します。
ツールリファレンス
scan_repo(主要ツール)
アプリをリリースできる状態か確認します。GitHub リポジトリの本番運用準備状況のスキャンを開始し、セキュリティ、デプロイ、安定性、テスト、UI の完成度を分析します。すべての指摘事項を含む、優先順位付きの仕上げ計画を返します。通常、所要時間は 2~8 分です。
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
repo_owner | string | はい | GitHub の組織またはユーザー名(例:myorg) |
repo_name | string | はい | オーナー名を除いたリポジトリ名(例:my-app) |
run_type | enum | いいえ | baseline(デフォルト)、pr、または manual_patch |
commit_sha | string | いいえ | スキャンする特定のコミット。デフォルトは最新のコミットです |
返される内容:深刻度とカテゴリ別の指摘件数、人が読みやすい要約、ダッシュボードの URL。
get_scan_status
本番運用準備状況スキャンの進捗を確認します。現在のフェーズと進捗率を返します。
| Parameter | Type | Required | Description |
|---|---|---|---|
run_id | string | Yes | scan_repo またはダッシュボードから取得した実行 ID |
get_findings
リリースを妨げている指摘事項を優先度順にまとめた、本番運用準備状況レポートを取得します。カテゴリ(blockers、security、deploy、stability、tests、ui)または最低重大度(critical、high、medium、low)で絞り込めます。
| Parameter | Type | Required | Description |
|---|---|---|---|
run_id | string | Yes | 完了したスキャンの実行 ID |
category | enum | No | blockers、security、deploy、stability、tests、ui |
severity | enum | No | 最低重大度:critical、high、medium、low |
limit | number | No | 返す指摘事項の最大数(1~100、デフォルトは50) |
get_patches
本番運用準備に関する問題を修正する、自動生成されたコードパッチを取得します。各パッチには、そのまま適用できる統合差分が含まれます。
| Parameter | Type | Required | Description |
|---|---|---|---|
run_id | string | Yes | 完了したスキャンの実行 ID |
list_projects
本番運用準備状況のスキャン用に FinishKit に接続されているすべてのリポジトリを一覧表示します。入力は不要です。
create_project
本番運用準備状況のスキャン用に、新しい GitHub リポジトリを FinishKit に接続する手順を取得します。API キーがなくても利用できます。
| Parameter | Type | Required | Description |
|---|---|---|---|
repo_owner | string | Yes | GitHub の組織名またはユーザー名 |
repo_name | string | Yes | リポジトリ名 |
request_intelligence_pack
技術スタックに合わせた本番運用準備状況の分析パックをリクエストします。ローカルスキャン用のフレームワーク固有のルール、セキュリティ勧告、分析プロンプトを返します。
| Parameter | Type | Required | Description |
|---|---|---|---|
framework | string | Yes | Web フレームワーク(例:nextjs、remix、vite) |
language | enum | Yes | typescript または javascript |
package_manager | enum | Yes | npm、pnpm、yarn、または bun |
framework_version | string | No | フレームワークのバージョン(例:16.0.0) |
integrations | array | No | 検出された連携機能(例:["supabase", "stripe"]) |
dependencies | object | No | CVE 検索用のパッケージバージョン |
focus | enum | No | full(デフォルト)、security、api、deploy、stability |
sync_findings
ローカル分析で得られた本番運用準備状況の指摘事項を FinishKit ダッシュボードに同期します。実行記録を作成し、重複を排除して指摘事項を登録します。
| Parameter | Type | Required | Description |
|---|---|---|---|
project_name | string | Yes | プロジェクトの表示名 |
agent_id | enum | Yes | claude-code、cursor、codex、windsurf、custom |
pack_id | string | Yes | 使用したインテリジェンスパックの ID |
pack_version | string | Yes | 使用したインテリジェンスパックのバージョン |
started_at | string | Yes | 分析開始時の ISO タイムスタンプ |
finished_at | string | Yes | 分析終了時の ISO タイムスタンプ |
detected_stack | object | Yes | 検出されたスタックのメタデータ |
findings | array | Yes | 分析で得られた指摘事項の配列 |
summary | string | Yes | 人が読める形式の要約 |
finishkit_setup
FinishKit をセットアップするか、接続状態を確認します。未接続の場合は、ブラウザー経由のアクティベーションリンクを作成します。接続済みの場合は、利用可能なツールを表示します。API キーがなくても常に利用できます。入力は不要です。
リソースリファレンス
| URI | Description |
|---|---|
finishkit://projects | すべてのプロジェクトを JSON 配列で表示 |
finishkit://projects/{id} | ID を指定して単一のプロジェクト詳細を表示 |
finishkit://runs/{run_id}/findings | スキャン実行に関するすべての指摘事項 |
finishkit://runs/{run_id}/events | スキャン実行の全イベントログ |
AI エージェント向け
FinishKit MCP ツールを利用できる AI エージェントの場合:
主なワークフロー:リポジトリをスキャンする
- リポジトリのオーナーと名前を指定して
scan_repoを呼び出します - ツールがライフサイクル全体(トリガー、ポーリング、完了までの待機)を処理します
- 重要度とカテゴリごとの検出数が返されます
- 詳細な検出結果一覧を取得するには、
get_findingsを呼び出します - 生成されたコード修正を取得するには、
get_patchesを呼び出します
例:ユーザーから「myorg/myapp のセキュリティ問題をスキャンして」と頼まれた場合
scan_repo({ repo_owner: "myorg", repo_name: "myapp", run_type: "baseline" })
続けて:
get_findings({ run_id: "<from scan_repo response>", category: "security" })
よくある状況への対処
- 「FinishKit が接続されていません」:
finishkit_setupを使ってブラウザーのアクティベーションリンクを取得します - 「プロジェクトが見つかりません」:まず https://finishkit.app/dashboard でリポジトリを接続する必要があります
- 「認証に失敗しました」:API キーが無効です。再認証するには
npx @finishkit/mcp loginを実行します - 「プランの上限に達しました」:https://finishkit.app/dashboard/settings でアップグレードする必要があります
主な情報
scan_repoは通常 2~8 分かかります。完了するまで処理がブロックされるため、別途ポーリングする必要はありません。- 検出結果の重要度は、critical、high、medium、low です
- 検出結果のカテゴリは、blockers、security、deploy、stability、tests、ui です
- 本番環境へのデプロイ前に、critical と high の検出結果を修正してください
認証
最も簡単な認証方法は npx @finishkit/mcp login です。ブラウザーが開き、キーが ~/.finishkit/credentials にローカル保存されます。
MCP は次の順序で API キーを解決します。
FINISHKIT_API_KEY環境変数(最優先)~/.finishkit/credentialsファイル(loginまたはsetup --api-keyによって書き込まれます)- キーなし(ブラウザーのアクティベーションリンクを使うセットアップモード)
API キーを手動で取得するには:
- finishkit.app/activate にアクセスします
- GitHub または Google でサインインします
- キーをコピーします(
fk_live_で始まります)
API キーは、すべてのリクエストで Authorization: Bearer <key> を使って認証されます。キーは秘密にし、ソース管理に決してコミットしないでください。
要件
- Node.js 18+
- スキャンには FinishKit アカウント(finishkit.app)が必要です(セットアップでは任意)
- スキャンには、GitHub App 経由で FinishKit に接続されたリポジトリが少なくとも 1 つ必要です
レジストリ掲載先
ライセンス
MIT - Copyright (c) 2026 FinishKit
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。