Token导航 LogoToken导航

MCP Server · 开发工具

MCP Quality Gate

用于检测和评分MCP服务器在合规性、质量、安全性和效率四个维度的工具,确保LLM连接时的可靠性和安全性。

stdio官方级别未说明来源级核验工具 0mcp-quality-gate
开发工具TypeScriptJavaScript

快速开始

作者 / 组织
bhvbhushan
提供方
bhvbhushan
运行时
Node.js

工具数量

0

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

3

仓库热度

收录来源

1 个

MCP World

选型结论

MCP Quality Gate 属于开发工具类 MCP Server,公开资料标注 0 个工具,通过stdio 本地进程接入,客户端适配情况以官方文档为准,有可以直接复制的安装命令;接入前要先准备 访问 Token。

分类

开发工具

传输方式

stdio

认证方式

访问 Token

部署方式

公开资料未说明

安装与配置

安装命令

npx mcp-quality-gate validate "npx -y @modelcontextprotocol/server-filesystem /tmp"

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Node.js,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 0 个工具,随便调一个只读工具确认能返回结果。

接入前确认

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

详细介绍

mcp质量门

MCP服务器的质量门。 喜欢 npm audit 对于包裹,但对于 模型上下文协议 服务器。

当LLM连接到您的MCP服务器时,它信任您公开的任何内容。错误的工具模式意味着错误的工具调用。缺少描述意味着模型只能猜测。50多种工具充斥着上下文窗口。泄露的环境变量暴露了秘密。mcp质量门在一个命令中捕获所有这些。

npx mcp-quality-gate validate "npx -y @modelcontextprotocol/server-filesystem /tmp"

一个命令。四个维度。0-100分。

它捕获了什么

mcp质量门在四个维度上对每个mcp服务器进行评分:

尺寸重量它检查什么为什么重要
合规40pts协议一致性——初始化、工具列表、工具调用、资源、提示、错误处理不符合规范的服务器会破坏每个客户端
质量25分参数描述、描述长度、弃用工具、重复模式、模式一致性LLM需要良好的描述才能进行正确的工具调用。72%未记录的参数=72%的猜测
安全20分环境变量暴露、代码执行表面、无警告的破坏性操作工具在用户权限下运行。A. get-env 工具泄露了机器上的每一个秘密
效率15分工具计数,模式令牌总成本每个工具模式都会占用上下文。21个工具,3000个代币,实际对话的空间更小

安装

npm install -g mcp-quality-gate

需要Node.js>=22。

用法

# Test any stdio MCP server
mcp-quality-gate validate "npx -y @modelcontextprotocol/server-filesystem /tmp"

# Test with environment variables
mcp-quality-gate validate "npx -y @supabase/mcp-server-supabase@latest --read-only --project-ref REF" \
  --env "SUPABASE_ACCESS_TOKEN=your-token"

# JSON output for CI/CD pipelines
mcp-quality-gate validate "./my-server" --reporter json --output report.json

# Fail CI if score is below threshold
mcp-quality-gate validate "./my-server" --threshold 80

# Test HTTP/SSE servers
mcp-quality-gate validate "http://localhost:3000/mcp" --transport http

真实世界基准

针对官方MCP参考服务器进行了测试(2026年4月)。这些是来自实时服务器连接的真实结果,而不是合成数据:

服务器得分合规性质量效率安全性mcp质量门发现了什么
记忆9840/4023/2515/1520/2050%的参数没有描述——LLM必须猜测参数格式
顺序思维9840/4023/2515/1520/20500+字符描述--在单个工具上浪费上下文标记
一切8840/4023/2515/1510/20get-env 工具泄漏环境变量。跨工具的模式重复
文件系统8140/4011/2515/1515/2072%的参数没有记录, read_file 标记为已弃用但仍在列出的重复架构
剧作家8140/4019/2512/1510/2021个工具消耗3000多个模式令牌、代码执行界面、简短描述

测试的服务器: @modelcontextprotocol/server-memory, @modelcontextprotocol/server-sequential-thinking, @modelcontextprotocol/server-everything, @modelcontextprotocol/server-filesystem, @anthropic/mcp-server-playwright.

输出示例

mcp-quality-gate v0.1.0
Server: npx -y @modelcontextprotocol/server-filesystem /tmp

  lifecycle
    PASS Server reports name and version (0ms)
    PASS Server reports capabilities (0ms)
    PASS Server responds to ping (1ms)

  tools
    PASS Server lists tools without error (5ms)
    PASS Tool definitions have required fields (6ms)
    PASS Tool names follow naming convention (8ms)
    PASS Tool inputSchema has type object (4ms)
    PASS Can call a listed tool (10ms)
    PASS Calling nonexistent tool returns error (1ms)
    PASS Tool descriptions are present (8ms)

  resources
    SKIP Server lists resources without error
    SKIP Resource definitions have required fields
    SKIP Resource descriptions are present
    SKIP Can read a listed resource

  prompts
    SKIP Server lists prompts without error
    SKIP Prompt definitions have required fields
    SKIP Can get a listed prompt

  efficiency
    14 tools, ~3057 schema tokens

  quality
    Param description coverage: 28%
    Deprecated: read_file
    Duplicates: read_file, read_text_file
    CRIT 18 of 25 parameters lack descriptions (72%)
    CRIT 1 deprecated tool(s) still listed: read_file
    WARN Tools with identical schemas: read_file, read_text_file

  security
    WARN "write_file" performs destructive operations — description warns of risk

