Solodit MCP服务器
一种模型上下文协议(MCP)服务器,提供对以下内容的访问 Solodit 密码,世界上最大的智能合约安全发现和漏洞数据库。
特性
- 搜索49000+安全结果:获取主要公司的全面智能合约审计结果
- 高级过滤:按影响、审计公司、标签、协议、语言等进行筛选
- 质量指标:按质量和稀有性分数搜索
- 价格有限的API:尊重Solodit的速率限制(每60秒20个请求)
- 通用MCP支持:适用于Claude Desktop、Claude Code、Cursor、与GitHub Copilot的VS Code以及任何兼容MCP的客户端
先决条件
- Node.js 18或更高版本
- Solodit API密钥(从 Solodit 密码)
安装
推荐:全球安装
全局安装该软件包,以便从任何地方使用它:
# Clone or download this repository
cd solodit-mcp
# Install dependencies and build
npm install
npm run build
# Install globally (creates the 'solodit-mcp' command)
npm install -g .全局安装后 solodit-mcp 命令将在系统范围内可用。
备选方案:地方发展
对于开发,或者如果您不想全局安装:
cd solodit-mcp
npm install
npm run build然后使用完整路径 dist/index.js 在您的配置中。
配置
1.获取API密钥
访问 Solodit 密码 并获取您的API密钥。
2.为您的MCP客户端进行配置
在下面选择您的首选客户:
Claude Desktop
编辑Claude Desktop配置文件:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json 视窗: %APPDATA%\Claude\claude_desktop_config.json
如果全局安装 (推荐):
{
"mcpServers": {
"solodit": {
"command": "solodit-mcp",
"env": {
"SOLODIT_API_KEY": "sk_your_api_key_here"
}
}
}
}如果使用本地安装:
{
"mcpServers": {
"solodit": {
"command": "node",
"args": ["/ABSOLUTE/PATH/TO/solodit-mcp/dist/index.js"],
"env": {
"SOLODIT_API_KEY": "sk_your_api_key_here"
}
}
}
}保存后,重新启动Claude Desktop。
Claude Code (CLI)
Claude Code会自动发现在您的设置中配置的MCP服务器。
创建或编辑 ~/.config/claude-code/settings.json:
如果全局安装 (推荐):
{
"mcpServers": {
"solodit": {
"command": "solodit-mcp",
"env": {
"SOLODIT_API_KEY": "sk_your_api_key_here"
}
}
}
}如果使用本地安装:
{
"mcpServers": {
"solodit": {
"command": "node",
"args": ["/ABSOLUTE/PATH/TO/solodit-mcp/dist/index.js"],
"env": {
"SOLODIT_API_KEY": "sk_your_api_key_here"
}
}
}
}或者使用环境变量:
export SOLODIT_API_KEY=sk_your_api_key_here
claude-codeCursor
Cursor通过其设置配置支持MCP。
编辑Cursor配置文件:
macOS: ~/Library/Application Support/Cursor/User/settings.json 视窗: %APPDATA%\Cursor\User\settings.json Linux: ~/.config/Cursor/User/settings.json
如果全局安装 (推荐):
{
"mcpServers": {
"solodit": {
"command": "solodit-mcp",
"env": {
"SOLODIT_API_KEY": "sk_your_api_key_here"
}
}
}
}如果使用本地安装:
{
"mcpServers": {
"solodit": {
"command": "node",
"args": ["/ABSOLUTE/PATH/TO/solodit-mcp/dist/index.js"],
"env": {
"SOLODIT_API_KEY": "sk_your_api_key_here"
}
}
}
}更改后重新启动Cursor。
VS Code with GitHub Copilot
VS Code通过GitHub Copilot扩展支持MCP服务器(需要Copilot Chat)。
编辑您的VS代码设置:
macOS: ~/Library/Application Support/Code/User/settings.json 视窗: %APPDATA%\Code\User\settings.json Linux: ~/.config/Code/User/settings.json
如果全局安装 (推荐):
{
"github.copilot.chat.mcp.servers": {
"solodit": {
"command": "solodit-mcp",
"env": {
"SOLODIT_API_KEY": "sk_your_api_key_here"
}
}
}
}如果使用本地安装:
{
"github.copilot.chat.mcp.servers": {
"solodit": {
"command": "node",
"args": ["/ABSOLUTE/PATH/TO/solodit-mcp/dist/index.js"],
"env": {
"SOLODIT_API_KEY": "sk_your_api_key_here"
}
}
}
}或者,使用VS代码命令面板:
- 按
Cmd+Shift+P(macOS)或Ctrl+Shift+P(Windows/Linux) - 键入“首选项:打开用户设置(JSON)”
- 添加上面的配置
配置后重新加载VS代码。
备注:VS Code中的MCP支持需要GitHub Copilot Chat扩展v0.12.0或更高版本。
Other MCP Clients
对于其他MCP兼容客户端:
如果全局安装:
{
"command": "solodit-mcp",
"env": {
"SOLODIT_API_KEY": "sk_your_api_key_here"
}
}如果使用本地安装:
{
"command": "node",
"args": ["/ABSOLUTE/PATH/TO/solodit-mcp/dist/index.js"],
"env": {
"SOLODIT_API_KEY": "sk_your_api_key_here"
}
}可用工具
1. search_findings
使用高级过滤选项在Solodit中搜索智能合约安全发现。
参数:
keywords(string):在标题和内容中搜索关键字impact(数组):按严重性筛选-["HIGH", "MEDIUM", "LOW", "GAS"]firms(array):按审计公司名称过滤(例如。,["Cyfrin", "Sherlock", "Code4rena"])tags(array):按漏洞标签过滤(例如。,["Reentrancy", "Oracle", "Access Control"])protocol(string):按协议名称筛选(部分匹配)protocolCategory(array):按协议类别过滤(例如。,["DeFi", "NFT", "Lending"])languages(array):按编程语言过滤(例如。,["Solidity", "Rust", "Cairo"])user(string):按查找器/审核器句柄筛选(部分匹配)minFinders(string):查找器的最小数量maxFinders(string):查找器的最大数量reportedDays(string):时间段-"30","60","90",或"alltime"qualityScore(数字):最低质量分数(0-5)rarityScore(数字):最低稀有度分数(0-5)sortField(string):排序方式"Recency","Quality",或"Rarity"sortDirection(字符串):"Desc"或"Asc"page(number):页码(默认值:1)pageSize(数字):每页结果数(默认值:20,最大值:100)
示例用法:
Search for high severity reentrancy vulnerabilities:
- keywords: "reentrancy"
- impact: ["HIGH"]
- sortField: "Quality"
- pageSize: 102. get_finding_by_id
通过ID或slug获取特定发现的详细信息。
参数:
keywords(string,必填):要搜索的查找ID或slug
示例用法:
Get finding details by ID:
- keywords: "finding-id-12345"用法示例
示例1:搜索高严重性发现
Use the search_findings tool with:
- impact: ["HIGH"]
- pageSize: 20
- sortField: "Recency"示例2:在DeFi中查找与Oracle相关的问题
Use the search_findings tool with:
- tags: ["Oracle"]
- protocolCategory: ["DeFi"]
- qualityScore: 3示例3:搜索特定的审计公司报告
Use the search_findings tool with:
- firms: ["Cyfrin", "Trail of Bits"]
- impact: ["HIGH", "MEDIUM"]
- reportedDays: "30"示例4:按关键字搜索
Use the search_findings tool with:
- keywords: "flash loan attack"
- sortField: "Quality"
- sortDirection: "Desc"发展
以开发模式运行
npm run dev构建
npm run build观看模式
npm run watch速率限制
Solodit API的默认利率限制为 每60秒窗口20个请求服务器在响应中包括速率限制信息:
- 允许的请求总数
- 当前窗口中的剩余请求
- 窗口重置的时间
如果您超过费率限制,您将收到 429 Too Many Requests 错误。
错误处理
服务器为常见问题提供明确的错误消息:
- 缺少API密钥:“未设置SOLODIT_API_KEY环境变量”
- API密钥无效:“Solodit API错误(401):API密钥无效”
- 超出费率限制:“Solodit API错误(429):超过速率限制”
- 网络错误:正确报告连接和超时错误
可用过滤器参考
热门审计公司
- 密码
- 夏洛克
- Code4rena
- 比特的踪迹
- 开放式齐柏林
- Consensys勤勉
- 帕索夫审计组
- 斯皮尔比特
- 李克勤
- 链安全
常见漏洞标签
- 可重入性
- 甲骨文
- 访问控制
- 整数溢出/欠流
- 抢先交易
- 逻辑错误
- 磁盘操作系统
- 价格操纵
- 快速贷款
- 悲伤
协议类别
- 德菲
- 非同质化代币
- 借贷
- 去中心化交易所
- 质押
- 治理
- 桥
- 选项保险库
- 产量聚合器
程式语言
- Solidity
- 锈
- 开罗
- 选择
- 移动
有关所有可用筛选值的完整列表,请参阅 Solodit API文档.
项目结构
solodit-mcp/
├── src/
│ └── index.ts # Main MCP server implementation
├── dist/ # Compiled JavaScript (generated)
├── package.json
├── tsconfig.json
├── README.md
└── .env.example故障排除
API关键问题
如果您遇到身份验证错误:
- 验证您的API密钥是否正确
- 确保环境变量设置正确
- 配置更改后重新启动MCP客户端
连接问题
如果服务器无法连接:
- 检查您的互联网连接
- 验证Solodit API是否可访问:
curl https://solodit.cyfrin.io - 检查是否存在防火墙或代理问题
服务器未显示
如果MCP服务器未出现在您的客户端中:
- 验证路径
dist/index.js是绝对的,不是相对的 - 检查构建是否成功完成(
npm run build) - 确保配置文件JSON语法有效
- 完全重新启动MCP客户端
- 检查客户端日志中的错误消息
利率限制问题
如果您达到了速率限制:
- 减少请求的频率
- 实施搜索之间的延迟
- 明智地使用分页(页面大小越大,请求越少)
贡献
欢迎投稿!请随时提交问题和拉取请求。
许可证
麻省理工学院
资源
支持
关于以下问题:
