mcpField
M
MCP Customs

MCP Customs

本地服务
github.com/mcpcustoms安全213 周前更新

关于 MCP Customs

MCP Customs 是用于安装前检查 MCP 服务常见安全风险的本地命令行工具。它离线运行并采用可审查的启发式规则扫描,不上传数据;结果需结合其可能的误报和漏报判断。

主要功能

  1. 01离线扫描 MCP 服务
  2. 02检查命令执行与动态代码
  3. 03检测文件访问和凭据风险
  4. 04识别工具描述中的隐藏指令
  5. 05生成 SARIF 报告与徽章

适用场景

  1. 01安装前审查 MCP 服务代码
  2. 02在 CI 中扫描并按严重程度拦截
  3. 03生成项目 README 安全徽章

MCP 相关

它不是 MCP 服务,而是检查 MCP 服务代码的命令行工具,不连接 MCP 服务或客户端。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"mcpcustoms-mcp-customs": {
"command": "npx",
"args": [
"-y",
"mcp-customs"
]
}
}
}
启动命令npx -y mcp-customs

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

安装包
npmmcp-customs0.1.1

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

mcp-customs

在安装 MCP 服务之前,检查常见的安全风险。 完全离线运行。无遥测数据、无云端上传、无需账号。

npx mcp-customs scan ./some-mcp-server
──────────────────────────────────────────────────────
MCP-CUSTOMS INSPECTION REPORT
──────────────────────────────────────────────────────
target        ./some-mcp-server
files scanned 14
score         62 / 100
stamp         [ REVIEW ]
──────────────────────────────────────────────────────
[HIGH] MCP002 — Unsanitized file path (possible path traversal)
  server.js:41  return fs.readFileSync(userPath, 'utf8');
  fix: Resolve the path against an allowed base directory ...

为什么要做这个

开发者安装 MCP 服务的方式,就像以前安装 npm 包一样—— 迅速、信任名称,然后继续下一步。MCP 服务可以读取你的 文件、调用你的 API,并代表你执行命令。几乎没人会在将它连接到 Agent 之前, 检查它实际能做什么。

mcp-customs 是“安装前审计”这一步,可在本地几秒内完成。

检查内容(v0.1)

规则严重性检查内容
MCP001严重执行 Shell 命令时使用未经清理的插值
MCP002高读写文件时未防范路径遍历
MCP003严重eval() / 动态代码执行
MCP004高硬编码的 API 密钥 / 凭据
MCP005严重工具描述中包含隐藏指令类措辞(通过工具自身的元数据进行提示词注入)
MCP006中同时调用外部网络并读取环境变量(可能导致数据外泄)
MCP007低清单中未声明权限/作用域

这些检查基于启发式规则和正则表达式——速度快,也便于一次性全面审查,但并非数据流分析。它们可能会产生误报,也会漏掉更深入的分析能够发现的问题。请将 CLEARED 标记理解为“未发现明显问题”,而非“已验证安全”。

CI 用法

# .github/workflows/mcp-customs.yml
- run: npx mcp-customs scan . --sarif results.sarif --fail-on high
- uses: github/codeql-action/upload-sarif@v3
  with:
    sarif_file: results.sarif

为你的 README 获取徽章

npx mcp-customs scan . --badge --name your-server-name

路线图

  • 将扫描结果发布到公共注册表(mcp-customs.dev),并提供可搜索的信任评分
  • 动态/沙箱分析(捕获静态检查遗漏的问题)
  • 针对 Python 的 AST 检查(当前 Python 规则仅基于正则表达式)
  • 由社区对注册表条目进行举报/验证

许可证

Apache-2.0。不存在开源核心陷阱——无论如何,这个 CLI 都会保持免费。如果日后推出托管注册表/仪表板,那将是单独的付费产品; 此工具的本地扫描永远不会要求使用它。

评论

支持 Markdown

第一次接触 MCP?

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

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