Results: 10 passed, 7 skipped (45ms)
Score: 81/100
  compliance 40/40 | quality 11/25 | efficiency 15/15 | security 15/20

合规性测试(17)

mcp质量门连接到您的服务器,进行真正的协议调用,并验证行为。这不是静态分析,而是一个实时测试套件,它实际上用生成的参数调用您的工具。

类别测试已验证的内容
生命周期3服务器初始化(名称、版本、功能),ping响应
工具7工具列表、必填字段、命名约定、模式结构、, 使用自动生成的参数进行实时工具调用,不存在的工具的错误处理,描述存在
资源4资源列表、必填字段、描述、资源读取
提示3提示列表、必填字段、提示检索

当服务器没有通告功能时,会跳过测试(而不是失败)。仅使用工具的服务器不会因缺少资源而失去分数。

完整测试参考

ID测试严重性
lifecycle-init-01服务器报告名称和版本严重
lifecycle-init-02服务器报告功能关键
lifecycle-init-03服务器响应ping高
tools-list-01服务器列出的工具没有错误严重
tools-list-02工具定义有必填字段关键
tools-list-03工具名称遵循命名约定中等
tools-list-04工具输入模式的类型为“object”高
tools-call-01可以调用列出的工具关键
tools-call-02调用不存在的工具返回错误高
tools-call-03工具说明存在中等
resources-list-01服务器列出资源时没有错误严重
resources-list-02资源定义有必填字段关键
resources-list-03存在资源描述中等
resources-read-01可以读取列出的资源关键
prompts-list-01服务器列出的提示没有错误严重
prompts-list-02提示定义有必填字段关键
prompts-get-01可以得到列出的提示严重

质量分析

检查您的工具模式如何帮助LLM理解和使用您的工具:

检查它捕获了什么
参数描述覆盖率没有描述的参数——LLM工具调用错误的首要原因
描述质量(短)20个字符以下的描述——对于LLM来说太简短了,无法理解意图
描述质量(冗长)超过500个字符的描述——浪费上下文标记
弃用工具检测标记为弃用但仍在列表中的工具--混淆了工具选择
重复工具检测具有相同输入模式的工具——建议使用冗余或版本化的工具
必需/默认不匹配具有默认值的必需参数——相互矛盾的模式信号

证券分析

对工具定义进行静态分析,以检测常见的安全反模式:

检查它捕获了什么
环境变量暴露工具如 get-env 向法学硕士泄露秘密
代码执行检测接受工具 code, script,或 eval 参数--任意执行曲面
危险的默认模式没有适当警告说明的破坏性操作(写入、删除、删除)

效率分析

捕获工具激增和模式膨胀——MCP服务器LLM性能不佳的主要原因:

度量警告严重为什么
工具数量>20>50更多的工具=每个请求中更多的令牌=更少的对话空间
架构令牌>10000>30000令牌预算有限。模式开销与实际内容竞争

令牌估计使用 chars/4 启发式(JSON模式的准确率约为15%,而tiktoken的准确率为15%)。

评分

综合0-100分。每个维度从其最大值开始,并根据发现进行推断:

尺寸最大值扣除额
合规性40(passed / total_run) * 40
质量25-5个/关键,-2个/警告
效率15-8次/临界,-3次/警告
安全20-10个/关键,-5个/警告

跳过维度 --skip-* 旗帜意味着这些积分不会被授予。具有以下功能的服务器 --skip-security 最多可以得分80分。

CLI 参考

标志描述默认值
-t, --transport运输类型(stdio 或 http)stdio
-r, --reporter输出格式(console 或 json)console
-o, --output将报告写入文件
--threshold最低及格分数(0-100)——如果低于1,则退出1
--timeout测试超时(毫秒)30000
--skip要跳过的逗号分隔的测试ID
--only要运行的逗号分隔的测试ID
-e, --env环境变量为 KEY=VAL,KEY2=VAL2
--max-tools刀具计数的临界阈值50
--max-schema-tokens架构令牌的临界阈值30000
--skip-efficiency跳过效率分析
--skip-quality跳过质量分析
--skip-security跳过安全分析

CI/CD集成

添加到GitHub操作工作流:

- name: Test MCP Server
  run: npx mcp-quality-gate validate "./my-server" --threshold 80 --reporter json --output mcp-quality-gate-report.json

当分数低于1时,mcp质量门以代码1退出 --threshold,CI步骤失败。

程序化API

import {
  createMCPClient,
  listAllTools,
  runTests,
  complianceTests,
  analyzeEfficiency,
  analyzeQuality,
  analyzeSecurity,
  ConsoleReporter,
} from "mcp-quality-gate";

