AI应用生产就绪扫描器

FinishKit MCP服务器是一个用于AI构建应用程序的生产就绪扫描器,支持Claude、Cursor、Windsurf和VS Code等AI代理检查代码是否准备好发布。

  • by FinishKit
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 FinishKit/mcp

使用说明

@成品套件/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代理:

主要工作流程:扫描存储库

  1. 呼叫 scan_repo 包含存储库所有者和名称
  2. 该工具处理整个生命周期(触发器、轮询、等待完成)
  3. 按严重性和类别返回查找计数
  4. 呼叫 get_findings 详细调查结果列表
  5. 呼叫 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密钥:

  1. FINISHKIT_API_KEY 环境变量(最高优先级)
  2. ~/.finishkit/credentials 文件(由 login 或 setup --api-key)
  3. 无密钥(带浏览器激活链接的设置模式)

要手动获取API密钥,请执行以下操作:

  1. 访问 finishkit.app/激活
  2. 使用GitHub或Google登录
  3. 复制密钥(以开头 fk_live_)

API密钥通过 Authorization: Bearer <key> 在每一个请求。保守你的密钥秘密,永远不要将其提交给源代码管理。

需求

  • Node.js 18+
  • FinishKit帐户(finishkit.app)用于扫描(设置时可选)
  • 至少有一个存储库通过GitHub应用程序连接到FinishKit(用于扫描)

注册表列表

许可证

麻省理工学院 - 版权所有 (c) 2026 FinishKit