Token导航 LogoToken导航TokenDH.com
MCP Devkit logo
运维云端stdio官方级别未说明来源级核验

MCP Devkit

MCP Server

MCP-DevKit是一个本地Go语言HTTP服务,提供7种代码质量检查工具,用于PR前和发布前的质量、风险和发布准备情况检查。

工具数

7

提示词数

0

GitHub Stars

0

资源数

0
Go云端部署Docker

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

FlynntDev

提供方

FlynntDev

最后核验

2026/5/17 20:22

运行时

Docker

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

docker run --rm -p 8000:8000 -v "$(pwd):/repo" -w /repo mcp-devkit serve

详细介绍

mcp开发工具包

Go上的本地MCP流媒体HTTP服务器,用于预PR和预发布质量、风险和发布准备检查。

什么是MCP服务器

服务器提升Endpoint http://localhost:8000/mcp 提供7个MCP Tools:

  1. code_check
  2. gen_release_notes
  3. test_coverage_analyzer
  4. audit_docker
  5. todo_debt_scan
  6. dependency_guard
  7. release_readiness

什么样的痛苦决定

  • 在PR/Release之前,检查通常分散在不同的命令和工具中。
  • 没有一个快速的信号“可以/不可以”发布。
  • 很难在变革中迅速找到优先问题。

mcp-devkit 将此集合到一个MCP Endpoint并返回结构化结果,包括聚合结果 go/no-go.

对谁有用

  • Go开发团队(Backend/Platform)
  • TL/EM和发布经理。
  • 工程师谁需要快速的预飞质量之前合并/释放。

快速启动

下面是“从零开始”的步骤,没有隐藏的假设。

(0)要求

  1. git
  2. go (推荐1.25+)
  3. docker (如果需要Docker脚本)
  4. node + npx (如果需要MCP Inspector)

检查:

git --version
go version
docker --version
node --version

1)克隆并切换到项目

git clone https://github.com/FlynntDev/mcp-devkit.git
cd mcp-devkit

2)启动 serve 本地(无Docker)

go run ./cmd/devkit serve

服务器正在听 :8000.

3)构建Docker图像

docker build -t mcp-devkit .

4)启动 serve 在Docker

Linux/macOS:

docker run --rm -p 8000:8000 -v "$(pwd):/repo" -w /repo mcp-devkit serve

PowerShell:

docker run --rm -p 8000:8000 -v "${PWD}:/repo" -w /repo mcp-devkit serve

重要提示:如果payload使用tools path/repo_path,在容器中,它必须是容器内部的路径(例如, /repo/repo/demo_project)而不是主机路径。

5)检查 /health

Linux/macOS:

curl http://localhost:8000/health

PowerShell:

curl.exe http://localhost:8000/health

预期答复:

{"status":"ok","service":"mcp-devkit","time":"2026-02-28T12:00:00Z"}

6)通过MCP Inspector/MCP客户端连接

启动Inspector:

npx @modelcontextprotocol/inspector

在UI Inspector:

  1. 运输: Streamable HTTP
  2. 端点: http://localhost:8000/mcp
  3. 连接

每个MCP客户端都需要相同的设置:

  • 运输: Streamable HTTP
  • 端点: http://localhost:8000/mcp

7)快速烟雾服务器测试(可选)

go run ./cmd/devkit smoke

Smoke检查:

  • 可用 /health
  • MCP Endpoint响应
  • 全部7 tools注册

如何使用

通路模型

  • 如果 path/repo_path 空,使用当前进程工作目录(.).
  • 在Docker启动时,请使用容器内的路径(/repo/...).
  • 在GIT范围内(from/to)目标存储库中需要有效的refs。

1) code_check

用途:飞行前检查GO代码的质量。

输入参数:

  • path (字符串,默认值: ".")
  • checks (array\[string\],默认值: ["gofmt","gotest","govet","gobuild"])
  • timeout_seconds (int,默认值: 120,范围 5..1800)
  • packages (字符串,默认值: "./...")

Payload示例:

{
  "path": "./demo_project",
  "checks": ["gofmt", "gotest", "govet", "gobuild"],
  "timeout_seconds": 120,
  "packages": "./..."
}

预期成果:

  • ok (布尔)
  • summary.requested/passed/failed/skipped
  • details[] 每个状态检查 pass|fail|skip

2) gen_release_notes

用途:从Git历史记录生成Release Notes。

输入参数:

  • repo_path (字符串,默认值: ".")
  • from (string,optional;如果为空,则选择最后一个标记或第一个提交)
  • to (字符串,默认值: "HEAD")
  • format (字符串: markdown|json,默认值: markdown)
  • write_changelog (bool,默认值: true)
  • changelog_path (字符串,默认值: "./CHANGELOG.md")
  • include_commits (bool,默认值: true)

Payload示例:

{
  "repo_path": "./demo_project",
  "from": "HEAD~10",
  "to": "HEAD",
  "format": "markdown",
  "write_changelog": false,
  "include_commits": true
}

预期成果:

  • range.from/to
  • sections (评论组)
  • diff_stats (files_changed/insertions/deletions)
  • top_areas
  • risk_highlights
  • markdown
  • changelog_updated

3) test_coverage_analyzer

目的:测试覆盖率分析和建议优先级。

