关于 sphior-code-mcp
sphior-code-mcp 是面向 MCP 客户端的本地代码安全扫描服务,可为 AI Agent 提供漏洞发现与修复指导。默认无需账户,使用确定性 SAST 和 SCA 引擎;设置 API 密钥后可使用云端发现项管理与证据功能。
主要功能
- 01本地确定性 SAST 与 SCA 扫描
- 02覆盖 14 种语言的代码分析
- 03返回漏洞修复指导
- 04云端发现项查询与状态管理
- 05提供安全态势摘要和证据验证
适用场景
- 01扫描本地项目并定位安全问题
- 02查看特定发现项的修复步骤
- 03汇总云端仓库的安全态势
MCP 相关
作为标准 MCP stdio 服务,向兼容客户端提供扫描与修复指导工具,以及安全摘要和发现项资源。云端查询、状态管理和证据功能需要设置 API 密钥。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y sphior-code-mcpSPHIOR_API_KEY密钥Optional. Without it the server runs in local mode: it scans your workspace with the bundled deterministic engine and returns fix guidance. Set it to also get tamper-evident evidence, history and GRC integrations. Create one at https://sphior.com/account/code.SPHIOR_WORKSPACEOptional. Directory to scan in local mode. Defaults to the directory your client launches the server in.SPHIOR_API_BASEOverride the API base URL for self-hosted / regional deployments. Default: https://sphior.com/api/v1本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
sphior-code-mcp
面向 SPHIOR CODE 的官方 Model Context Protocol (MCP) 服务——在任意兼容 MCP 的客户端中查找代码安全问题,并让你自己的 AI 助手修复它们。
无需账号即可开始。 如果未设置 API 密钥,服务会使用内置的确定性引擎扫描本地工作区,并将发现结果交给你的 AI Agent。之后,如果你需要防篡改证据、历史记录和 GRC 集成,可再添加 API 密钥。
它能为你做什么
你的 AI 助手现在可以回答这类问题:
- “扫描这个项目并修复严重问题。” ← 无需账号即可使用
- “目前我的代码中严重级别最高的漏洞有哪些?”
- “显示对发现
abc-123的修复方案。” - “将这条 SQL 注入警报标记为已解决——我刚刚修复了它。” (需要 API 密钥)
- “我们本月的整体安全状况如何?” (需要 API 密钥)
……使用 SPHIOR 扫描引擎的实时数据——确定性 SAST(密钥 + CWE 模式,使用真实解析器分析 14 种语言)和由 OSV.dev 提供支持的 SCA。检测过程中不涉及 AI,因此相同代码始终会产生相同的发现结果。
支持的客户端
这是标准的 MCP stdio 服务,因此适用于任何兼容 MCP 的客户端:
| 客户端 | 配置位置 | 设置方式 |
|---|---|---|
| Cursor | ~/.cursor/mcp.json | 添加 MCP |
| Claude Code | ~/.claude.json | claude mcp add sphior-code -- npx sphior-code-mcp |
| VS Code | ~/.config/Code/User/settings.json (mcp.servers) | 内置 MCP |
| GitHub Copilot (VS Code) | .vscode/mcp.json | 原生 MCP |
| Cline(VS Code 扩展) | ~/.config/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json | 设置界面 |
| Continue(VS Code 扩展) | ~/.continue/config.yaml | mcpServers: 部分 |
| Windsurf | ~/.codeium/windsurf/mcp_config.json | 设置界面 |
| Zed | ~/.config/zed/settings.json (context_servers) | 原生 MCP |
| JetBrains AI Assistant (2024.3+) | Settings → Tools → AI Assistant → MCP | 内置 |
安装
# No install needed — use npx
npx -y sphior-code-mcp
# Or install globally
npm install -g sphior-code-mcp
sphior-code-mcp
两种模式
| 本地(默认) | 云端 | |
|---|---|---|
| 设置 | 无需设置——直接运行 | 设置 SPHIOR_API_KEY |
| 扫描内容 | 本地工作区 | 连接到 SPHIOR 的代码仓库 |
| 可用工具 | get_fix_context、health_check | 全部 8 个工具 |
| 源代码会离开你的设备 | 绝不会 | 绝不会 |
| 防篡改证据 / 历史记录 / GRC 推送 | — | ✅ |
在本地模式下,服务会使用驱动编辑器扩展的同一确定性引擎(密钥 + CWE 模式 + 跨 14 种语言的污点分析,使用真实语法进行解析),扫描客户端启动服务时所在的目录,然后返回 Agent 可据此采取行动的修复指导。它绝不会联系 SPHIOR 的服务器。
仅限云端的工具会清楚说明所需条件,而不会静默失败。
配置
启动无需任何配置。要启用云端功能,请从 sphior.com/account/api 获取 API 密钥:
export SPHIOR_API_KEY=sk_live_xxxxxxxxxxxx
环境变量
| 变量 | 必需 | 默认值 | 说明 |
|---|---|---|---|
SPHIOR_API_KEY | 否 | — | Bearer 令牌。省略时使用本地模式;设置后使用云端模式 |
SPHIOR_WORKSPACE | 否 | 当前目录 | 本地模式下要扫描的目录 |
SPHIOR_API_BASE | 否 | https://sphior.com/api/v1 | 用于可自托管 / 区域部署的覆盖设置 |
SPHIOR_TIMEOUT | 否 | 30000 | 请求超时时间,单位为 ms(1000–300000) |
SPHIOR_DEBUG | 否 | false | 启用向 stderr 输出详细日志 |
示例配置(Cursor / Claude Code / VS Code 风格)
本地模式 — 复制、粘贴即可。 无需账户或密钥。
{
"mcpServers": {
"sphior-code": {
"command": "npx",
"args": ["-y", "sphior-code-mcp"]
}
}
}
Claude Code 用户可以完全跳过配置文件:
claude mcp add sphior-code -- npx sphior-code-mcp
然后向你的 Agent 提出请求:“扫描此项目并修复关键问题。”
云端模式 — 将密钥添加到同一代码块中:
{
"mcpServers": {
"sphior-code": {
"command": "npx",
"args": ["-y", "sphior-code-mcp"],
"env": {
"SPHIOR_API_KEY": "sk_live_xxxxxxxxxxxx"
}
}
}
}
对于 VS Code 中的 GitHub Copilot,请使用 "servers",而不是 "mcpServers"(这里的 env 块也是可选的):
{
"servers": {
"sphior-code": {
"type": "stdio",
"command": "npx",
"args": ["-y", "sphior-code-mcp"]
}
}
}
提供的工具
| 工具 | 模式 | 用途 |
|---|---|---|
get_fix_context | 本地 + 云端 | Agent 可据此采取行动的修复指导 — 说明重要性、具体位置、步骤和参考资料。绝不发送源代码;Agent 会在你自己的工作区中打开文件 |
health_check | 本地 + 云端 | 验证服务是否正常运行(云端模式下还会验证身份验证) |
list_findings | 云端 | 列出漏洞(按严重程度 / 状态 / 数量限制筛选) |
get_finding | 云端 | 获取单个发现的完整详情(CVSS、CWE、文件路径、修复提示) |
get_security_summary | 云端 | 安全状况概览(按严重程度统计数量、最近扫描时间、受监控的仓库) |
resolve_finding | 云端 | 标记为已修复 |
mark_false_positive | 云端 | 标记为不可利用 |
verify_evidence | 云端 | 独立验证防篡改证据链(供审计人员使用) |
在本地模式下,get_fix_context 接受 path,可扫描客户端启动服务时所在目录以外的目录。
提供的资源
sphior-code://summary— 当前安全状况的 JSON 快照sphior-code://findings/{id}— 每项发现的完整详情(会自动列出未解决的发现)
可靠性
- 5xx / 网络错误时指数退避重试(尝试 3 次)
- 30 秒请求超时(可配置)
- 优雅降级 — 身份验证错误会快速失败,服务端错误会重试
- 提供包含可操作提示的结构化错误
- 仅向 stderr 记录日志(stdout 保留用于 MCP 协议)
开发
# In this directory
npm install
npm run build
# Local mode — no key needed
node bin/sphior-code-mcp.js
# Cloud mode
SPHIOR_API_KEY=sk_test_xxx node bin/sphior-code-mcp.js
# Type a JSON-RPC request to test
许可证
MIT © SPHIOR Security
链接
- 🌐 SPHIOR Code
- 📖 API 参考
- 🐛 报告问题
- 🔑 获取 API 密钥
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。