MCP CTI最小演示
这是一个最小的教育演示,展示了模型上下文协议(MCP)服务器如何对CTI提要进行标准化,并根据小资产清单对其进行过滤,然后将结果展示给Streamlit仪表板。
演示视频:
文件夹:
mcp_server.py--FastAPI服务器暴露GET /threats在端口9000上(默认通过uvicorn)。dashboard.py--Streamlit应用程序,调用MCP服务器并显示相关威胁。assets.json--用于过滤威胁的本地资产清单示例。.env.example--环境变量示例。
快速入门(Windows PowerShell):
- 创建虚拟环境并安装依赖项:
python -m venv .venv; .\.venv\Scripts\Activate.ps1
pip install -r requirements.txt- 复制
.env.example到.env并填写OTX_API_KEY如果你想要实时数据。
- 启动MCP FastAPI服务器:
uvicorn mcp_server:app --host 0.0.0.0 --port 9000- (可选)流线型仪表板
要运行Streamlit仪表板,您必须安装 streamlit 单独(它像这样拉重二元deps pyarrow 这可能需要Windows上的构建工具)。仅当您需要UI时才安装它:
.\.venv\Scripts\pip.exe install streamlit
.\.venv\Scripts\streamlit.exe run dashboard.py如果您希望跳过安装 pyarrow 或者其他重构建的deps,您仍然可以运行FastAPI服务器 并直接从以下位置获取JSON http://localhost:9000/threats.
笔记:
- 如果你不提供
OTX_API_KEY,服务器将返回一小部分威胁样本。 - 仪表板中的人工智能集成是可选的,仅在以下情况下使用
ANTHROPIC_API_KEY已设置,并且anthropic套餐可用。
