kenimo49/mcp-scorecard
GitHub: kenimo49/mcp-scorecard
MCP 服务器预检评分工具,从被动 token 足迹、工具作用域、安全性和命名安全四个维度评估 MCP 服务器是否适合 LLM 实际使用。
Stars: 0 | Forks: 0
# mcp-scorecard
[](LICENSE)
[](https://github.com/sponsors/kenimo49)
[](https://ko-fi.com/kenimo49)

MCP (Model Context Protocol) 服务器的起飞前检查。
`mcp-scorecard` 回答了一个问题:**“这个 MCP 服务器是否足够安全高效,适合 LLM 实际使用?”** —— 在你发布它、安装它,或将其放入你的 agent 配置之前。
现有的 MCP 工具涵盖了运行时安全性(MCP-Scan)和协议合规性(MCP Inspector)。本项目涵盖了缺失的层级:**仅为了保持注册状态,该服务器的开销有多大,以及其工具的作用域是否足够明确,以便 LLM 能选出正确的工具?**
书籍 **『MCP実践セキュリティ』**(Impress NextPublishing)的配套工具。
## 四个层级
| 层级 | 衡量内容 | 状态 |
|-------|------------------|--------|
| **A. 被动足迹** | 服务器仅凭被列出,就从每个 LLM 轮次中窃取的 token 数量。`tools/list` 初始加载、单工具成本、臃肿率、schema 冗余度 | v0.1 |
| **B. 用例作用域** | 每个工具的作用域是否足够狭窄,以至于 LLM 知道何时使用它。是否包含 When-to-use、模糊动词扫描、重叠检测、命名一致性、AI Slop | v0.1 |
| **C. 安全性** | 自有规则(描述中的 prompt injection、工具遮蔽、硬编码密钥、传输规范)+ 可选的 MCP-Scan 包装器 | v0.1 自有规则;v0.2 引入包装器 |
| **D. 名称安全性** | 大小写冲突、品牌相似性、分隔符变体、namespace 规范 | v0.1 |
设计细节:[docs/design.md](docs/design.md)。
## 安装
```
pip install mcp-scorecard # CLI + library
pip install "mcp-scorecard[mcp]" # + MCP server (stdio)
```
## 作为 CLI 使用
```
# 完整扫描
mcp-scorecard scan ./path/to/server.py
mcp-scorecard scan http://localhost:8000/
mcp-scorecard scan pypi:some-mcp
# 仅 Layer
mcp-scorecard footprint ./server.py
mcp-scorecard scoping ./server.py
mcp-scorecard security ./server.py
mcp-scorecard name my-new-mcp
# CI-friendly
mcp-scorecard scan ./server.py --json
mcp-scorecard scan ./server.py --format sarif
# exit codes: 0=GREEN/YELLOW, 1=ORANGE, 2=RED
```
## 作为 MCP 服务器使用(自托管)
将 `mcp-scorecard` 本身作为 MCP 工具注册到 Claude Code / Cursor / Windsurf 中,然后让 LLM 审计另一个 MCP:
```
{
"mcpServers": {
"mcp-scorecard": {
"command": "mcp-scorecard-mcp"
}
}
}
```
然后在聊天中:*“对位于 ./my-server.py 的 MCP 服务器进行评分”*。
## 为什么被动足迹很重要
已注册的 MCP 服务器中的每个工具描述和 inputSchema 都会在每一轮对话中发送给 LLM —— 因为模型需要看到它们才能决定调用哪个工具。一个冗余的服务器在任何人使用它之前,就可能在每轮对话中默默消耗 5,000 多个 token。
`mcp-scorecard footprint` 正是用于精确测量这一点,以便你在发布前进行精简。
## 路线图
- **v0.1** — A + B + D 层完整,C 层自有规则,CLI + MCP 服务器
- **v0.2** — MCP-Scan 包装器,SARIF,真实的 MCP 客户端协商
- **v0.3** — 书籍『MCP実践セキュリティ』各章节规则整合
- **v0.4** — 注册表源目标(`github:` / `npm:`)
## 支持本项目
- 💚 [GitHub Sponsors](https://github.com/sponsors/kenimo49)
- ☕ [Ko-fi](https://ko-fi.com/kenimo49)
## 许可证
MIT。
标签:AI安全审计, DLL 劫持, DNS 反向解析, MCP, SOC Prime, StruQ, 代码质量检测, 大语言模型, 开发工具, 逆向工具