FinishKit

io.github.FinishKit由 GitHub 账号 FinishKit 发布v0.1.0更新于 Nov 3, 2026

FinishKit MCP: scan GitHub repos for security vulnerabilities, deployment blockers, and quality

已验证STDIO仅桌面开发者工具安全与监控

概览

AI 生成的概览

FinishKit 扫描已连接的 GitHub 仓库,检查安全、部署、稳定性、测试与界面问题,并返回按优先级排序的发现和代码补丁。

可以做什么
  • 触发并跟踪 GitHub 仓库的生产就绪扫描,可指定提交或 PR
  • 按类别或最低严重级别筛选读取扫描报告,并获取自动生成的统一差异补丁
  • 列出已连接的项目,并获取接入新仓库的说明
  • 申请针对技术栈的分析包,包含框架规则与安全公告,用于本地扫描
  • 将本地分析得到的发现同步回 FinishKit 仪表盘
  • 执行安装与连接检查,包括浏览器激活链接
适用场景
适合让助手判断 AI 构建的 Web 应用是否可以上线、梳理上线阻塞项,或为已接入 FinishKit 的仓库获取安全与部署问题的修复建议。
运行要求
通过 npx 在本地运行,需要 Node.js 18 或更高版本。扫描需要 FinishKit 账号以及至少一个通过 FinishKit GitHub App 接入的仓库。认证使用 FINISHKIT_API_KEY 环境变量或登录命令写入的凭据文件;无密钥时以安装模式运行。
安装前请注意
API 密钥是实时凭据,每次请求都以 bearer 令牌发送,不应提交到源码仓库。扫描会把仓库元数据和发现发送到 FinishKit 服务器,同步发现会向仪表盘写入记录。扫描耗时数分钟,可能触及需要付费升级的套餐上限。

安装

在 SourceWeft 中

  1. 打开 控制台中的 FinishKit,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

@finishkit/mcp

[npm version] [MCP Compatible] [License: MIT]

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

ToolDescription
scan_repoCheck if your app is ready to ship. Triggers a production readiness scan and returns a prioritized finish plan.
get_scan_statusCheck progress of a production readiness scan. Returns current phase and progress percentage.
get_findingsGet the production readiness report with prioritized findings blocking launch.
get_patchesGet auto-generated code patches that fix production readiness issues.
list_projectsList all repositories connected to FinishKit for production readiness scanning.
create_projectGet instructions to connect a new GitHub repository to FinishKit.
request_intelligence_packRequest a production readiness analysis pack tailored to your technology stack.
sync_findingsSync production readiness findings from a local analysis back to the FinishKit dashboard.
finishkit_setupSet 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-codenpx @finishkit/mcp setup --cursornpx @finishkit/mcp setup --windsurfnpx @finishkit/mcp setup --codexnpx @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):

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.

ParameterTypeRequiredDescription
repo_ownerstringYesGitHub org or username (e.g., myorg)
repo_namestringYesRepository name without owner (e.g., my-app)
run_typeenumNobaseline (default), pr, or manual_patch
commit_shastringNoSpecific 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.

ParameterTypeRequiredDescription
run_idstringYesRun 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).

ParameterTypeRequiredDescription
run_idstringYesRun ID of a completed scan
categoryenumNoblockers, security, deploy, stability, tests, ui
severityenumNoMinimum severity: critical, high, medium, low
limitnumberNoMax 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.

ParameterTypeRequiredDescription
run_idstringYesRun 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.

ParameterTypeRequiredDescription
repo_ownerstringYesGitHub org or username
repo_namestringYesRepository 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.

ParameterTypeRequiredDescription
frameworkstringYesWeb framework (e.g., nextjs, remix, vite)
languageenumYestypescript or javascript
package_managerenumYesnpm, pnpm, yarn, or bun
framework_versionstringNoFramework version (e.g., 16.0.0)
integrationsarrayNoDetected integrations (e.g., ["supabase", "stripe"])
dependenciesobjectNoPackage versions for CVE lookup
focusenumNofull (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.

ParameterTypeRequiredDescription
project_namestringYesProject display name
agent_idenumYesclaude-code, cursor, codex, windsurf, custom
pack_idstringYesIntelligence pack ID used
pack_versionstringYesIntelligence pack version used
started_atstringYesISO timestamp when analysis started
finished_atstringYesISO timestamp when analysis finished
detected_stackobjectYesDetected stack metadata
findingsarrayYesArray of findings from the analysis
summarystringYesHuman-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

URIDescription
finishkit://projectsAll projects as a JSON array
finishkit://projects/{id}Single project details by ID
finishkit://runs/{run_id}/findingsAll findings for a scan run
finishkit://runs/{run_id}/eventsFull 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

  1. Call scan_repo with the repository owner and name
  2. The tool handles the full lifecycle (trigger, poll, wait for completion)
  3. Returns finding counts by severity and category
  4. Call get_findings for detailed findings list
  5. Call get_patches for 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_setup to 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 login to re-authenticate
  • "Plan limit reached": User needs to upgrade at https://finishkit.app/dashboard/settings

Key facts

  • scan_repo typically 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:

  1. FINISHKIT_API_KEY environment variable (highest priority)
  2. ~/.finishkit/credentials file (written by login or setup --api-key)
  3. No key (setup mode with browser activation link)

To get an API key manually:

  1. Visit finishkit.app/activate
  2. Sign in with GitHub or Google
  3. 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

来源:README.md,提交 bbda01c

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v0.1.0最新Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分