什么是 io.github.FinishKit/mcp?
FinishKit MCP,可掃描 GitHub repos 的安全漏洞、部署阻礙與整體程式品質。
README
@finishkit/mcp
MCP server for FinishKit. Production readiness scanner for AI-built apps. Enables AI agents in Claude, Cursor, Windsurf, and VS Code to check if your code is ready to ship.
What AI Agents Can Do
| Tool | Description |
|---|---|
scan_repo | Check if your app is ready to ship. Triggers a production readiness scan and returns a prioritized finish plan. |
get_scan_status | Check progress of a production readiness scan. Returns current phase and progress percentage. |
get_findings | Get the production readiness report with prioritized findings blocking launch. |
get_patches | Get auto-generated code patches that fix production readiness issues. |
list_projects | List all repositories connected to FinishKit for production readiness scanning. |
create_project | Get instructions to connect a new GitHub repository to FinishKit. |
request_intelligence_pack | Request a production readiness analysis pack tailored to your technology stack. |
sync_findings | Sync production readiness findings from a local analysis back to the FinishKit dashboard. |
finishkit_setup | Set up FinishKit or check connection status. Creates a browser-based setup link if not connected. |
Quick Start
No API key required to get started. The server starts in setup mode and guides you through connecting your account.
Option A: Browser login (recommended)
npx @finishkit/mcp login
Opens your browser. Sign in with GitHub or Google. Your editor picks up the key automatically. No copy-paste, no config editing, no restart.
Option B: Setup command
npx @finishkit/mcp setup
Auto-detects your editor and configures FinishKit. Or target a specific editor:
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
Then ask your AI to scan your project. It will show a setup link if you haven't connected yet.
Option C: Manual configuration
Add the following to your editor's MCP config file:
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
Get an API key at finishkit.app/activate.
Works Without API Key
The server always starts, even without an API key configured. This means FinishKit tools always appear in your IDE.
When called without a key, the finishkit_setup tool creates a browser-based activation link. Click the link, sign in, and your editor picks up the key on the next tool call. No restart needed.
Two tools always work without a key:
finishkit_setup: Creates a setup link and checks connection status.create_project: Returns instructions for connecting a repository through the FinishKit dashboard.
Tools Reference
scan_repo (Primary Tool)
Check if your app is ready to ship. Triggers a production readiness scan on a GitHub repository, analyzing security, deployment, stability, tests, and UI completeness. Returns a prioritized finish plan with all findings. Typically takes 2-8 minutes.
| Parameter | Type | Required | Description |
|---|---|---|---|
repo_owner | string | Yes | GitHub org or username (e.g., myorg) |
repo_name | string | Yes | Repository name without owner (e.g., my-app) |
run_type | enum | No | baseline (default), pr, or manual_patch |
commit_sha | string | No | Specific commit to scan; defaults to latest |
Returns: Finding counts by severity and category, human-readable summary, dashboard URL.
get_scan_status
Check progress of a production readiness scan. Returns current phase and progress percentage.
| Parameter | Type | Required | Description |
|---|---|---|---|
run_id | string | Yes | Run ID from scan_repo or the dashboard |
get_findings
Get the production readiness report with prioritized findings blocking launch. Filter by category (blockers, security, deploy, stability, tests, ui) or minimum severity (critical, high, medium, low).
| Parameter | Type | Required | Description |
|---|---|---|---|
run_id | string | Yes | Run ID of a completed scan |
category | enum | No | blockers, security, deploy, stability, tests, ui |
severity | enum | No | Minimum severity: critical, high, medium, low |
limit | number | No | Max findings to return (1-100, default 50) |
get_patches
Get auto-generated code patches that fix production readiness issues. Each patch includes a unified diff you can apply directly.
| Parameter | Type | Required | Description |
|---|---|---|---|
run_id | string | Yes | Run ID of a completed scan |
list_projects
List all repositories connected to FinishKit for production readiness scanning. No inputs required.
create_project
Get instructions to connect a new GitHub repository to FinishKit for production readiness scanning. Works without an API key.
| Parameter | Type | Required | Description |
|---|---|---|---|
repo_owner | string | Yes | GitHub org or username |
repo_name | string | Yes | Repository name |
request_intelligence_pack
Request a production readiness analysis pack tailored to your technology stack. Returns framework-specific rules, security advisories, and analysis prompts for local scanning.
| Parameter | Type | Required | Description |
|---|---|---|---|
framework | string | Yes | Web framework (e.g., nextjs, remix, vite) |
language | enum | Yes | typescript or javascript |
package_manager | enum | Yes | npm, pnpm, yarn, or bun |
framework_version | string | No | Framework version (e.g., 16.0.0) |
integrations | array | No | Detected integrations (e.g., ["supabase", "stripe"]) |
dependencies | object | No | Package versions for CVE lookup |
focus | enum | No | full (default), security, api, deploy, stability |
sync_findings
Sync production readiness findings from a local analysis back to the FinishKit dashboard. Creates a run record and inserts findings with deduplication.
| Parameter | Type | Required | Description |
|---|---|---|---|
project_name | string | Yes | Project display name |
agent_id | enum | Yes | claude-code, cursor, codex, windsurf, custom |
pack_id | string | Yes | Intelligence pack ID used |
pack_version | string | Yes | Intelligence pack version used |
started_at | string | Yes | ISO timestamp when analysis started |
finished_at | string | Yes | ISO timestamp when analysis finished |
detected_stack | object | Yes | Detected stack metadata |
findings | array | Yes | Array of findings from the analysis |
summary | string | Yes | Human-readable summary |
finishkit_setup
Set up FinishKit or check connection status. If not connected, creates a browser-based activation link. If connected, shows available tools. Always works, even without an API key. No inputs required.
Resources Reference
| URI | Description |
|---|---|
finishkit://projects | All projects as a JSON array |
finishkit://projects/{id} | Single project details by ID |
finishkit://runs/{run_id}/findings | All findings for a scan run |
finishkit://runs/{run_id}/events | Full event log for a scan run |
For AI Agents
If you are an AI agent with access to FinishKit MCP tools:
Primary workflow: Scan a repository
- Call
scan_repowith the repository owner and name - The tool handles the full lifecycle (trigger, poll, wait for completion)
- Returns finding counts by severity and category
- Call
get_findingsfor detailed findings list - Call
get_patchesfor generated code fixes
Example: User asks "scan myorg/myapp for security issues"
scan_repo({ repo_owner: "myorg", repo_name: "myapp", run_type: "baseline" })
Then:
get_findings({ run_id: "<from scan_repo response>", category: "security" })
Handling common situations
- "FinishKit is not connected": Use
finishkit_setupto get a browser activation link - "Project not found": The repository must be connected at https://finishkit.app/dashboard first
- "Authentication failed": The API key is invalid. Run
npx @finishkit/mcp loginto re-authenticate - "Plan limit reached": User needs to upgrade at https://finishkit.app/dashboard/settings
Key facts
scan_repotypically takes 2-8 minutes. It blocks until complete, no need to poll separately.- Findings have severity: critical, high, medium, low
- Findings have category: blockers, security, deploy, stability, tests, ui
- Critical and high findings should be fixed before production deployment
Authentication
The simplest way to authenticate is npx @finishkit/mcp login, which opens your browser and stores the key locally at ~/.finishkit/credentials.
The MCP resolves API keys in this order:
FINISHKIT_API_KEYenvironment variable (highest priority)~/.finishkit/credentialsfile (written byloginorsetup --api-key)- No key (setup mode with browser activation link)
To get an API key manually:
- Visit finishkit.app/activate
- Sign in with GitHub or Google
- Copy the key (starts with
fk_live_)
API keys authenticate via Authorization: Bearer <key> on every request. Keep your key secret and never commit it to source control.
Requirements
- Node.js 18+
- A FinishKit account (finishkit.app) for scanning (optional for setup)
- At least one repository connected to FinishKit via the GitHub App (for scanning)
Registry Listings
License
MIT - Copyright (c) 2026 FinishKit
常见问题
io.github.FinishKit/mcp 是什么?
FinishKit MCP,可掃描 GitHub repos 的安全漏洞、部署阻礙與整體程式品質。
相关 Skills
网页构建器
by anthropics
面向复杂 claude.ai HTML artifact 开发,快速初始化 React + Tailwind CSS + shadcn/ui 项目并打包为单文件 HTML,适合需要状态管理、路由或多组件交互的页面。
✎ 在 claude.ai 里做复杂网页 Artifact 很省心,多组件、状态和路由都能顺手搭起来,React、Tailwind 与 shadcn/ui 组合效率高、成品也更精致。
前端设计
by anthropics
面向组件、页面、海报和 Web 应用开发,按鲜明视觉方向生成可直接落地的前端代码与高质感 UI,适合做 landing page、Dashboard 或美化现有界面,避开千篇一律的 AI 审美。
✎ 想把页面做得既能上线又有设计感,就用前端设计:组件到整站都能产出,难得的是能避开千篇一律的 AI 味。
网页应用测试
by anthropics
用 Playwright 为本地 Web 应用编写自动化测试,支持启动开发服务器、校验前端交互、排查 UI 异常、抓取截图与浏览器日志,适合调试动态页面和回归验证。
✎ 借助 Playwright 一站式验证本地 Web 应用前端功能,调 UI 时还能同步查看日志和截图,定位问题更快。
相关 MCP Server
GitHub
编辑精选by GitHub
GitHub 是 MCP 官方参考服务器,让 Claude 直接读写你的代码仓库和 Issues。
✎ 这个参考服务器解决了开发者想让 AI 安全访问 GitHub 数据的问题,适合需要自动化代码审查或 Issue 管理的团队。但注意它只是参考实现,生产环境得自己加固安全。
Context7 文档查询
编辑精选by Context7
Context7 是实时拉取最新文档和代码示例的智能助手,让你告别过时资料。
✎ 它能解决开发者查找文档时信息滞后的问题,特别适合快速上手新库或跟进更新。不过,依赖外部源可能导致偶尔的数据延迟,建议结合官方文档使用。
by tldraw
tldraw 是让 AI 助手直接在无限画布上绘图和协作的 MCP 服务器。
✎ 这解决了 AI 只能输出文本、无法视觉化协作的痛点——想象让 Claude 帮你画流程图或白板讨论。最适合需要快速原型设计或头脑风暴的开发者。不过,目前它只是个基础连接器,你得自己搭建画布应用才能发挥全部潜力。