article
README
🚀 CodeQL MCP 服务器
本项目运行一个模型上下文协议(MCP)服务器,该服务器对 CodeQL 查询服务器进行了封装。借助此服务器,像 Cursor 这类工具或者 AI 代理能够通过结构化命令和文档搜索与 CodeQL 展开交互。
🚀 快速开始
先决条件
使用 uv 安装:
uv pip install -r requirements.txt
或使用 pip:
pip install fastmcp httpx
运行 MCP 服务器
uv run mcp run server.py -t sse
- 服务器将在 http://localhost:8000/sse 启动。
- 可供 Cursor 或 AI 代理使用。
Cursor 配置
确保你的 .cusor/config.json 包含如下内容:
{
"mcpServers": {
"CodeQL": {
"url": "http://localhost:8000/sse"
}
}
}
✨ 主要特性
- ✅ 注册 CodeQL 数据库
- ✅ 运行完整查询或快速评估符号
- ✅ 解码
.bqrs文件为 JSON - ✅ 定位谓词/类符号位置
📚 详细文档
文件结构
| 文件 | 目的 |
|-------------------|-----------------------------------------------------|
| server.py | 主 FastMCP 服务器,暴露 CodeQL 工具 |
| codeqlclient.py | CodeQLQueryServer 实现(JSON-RPC 处理程序) |
备注
- ⚠️ 重要提示
- 诸如 Cursor 之类的工具会通过自然语言直接调用这些命令。
- 你必须在 $PATH 中有一个 codeql 可执行文件,或在 codeqlclient.py 中硬编码其路径。
- 你可能需要指定查询位置、写入位置和数据库路径。
微信扫一扫