关于 FinishKit
FinishKit 是用于检查 AI 构建应用是否具备生产发布条件的 MCP 服务。它面向开发团队和编码 Agent,按优先级报告安全、部署、稳定性、测试和 UI 问题,并提供生成的补丁。
主要功能
- 01扫描 GitHub 仓库的发布准备情况
- 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 Agent 检查代码是否已准备好发布。
AI Agent 可以执行的操作
| 工具 | 描述 |
|---|---|
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
在 finishkit.app/activate 获取 API 密钥。
无需 API 密钥也能使用
即使未配置 API 密钥,服务也始终会启动。这意味着 FinishKit 工具始终会显示在你的 IDE 中。
不使用密钥调用时,finishkit_setup 工具会创建一个基于浏览器的激活链接。点击链接并登录后,编辑器会在下一次工具调用时获取密钥。无需重启。
以下两个工具始终无需密钥即可使用:
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
检查生产就绪扫描的进度。返回当前阶段和进度百分比。
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
run_id | string | 是 | 来自 scan_repo 或仪表板的运行 ID |
get_findings
获取生产就绪报告,其中列出了阻碍上线的问题,并按优先级排序。可按类别(blockers、security、deploy、stability、tests、ui)或最低严重性(critical、high、medium、low)筛选。
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
run_id | string | 是 | 已完成扫描的运行 ID |
category | enum | 否 | blockers、security、deploy、stability、tests、ui |
severity | enum | 否 | 最低严重性:critical、high、medium、low |
limit | number | 否 | 返回的问题数量上限(1-100,默认值为 50) |
get_patches
获取自动生成的代码补丁,用于修复生产就绪问题。每个补丁都包含可直接应用的统一差异。
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
run_id | string | 是 | 已完成扫描的运行 ID |
list_projects
列出所有已连接到 FinishKit、可进行生产就绪扫描的代码仓库。无需输入。
create_project
获取将新的 GitHub 代码仓库连接到 FinishKit,以进行生产就绪扫描的说明。无需 API 密钥即可使用。
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
repo_owner | string | 是 | GitHub 组织或用户名 |
repo_name | string | 是 | 代码仓库名称 |
request_intelligence_pack
请求一份针对你的技术栈定制的生产就绪分析包。返回特定于框架的规则、安全公告和用于本地扫描的分析提示词。
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
framework | string | 是 | Web 框架(例如 nextjs、remix、vite) |
language | enum | 是 | typescript 或 javascript |
package_manager | enum | 是 | npm、pnpm、yarn 或 bun |
framework_version | string | 否 | 框架版本(例如 16.0.0) |
integrations | array | 否 | 检测到的集成(例如 ["supabase", "stripe"]) |
dependencies | object | 否 | 用于 CVE 查询的软件包版本 |
focus | enum | 否 | full(默认值)、security、api、deploy、stability |
sync_findings
将本地分析得到的生产就绪问题同步回 FinishKit 仪表板。创建运行记录,并以去重方式插入问题。
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
project_name | string | 是 | 项目显示名称 |
agent_id | enum | 是 | claude-code、cursor、codex、windsurf、custom |
pack_id | string | 是 | 所用的智能分析包 ID |
pack_version | string | 是 | 所用的智能分析包版本 |
started_at | string | 是 | 分析开始时的 ISO 时间戳 |
finished_at | string | 是 | 分析结束时的 ISO 时间戳 |
detected_stack | object | 是 | 检测到的技术栈元数据 |
findings | array | 是 | 分析得出的问题数组 |
summary | string | 是 | 面向用户的摘要 |
finishkit_setup
设置 FinishKit 或检查连接状态。如果尚未连接,则创建基于浏览器的激活链接。如果已连接,则显示可用工具。即使没有 API 密钥也始终可用。无需输入。
资源参考
| URI | 描述 |
|---|---|
finishkit://projects | 所有项目组成的 JSON 数组 |
finishkit://projects/{id} | 按 ID 查询的单个项目详情 |
finishkit://runs/{run_id}/findings | 某次扫描运行的所有问题 |
finishkit://runs/{run_id}/events | 某次扫描运行的完整事件日志 |
面向 AI Agent
如果你是可使用 FinishKit MCP 工具的 AI Agent:
主要工作流:扫描仓库
- 调用
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 is not connected”:使用
finishkit_setup获取浏览器激活链接 - “Project not found”:必须先在 https://finishkit.app/dashboard 连接该仓库
- “Authentication failed”:API 密钥无效。运行
npx @finishkit/mcp login重新进行身份验证 - “Plan limit reached”:用户需要在 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_开头)
每次请求都会通过 Authorization: Bearer <key> 进行 API 密钥身份验证。请妥善保管密钥,切勿将其提交到源代码管理中。
要求
- Node.js 18+
- 用于扫描的 FinishKit 账户(finishkit.app)(设置时可选)
- 至少有一个通过 GitHub App 连接到 FinishKit 的仓库(用于扫描)
注册表列表
许可证
MIT - 版权所有 (c) 2026 FinishKit
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。