article
README
🚀 Immunefi漏洞赏金MCP服务器
这是一个 MCP(模型上下文协议) 服务器,它允许AI助手和其他兼容MCP的客户端从Immunefi漏洞赏金平台搜索、过滤和检索数据。
🚀 快速开始
该Immunefi MCP服务器充当兼容MCP的客户端(如AI助手)与Immunefi漏洞赏金平台之间的桥梁。它从官方Immunefi API获取数据,将数据缓存6小时以减少API调用次数,并提供一个结构化接口来查询漏洞赏金计划信息。
✨ 主要特性
- 🔍 计划搜索:按名称、ID、别名或标签搜索和过滤漏洞赏金计划。
- 💰 赏金过滤:按赏金范围过滤计划。
- 🐙 GitHub发现:提取计划详情和范围内资产中引用的GitHub仓库,以进行活动分析。
- 📅 近期过滤:查找在过去X天/月内或特定日期之后更新的计划。
- 📦 资产:检索特定计划的范围内资产。
- 🏷️ 标签访问:访问分类信息(产品类型、生态系统、计划类型、语言)。
- 📅 日期信息:检索计划的启动和更新日期。
- 📋 KYC状态:检查特定计划是否需要KYC。
- 🏆 奖励与影响:访问详细的奖励结构和影响类别。
- 📋 自省:从API列出所有可用的计划ID和字段。
🔧 技术细节
💡 示例:需要多种工具的复杂场景
"列出在过去7天内更新了条款、奖励在20,000美元至200,000美元之间且标签中包含'solidity'的协议的计划详情中提及的GitHub仓库。"
上述示例,gpt - oss:20b,通过使用工具 search_updated_recently、get_max_bounty、get_tags 和 search_github_repos 轻松解决。
架构
- 使用
mcp.server.fastmcp.FastMCP构建。 - 通过STDIO传输进行通信。
🛠️ 可用工具
服务器提供了18种专门的工具,用于与Immunefi数据进行交互:
搜索与发现
search_program(query: str)- 按名称、ID、别名或标签搜索计划。get_all_project_ids()- 检索所有可用的项目ID。get_available_fields()- 列出所有可用的数据字段。
计划数据访问
get_program_assets(project_ids: List[str])- 检索范围内资产。get_max_bounty(project_ids: List[str])- 获取最大赏金金额。get_launch_date(project_ids: List[str])- 获取计划启动日期。get_updated_date(project_ids: List[str])- 获取最后更新日期。is_kyc_required(project_ids: List[str])- 检查KYC要求。get_rewards(project_ids: List[str])- 访问奖励结构。get_impacts(project_ids: List[str])- 获取影响类别和描述。get_tags(project_ids: List[str])- 访问计划标签(产品类型、生态系统等)。
高级过滤
filter_by_bounty(min_bounty: int = 0, max_bounty: Optional[int] = None, project_ids: Optional[List[str]] = None)- 按赏金范围过滤。filter_by_language(project_ids: List[str], language: str)- 按语言标签过滤计划。filter_by_ecosystem(project_ids: List[str], ecosystem: str)- 按生态系统标签过滤计划。search_updated_recently(days: Optional[int] = None, months: Optional[int] = None, project_ids: Optional[List[str]] = None)- 查找近期更新的计划。search_updated_after_date(date: str, project_ids: Optional[List[str]] = None)- 查找在特定日期之后更新的计划。get_field_values(project_ids: List[str], field_name: str)- 获取特定字段的值。
代码发现
search_github_repos(project_ids: List[str])- 从计划数据中提取GitHub仓库。
📦 安装指南
前提条件
- Python 3.8+
mcp库(模型上下文协议)
# 创建虚拟环境
python3 -m venv venv
source venv/bin/activate
# 安装依赖项
pip install -r requirements.txt
💻 使用示例
直接执行
直接运行服务器脚本(使用STDIO传输,旨在由MCP客户端启动):
python3 immunefi.py
📚 详细文档
数据来源
服务器从官方Immunefi公共API获取数据:
- 所有赏金:
https://immunefi.com/public-api/bounties.json
🤝 贡献
欢迎贡献!如果您有改进想法或功能请求:
- 分叉仓库。
- 创建功能分支。
- 进行更改。
- 提交拉取请求。
🐛 问题与支持
如果您遇到任何问题或有疑问:
- 在仓库中创建一个问题。
📄 许可证
本项目是开源的,可在MIT许可证下使用。
🙏 致谢
- Immunefi提供了使此工具成为可能的公共API。
微信扫一扫