威胁情报MCP服务器
模型上下文协议(MCP)服务器,提供威胁情报工具,帮助人工智能助手进行安全调查和分析。专注于使用免费工具。
特性
- VirusTotal集成:对照VirusTotal数据库检查文件哈希、URL、IP地址或域名。
- 滥用IPDB集成:从AbuseIPDB数据库中检查IP地址以获取滥用报告和信誉信息。
- FastMCP框架:基于FastMCP框架构建,易于扩展。
- Docker支持:容器化部署就绪。
先决条件
- Python 3.13+
- VirusTotal API密钥(免费帐户位于 病毒总数)
安装
地方发展
- 克隆存储库
git clone
cd TI-MCP- 创建并激活虚拟环境
python -m venv env
source env/bin/activate # On Windows: env\Scripts\activate- 安装依赖项
pip install -r requirements.txt- 配置环境变量
cp .env.example .env
# Edit .env and add your VirusTotal API key
echo "VT_API_KEY=your_virustotal_api_key_here" > .env- 运行服务器
python main.pyDocker部署
- 构建Docker镜像
docker build -t ti-mcp-server .- 运行容器
# 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-serverAPI终点
健康检查
- 端点:
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())发展
添加新工具
- 在项目目录中创建新模块
- 使用工具定义FastMCP实例
- 导入并注册
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/healthMCP检验员测试
测试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:8081MCP检查员将:
- 连接到您的MCP服务器
- 显示可用工具(如
virus_total_check_hash) - 允许您以交互方式测试工具
- 显示工具模式和响应
许可证
此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。
支持
有关支持和问题:
更新日志
v1.0.0
- 初始版本
- VirusTotal哈希检查功能
- Docker支持