输入参数:

  • path (字符串,默认值: ".")
  • packages (字符串,默认值: "./...")
  • timeout_seconds (int,默认值: 120,范围 10..1800)
  • min_coverage (数字,默认值: 70.0,范围 0..100)
  • max_recommendations (int,默认值: 10,范围 1..50)
  • from (字符串,可选)
  • to (字符串,可选,默认值: HEAD Range分析)

Payload示例:

{
  "path": "./demo_project",
  "min_coverage": 75,
  "max_recommendations": 10,
  "packages": "./..."
}

预期成果:

  • ok (布尔)
  • summary.total_coverage/min_coverage
  • packages[] 具有地位 ok|low
  • weak_functions[]
  • recommendations[] с priority/score/reason

4) audit_docker

用途:对DockerFile/Compose安全性和Reproducibility风险进行审计。

输入参数:

  • path (字符串,默认值: ".")
  • use_external_scanners (bool,默认值: true)

Payload示例:

{
  "path": "./demo_project",
  "use_external_scanners": false
}

预期成果:

  • issues[] (文件、rule_id、严重性、消息、建议、行)
  • summary.critical/high/medium/low
  • engines (例如, builtin-rules, hadolint)
  • warnings[] (如果外部扫描仪不可用)

5) todo_debt_scan

用途:搜索和优先级todo/fixme/hack/techdebt。

输入参数:

  • path (字符串,默认值: ".")
  • patterns (array\[string\],可选;默认值: TODO,FIXME,HACK,XXX,TECHDEBT,DEBT)
  • max_items (int,默认值: 100,范围 1..500)
  • changed_only (bool,默认值: false)
  • from (字符串,可选)
  • to (字符串,可选)
  • include_git_blame (bool,默认值: true 在Git存储库中)

Payload示例:

{
  "path": "./demo_project",
  "max_items": 30,
  "changed_only": true,
  "from": "HEAD~5",
  "to": "HEAD",
  "include_git_blame": false
}

预期成果:

  • items[] (文件、行、类型、文本、优先级、分数、年龄/作者、责任)
  • summary.total/high/medium/low/scanned_files
  • summary.kinds 标记类型的数量

6) dependency_guard

目的:验证依赖关系和漏洞更新。

输入参数:

  • repo_path (字符串,默认值: ".")
  • packages (字符串,默认值: "./...")
  • include_updates (bool,默认值: true)
  • include_vulnerabilities (bool,默认值: true)

Payload示例:

{
  "repo_path": "./demo_project",
  "include_updates": true,
  "include_vulnerabilities": true,
  "packages": "./..."
}

预期成果:

  • summary.status (ok|warn|fail)
  • summary.outdated_modules
  • summary.vulnerabilities
  • updates[]
  • vulnerabilities[]
  • toolingwarnings[]

7) release_readiness

用途:在PR/Release之前聚合Readiness Gate。

输入参数:

  • repo_path (字符串,默认值: ".")
  • from (字符串,可选)
  • to (字符串,可选)
  • min_coverage (数字,默认值: 70)
  • max_high_debt (int,默认值: 5)
  • run_code_check (bool,默认值: true)
  • code_checks (array\[string\],可选)

Payload示例:

{
  "repo_path": "./demo_project",
  "from": "HEAD~10",
  "to": "HEAD",
  "min_coverage": 75,
  "max_high_debt": 2,
  "run_code_check": true
}

预期成果:

  • summary.verdict (go|no-go)
  • summary.blocking_issues
  • summary.warnings
  • checks[] 有字段 name/status/message/blocking

限制/假设

支持什么

  • 本地目录(absolute/relative path)
  • Go存储库和Go工具链验证。
  • RANGE/COMMIT/BLAME分析的Git Aware功能。
  • DockerfileиCompose(compose.yaml|compose.yml|docker-compose.yml|docker-compose.yaml).

不支持的

  • 远程 repo_path URL(仅本地文件系统路径)。
  • 非Go生态系统分析是代码质量的主要场景。
  • 自动修复发现的问题(工具仅诊断)。
  • changed_only=true 在Git存储库之外。

测试了哪些测试项目

  • 内置测试项目: demo_project/
  • 对于MCP Endpoint基础设施验证: go run ./cmd/devkit smoke

高级模式(可选)

1)外部扫描仪和Linter

可以扩大诊断范围,如果 PATH 可用:

  • golangci-lint
  • staticcheck
  • govulncheck
  • hadolint

如何包括:

  • code_check 添加 checks: golangci, staticcheck, govuln
  • audit_docker 离开 use_external_scanners=true
  • dependency_guard 离开 include_vulnerabilities=true

如果二进制不可用,工具将返回 skip/warning 并继续工作。

2)设置Origin访问(CORS) /mcp)

可用变量:

  • ALLOWED_ORIGINS (CSV支持) * Prefix C * 最后)
  • ALLOWED_ORIGIN_REGEX (正则表达式)

PowerShell(PowerShell):

$env:ALLOWED_ORIGINS="http://localhost:5173,https://my-client.example"
go run ./cmd/devkit serve

示例(bash):

ALLOWED_ORIGINS="http://localhost:5173,https://my-client.example" go run ./cmd/devkit serve

自述中的秘密不会公开。在本地或通过平台秘密管理器使用环境变量。

目录标签

目录标签

Go云端部署Docker代码质量检查本地部署发布准备Go语言工具Docker审计测试覆盖率分析

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Docker

工具数量(toolCount,工具数)

7

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP