返回 MCP 目录
public公开dns本地运行

codeql-mcp

该项目是一个运行Model Context Protocol (MCP) 服务器的工具,封装了CodeQL查询服务器功能,支持通过结构化命令和文档搜索与CodeQL交互。

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 中硬编码其路径。
    • 你可能需要指定查询位置、写入位置和数据库路径。
help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端