返回 MCP 目录
public公开dns本地运行

immunefi-mcp-server-unofficial

Immunefi漏洞赏金平台MCP服务器,提供搜索、过滤和检索漏洞赏金程序数据的工具,支持GitHub仓库发现、赏金范围筛选和程序标签访问等功能

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_recentlyget_max_bountyget_tagssearch_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

🤝 贡献

欢迎贡献!如果您有改进想法或功能请求:

  1. 分叉仓库。
  2. 创建功能分支。
  3. 进行更改。
  4. 提交拉取请求。

🐛 问题与支持

如果您遇到任何问题或有疑问:

  • 在仓库中创建一个问题。

📄 许可证

本项目是开源的,可在MIT许可证下使用。

🙏 致谢

  • Immunefi提供了使此工具成为可能的公共API。
help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端