const client = await createMCPClient({
  command: "node",
  args: ["./my-server.js"],
  transport: "stdio",
});

const tools = await listAllTools(client);
const efficiency = analyzeEfficiency(tools);
const quality = analyzeQuality(tools);
const security = analyzeSecurity(tools);

const result = await runTests(
  complianceTests,
  { client, timeout: 10000 },
  undefined,
  "my-server",
  efficiency,
  quality,
  security,
);

console.log(new ConsoleReporter().format(result));
await client.close();

建筑

mcp-quality-gate
├── CLI (Commander)         → parse args, orchestrate
├── MCP Client Wrapper      → connect via stdio or HTTP, manage lifecycle
├── Compliance Tests (17)   → live protocol verification
│   ├── Lifecycle (3)       → init, capabilities, ping
│   ├── Tools (7)           → list, fields, naming, schema, call, errors, descriptions
│   ├── Resources (4)       → list, fields, descriptions, read
│   └── Prompts (3)         → list, fields, get
├── Quality Analyzer        → param descriptions, description length, deprecated, duplicates
├── Security Analyzer       → env exposure, code execution, dangerous defaults
├── Efficiency Analyzer     → tool count, schema token estimation
├── Score Calculator        → 4-dimension weighted composite (40+25+15+20=100)
└── Reporters               → console (colored), JSON (CI/CD)

发布

mcp质量门如下 语义版本控制:

  • 0.x.y -在1.0之前,API可能会在次要版本之间发生变化
  • 补丁 (0.x.Y)--错误修复、新的合规性测试、文档更新
  • 次要的 (0.X.0)--新的分析器维度、新的报告器、CLI标志
  • 重大 (X.0.0)-突破API变化,评分公式变化

发布工作原理

  1. 碰撞 version 在 package.json
  2. 更新 CHANGELOG.md 使用新版本条目
  3. 合并到 main
  4. CI自动运行:运行lint+test+build,发布到带有出处的npm,创建带有标签的GitHub Release v{version}

这 prepublishOnly 脚本运行 lint && build && test 作为安全门。看 贡献.md 获取完整的发布说明。

路线图

  • \[x\] v0.1 --合规性测试(生命周期、工具、资源、提示)、质量+安全+效率分析、四维评分、CI/CD工作流程
  • \[ \] v0.2 --传输合规性测试(HTTP/SSE边缘情况)、响应模式验证、能力拒绝测试
  • \[ \] v0.3 — mcp-quality-gate init 脚手架、GitHub CI行动、性能基准测试
  • \[ \] v1.0 -动态安全测试,MCP服务器注册表扫描,稳定的API

贡献

看 贡献.md 用于开发设置、代码标准以及如何添加测试。

安全

看 安全.md 用于报告漏洞。

行为准则

看 代码_OF_CONDUCT.md.

许可证

麻省理工学院

工具与能力

工具数量

0

资源数量

0

提示词数量

0

能力标签

MCP协议检测TypeScript本地部署LLM工具验证服务器安全分析开发工具

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

让助手直接读代码

把仓库、提交记录和 issue 交给模型检索,补全和重构时不用来回复制文件。

在对话里跑命令

触发构建、测试和脚本,执行结果直接回到上下文,省去切终端。

接进开发流程

把 PR、CI 状态和代码审查接进助手,减少在几个工具之间跳。

选择建议

值得选的地方

  • 只提供 0 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • stdio 方式要求本地装好 Node.js,换机器要重新装一遍。
  • 需要自备访问 Token,没有凭据没法直接试。
  • 公开摘要偏短,具体能力和限制要回到仓库确认。

更适合

  • 需要在开发工具场景里让模型直接调用外部能力的人。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 暂时拿不到访问 Token的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
MCP Quality Gate

MCP World · 本页

0stdio有1 个2026-05-17
Git 838e2ec1

MCP World

12stdio有2 个2026-05-17
Markitdown MCP 2c653a5f

MCP World

1stdio有1 个2026-05-17
Context7 MCP C671e75a

MCP World

0stdio有1 个2026-05-17
Context7 831acf40

MCP World

0stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

MCP Quality Gate 怎么安装?

公开资料给出的安装命令是 npx mcp-quality-gate validate "npx -y @modelcontextprotocol/server-filesystem /tmp",运行环境为 Node.js。装完后按客户端要求写进 MCP 配置,重启客户端生效。

MCP Quality Gate 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Node.js;保存后完全退出客户端再打开,配置才会生效。

MCP Quality Gate 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

MCP Quality Gate 需要 API Key 吗?

公开资料标注的认证方式是访问 Token,也就是要先拿到凭据才能连上;凭据只填在自己本地的配置里,不要写进公开仓库。

MCP Quality Gate 支持哪些客户端?

公开资料没有标注具体客户端;能配置本地 MCP 命令的客户端都能接,配置方式参照官方文档。

来源信息

继续浏览同类 MCP