本项目基于Uvicorn和SSE,为NVD(国家漏洞数据库)打造实时漏洞监控服务,借助WebSocket协议与前端或其他客户端实时通信,实现高效的漏洞管理与跟踪。
git clone https://github.com/your-username/mcp-nvd.git
cd mcp-nvd
pip install -r requirements.txt
默认绑定地址为0.0.0.0:9090,使用SSE模式:
uvicorn mcp_nvd.main:app --host 0.0.0.0 --port 9090
git clone https://github.com/your-username/mcp-nvd.git
cd mcp-nvd
pip install -r requirements.txt
在main.py中可以通过以下方式配置服务器:
app = FastAPI(
title="NVD漏洞监控服务",
description="基于SSE的实时漏洞监控系统",
version="1.0.0",
)
# 启动命令示例:
uvicorn mcp_nvd.main:app --host 0.0.0.0 --port 9090
以下是一个简单的使用示例:
@app.websocket("/ws")
async def websocket_endpoint(websocket: WebSocket):
await websocket.accept()
try:
while True:
# 发送一条消息到指定端点
await websocket.send_text("数据更新:{}".format(datetime.now()))
await asyncio.sleep(1)
except Exception as e:
print(f"WebSocket连接关闭,错误:{e}")
在main.py中可以通过以下方式配置服务器:
app = FastAPI(
title="NVD漏洞监控服务",
description="基于SSE的实时漏洞监控系统",
version="1.0.0",
)
# 启动命令示例:
uvicorn mcp_nvd.main:app --host 0.0.0.0 --port 9090
本项目基于Uvicorn和SSE实现实时漏洞监控服务,通过WebSocket协议与前端或其他客户端进行实时通信。Uvicorn作为异步服务器框架,能够高效处理高并发请求;SSE技术则支持长时间保持连接,实现数据的实时推送。同时,项目支持HTTP和WebSocket两种协议,具有良好的多平台兼容性。
mcp-nvd/
├── mcp_nvd/ # 核心服务代码
│ ├── main.py # FastAPI应用入口
│ └── tools.py # 辅助函数和配置项
├── requirements.txt # 依赖管理文件
└── README.md # 项目文档
感谢@sidharthrajaram为SSE基的MCP客户端和服务器提供参考实现:https://github.com/sidharthrajaram/mcp-sse
⚠️ 重要提示
请确保安装所有必要的依赖项,包括
fastapi、uvicorn和sseclient。本项目作为内部工具使用时需注意网络安全,建议在生产环境中启用HTTPS。
💡 使用建议
根据实际需求调整服务器配置,例如增加线程数或优化数据推送频率。