使用说明
CTI MCP服务器
CTI MCP Server是一个轻量级的MCP(消息/工具调用协议)服务框架,它为威胁情报代理打包和公开多个工具,实现自动分类、证据查询和集中集成。
主要特点
- 轻量级:使用
fastmcp将工具包装为可远程调用的MCP方法。 - TI专注:内置IoC查找、事件回溯和基本IP丰富。
- 模型集成:与OpenAI和其他LLM配合使用,因此模型可以在分析过程中调用MCP工具来收集证据。
- 通过CLI(Typer)支持,易于在本地调试和部署。
快速开始
准备Python(项目要求Python>=3.14)并创建一个虚拟环境:
python -m venv .venv
source .venv/bin/activate
pip install -e .
启动MCP SSE服务(默认为127.0.0.1:8000,路径/MCP):
uv run cti-mcp-server start
# or
python -m cti_mcp_server.server start
自定义主机/端口/路径示例:
cti-mcp-server start --host 0.0.0.0 --port 8000 --path /mcp
启用身份验证(建议用于公共互联网曝光):
export CTI_MCP_AUTH_TOKEN="replace-with-a-long-random-token"
cti-mcp-server start --host 0.0.0.0 --port 8000 --path /mcp
您也可以直接传递它:
cti-mcp-server start --auth-token "replace-with-a-long-random-token"
启用身份验证后,客户端必须发送标头:
Authorization: Bearer <your-token>
使用代理示例在本地验证(连接到本地MCP服务):
cti-agent 8.8.8.8
使用自定义模型端点/键/模型(与OpenAI兼容的API):
cti-agent 8.8.8.8 \
--mcp-url http://127.0.0.1:8000/mcp \
--llm-base-url http://127.0.0.1:11434/v1 \
--llm-api-key ollama \
--model qwen3:latest
cti-agent 命令参数:
- 立场论证:
ioc(必填),例如IP/域。 --mcp-url:MCP服务URL(默认http://127.0.0.1:8000/mcp).--llm-base-url:OpenAI兼容模型API基本URL。--llm-api-key:模型终结点的API键。--model:型号名称(例如qwen3:latest).
内置MCP工具(示例)
ioc_type(ioc: str) -> str:检测IoC类型(IP/域)。local_summary(ioc: str) -> dict:从本地intel存储中返回结构化摘要(判断、标签、first_seen等)。local_events(ioc: str, limit: int=20) -> dict:返回最近观察到的事件(用于证据列表)。ip_basic(ip: str) -> dict:离线基本IP丰富(私有/公共确定、地理/ASN占位符信息)。
开发与测试
- 运行测试:
pytest - 棉绒/格式:
ruff . - 通过以下方式进行依赖性管理和打包
pyproject.toml.
贡献
欢迎发布问题和PR。请描述PR中更改的问题和目的,保持提交整洁,提供测试覆盖率,并包括简要解释。
许可证
请参阅 LICENSE 存储库中的文件(如果不存在,则以其他方式协商)。
感谢您使用CTI MCP服务器。如需帮助,请在存储库中打开问题。
