mcpField
F
FinishKit

FinishKit

本地服务
github.com/FinishKit开发工具031 周前更新

关于 FinishKit

FinishKit 是用于检查 AI 构建应用是否具备生产发布条件的 MCP 服务。它面向开发团队和编码 Agent,按优先级报告安全、部署、稳定性、测试和 UI 问题,并提供生成的补丁。

主要功能

  1. 01扫描 GitHub 仓库的发布准备情况
  2. 02按优先级整理安全与质量问题
  3. 03跟踪扫描进度并获取报告
  4. 04为问题生成代码补丁
  5. 05申请适配技术栈的分析包
  6. 06将本地发现同步到仪表板

适用场景

  1. 01在生产发布前检查应用
  2. 02查找仓库中的安全和部署阻碍
  3. 03获取扫描问题的建议代码修复

MCP 相关

向 MCP 客户端提供仓库扫描、问题、补丁、项目和设置工具,以及项目和扫描资源。无需 API 密钥即可进入设置模式。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"finishkit": {
"command": "npx",
"args": [
"-y",
"@finishkit/mcp"
],
"env": {
"FINISHKIT_API_KEY": "<FINISHKIT_API_KEY>"
}
}
}
}
启动命令npx -y @finishkit/mcp
需要配置的环境变量
FINISHKIT_API_KEY密钥FinishKit API key (format: fk_live_...). Get one at finishkit.app/dashboard/settings

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@finishkit/mcp0.1.1

工具

6

收录的工具列表 · 更新于 2 周前

参数类型必填说明
run_typeenum否要运行的扫描类型。'baseline' 扫描整个代码库(默认值),'pr' 扫描拉取请求中的更改,'manual_patch' 应用特定补丁。baseline | pr | manual_patch
repo_namestring是GitHub 仓库名称,不含所有者前缀(例如,'my-app' 而非 'myorg/my-app')
commit_shastring否要扫描的特定 git commit SHA。如果省略,则扫描默认分支上的最新提交。
repo_ownerstring是拥有该仓库的 GitHub 组织或用户名(例如,'myorg' 或 'octocat')

详细介绍

@finishkit/mcp

npm version MCP Compatible License: MIT

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_ownerstring是GitHub 组织或用户名(例如,myorg)
repo_namestring是不含所有者的代码库名称(例如,my-app)
run_typeenum否baseline(默认)、pr 或 manual_patch
commit_shastring否要扫描的特定提交;默认为最新提交

返回:按严重程度和类别统计的问题数量、易读摘要、控制面板 URL。


get_scan_status

检查生产就绪扫描的进度。返回当前阶段和进度百分比。

参数类型必填描述
run_idstring是来自 scan_repo 或仪表板的运行 ID

get_findings

获取生产就绪报告,其中列出了阻碍上线的问题,并按优先级排序。可按类别(blockers、security、deploy、stability、tests、ui)或最低严重性(critical、high、medium、low)筛选。

参数类型必填描述
run_idstring是已完成扫描的运行 ID
categoryenum否blockers、security、deploy、stability、tests、ui
severityenum否最低严重性:critical、high、medium、low
limitnumber否返回的问题数量上限(1-100,默认值为 50)

get_patches

获取自动生成的代码补丁,用于修复生产就绪问题。每个补丁都包含可直接应用的统一差异。

参数类型必填描述
run_idstring是已完成扫描的运行 ID

list_projects

列出所有已连接到 FinishKit、可进行生产就绪扫描的代码仓库。无需输入。


create_project

获取将新的 GitHub 代码仓库连接到 FinishKit,以进行生产就绪扫描的说明。无需 API 密钥即可使用。

参数类型必填描述
repo_ownerstring是GitHub 组织或用户名
repo_namestring是代码仓库名称

request_intelligence_pack

请求一份针对你的技术栈定制的生产就绪分析包。返回特定于框架的规则、安全公告和用于本地扫描的分析提示词。

参数类型必填描述
frameworkstring是Web 框架(例如 nextjs、remix、vite)
languageenum是typescript 或 javascript
package_managerenum是npm、pnpm、yarn 或 bun
framework_versionstring否框架版本(例如 16.0.0)
integrationsarray否检测到的集成(例如 ["supabase", "stripe"])
dependenciesobject否用于 CVE 查询的软件包版本
focusenum否full(默认值)、security、api、deploy、stability

sync_findings

将本地分析得到的生产就绪问题同步回 FinishKit 仪表板。创建运行记录,并以去重方式插入问题。

参数类型必填描述
project_namestring是项目显示名称
agent_idenum是claude-code、cursor、codex、windsurf、custom
pack_idstring是所用的智能分析包 ID
pack_versionstring是所用的智能分析包版本
started_atstring是分析开始时的 ISO 时间戳
finished_atstring是分析结束时的 ISO 时间戳
detected_stackobject是检测到的技术栈元数据
findingsarray是分析得出的问题数组
summarystring是面向用户的摘要

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:

主要工作流:扫描仓库
  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 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 密钥:

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

如需手动获取 API 密钥:

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

每次请求都会通过 Authorization: Bearer <key> 进行 API 密钥身份验证。请妥善保管密钥,切勿将其提交到源代码管理中。

要求

  • Node.js 18+
  • 用于扫描的 FinishKit 账户(finishkit.app)(设置时可选)
  • 至少有一个通过 GitHub App 连接到 FinishKit 的仓库(用于扫描)

注册表列表

许可证

MIT - 版权所有 (c) 2026 FinishKit

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。