使用说明
@成品套件/mcp
FinishKit的MCP服务器。用于人工智能构建应用程序的生产准备扫描仪。允许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或谷歌。您的编辑器会自动拾取密钥。没有复制粘贴,没有配置编辑,没有重启。
选项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/claude_desktop_config.json), 光标 (~/.cursor/mcp.json), 帆板运动 (~/.codeium/windsurf/mcp_config.json), VS代码副本 (.vscode/mcp.json):
{
"mcpServers": {
"finishkit": {
"command": "npx",
"args": ["-y", "@finishkit/mcp"],
"env": {
"FINISHKIT_API_KEY": "fk_live_your_key_here"
}
}
}
}
克劳德代码:
claude mcp add finishkit -- npx -y @finishkit/mcp
在获取API密钥 finishkit.app/激活.
在没有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 | Yes | 没有所有者的存储库名称(例如。, my-app) |
run_type |
enum | 否 | baseline (默认), pr,或 manual_patch |
commit_sha |
string | 否 | 特定提交扫描;默认为最新 |
返回:按严重性和类别查找计数、人类可读的摘要、仪表板URL。
get_scan_status
检查生产就绪扫描的进度。返回当前阶段和进度百分比。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
run_id |
string | 是 | 运行ID scan_repo 或仪表板 |
get_findings
获取生产准备状态报告,其中包含阻止发布的优先发现。按类别(阻止程序、安全性、部署、稳定性、测试、ui)或最低严重性(严重、高、中、低)进行筛选。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
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 | Yes | 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代理
如果您是可以访问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分钟。它会一直阻塞直到完成,不需要单独轮询。- 发现的严重程度:严重、高、中、低
- 调查结果有类别:阻断器、安全性、部署、稳定性、测试、ui
- 在生产部署之前,应解决关键和高发现问题
认证
最简单的身份验证方法是 npx @finishkit/mcp login,打开浏览器并将密钥本地存储在 ~/.finishkit/credentials.
MCP按以下顺序解析API密钥:
FINISHKIT_API_KEY环境变量(最高优先级)~/.finishkit/credentials文件(由login或setup --api-key)- 无密钥(带浏览器激活链接的设置模式)
要手动获取API密钥,请执行以下操作:
- 访问 finishkit.app/激活
- 使用GitHub或Google登录
- 复制密钥(以开头
fk_live_)
API密钥通过 Authorization: Bearer <key> 在每一个请求。保守你的密钥秘密,永远不要将其提交给源代码管理。
需求
- Node.js 18+
- FinishKit帐户(finishkit.app)用于扫描(设置时可选)
- 至少有一个存储库通过GitHub应用程序连接到FinishKit(用于扫描)
注册表列表
许可证
麻省理工学院 - 版权所有 (c) 2026 FinishKit