威胁情报服务器

一个提供威胁情报工具的MCP服务器,用于帮助AI助手进行安全调查和分析,支持VirusTotal和AbuseIPDB集成。

  • by darwineee
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 darwineee/ti-mcp

使用说明

威胁情报MCP服务器

模型上下文协议(MCP)服务器,提供威胁情报工具,帮助人工智能助手进行安全调查和分析。专注于使用免费工具。

特性

  • VirusTotal集成:对照VirusTotal数据库检查文件哈希、URL、IP地址或域名。
  • 滥用IPDB集成:从AbuseIPDB数据库中检查IP地址以获取滥用报告和信誉信息。
  • FastMCP框架:基于FastMCP框架构建,易于扩展。
  • Docker支持:容器化部署就绪。

先决条件

  • Python 3.13+
  • VirusTotal API密钥(免费帐户位于 病毒总数)

安装

地方发展

  1. 克隆存储库

    git clone <repository-url>
    cd TI-MCP
    
  2. 创建并激活虚拟环境

    python -m venv env
    source env/bin/activate  # On Windows: env\Scripts\activate
    
  3. 安装依赖项

    pip install -r requirements.txt
    
  4. 配置环境变量

    cp .env.example .env
    # Edit .env and add your VirusTotal API key
    echo "VT_API_KEY=your_virustotal_api_key_here" > .env
    
  5. 运行服务器

    python main.py
    

Docker部署

  1. 构建Docker镜像

    docker build -t ti-mcp-server .
    
  2. 运行容器

    # With environment file
    docker run -p 8081:8081 --env-file .env ti-mcp-server
    
    # Or with environment variable
    docker run -p 8081:8081 -e VT_API_KEY=your_api_key ti-mcp-server
    

API终点

健康检查

  • 端点: GET /health
  • 描述:检查服务器是否正在运行
  • 响应: {"status": "healthy"}

MCP工具

服务器通过VirusTotal集成提供以下MCP工具:

check_hash

  • 描述:根据VirusTotal数据库检查文件哈希
  • 参数:
    • hash (字符串):MD5、SHA1或SHA256文件哈希
  • 退货:VirusTotal分析结果,包括检测率和扫描细节

使用示例

与MCP客户端一起使用

# Example MCP client usage
import asyncio
from mcp import ClientSession

async def check_file_hash():
    async with ClientSession("http://localhost:8081") as session:
        result = await session.call_tool("virus_total_check_hash", {
            "hash": "d41d8cd98f00b204e9800998ecf8427e"
        })
        print(result)

asyncio.run(check_file_hash())

发展

添加新工具

  1. 在项目目录中创建新模块
  2. 使用工具定义FastMCP实例
  3. 导入并注册 main.py:
from your_module import your_mcp
await main_mcp.import_server(your_mcp, prefix="your_prefix")

测试

健康检查

# Test if the server is running
curl http://localhost:8081/health

MCP检验员测试

测试MCP服务器最简单的方法是使用官方的MCP检查器:

# Install MCP Inspector (requires Node.js)
npx @modelcontextprotocol/inspector

# When prompted, enter your server URL:
# http://localhost:8081

# Or run directly with the URL:
npx @modelcontextprotocol/inspector http://localhost:8081

MCP检查员将:

  • 连接到您的MCP服务器
  • 显示可用工具(如 virus_total_check_hash)
  • 允许您以交互方式测试工具
  • 显示工具模式和响应

许可证

此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。

支持

有关支持和问题:

更新日志

v1.0.0

  • 初始版本
  • VirusTotal哈希检查功能
  • Docker支持