CodeQL MCP Server

CodeQL MCP Server

site icon
2025.03.31 84
Python代码分析开发工具集成开发效率
CodeQL MCP Server 是一个基于 Model Context Protocol (MCP) 的服务,封装了 CodeQL 查询服务器。它允许工具如 Cursor 或 AI 代理通过结构化命令和文档搜索与 CodeQL 进行交互。
View on GitHub

Overview

基本能力

产品定位

CodeQL MCP Server 是一个中间件服务,旨在为开发工具(如 Cursor)或 AI 代理提供与 CodeQL 查询服务器的交互能力。

核心功能

  • 注册 CodeQL 数据库
  • 运行完整查询或快速评估符号
  • .bqrs 文件解码为 JSON
  • 定位谓词/类符号的位置

适用场景

  • 开发工具集成:如 Cursor 等工具可以通过 MCP 协议与 CodeQL 交互。
  • AI 代理:AI 代理可以通过结构化命令调用 CodeQL 功能。
  • 代码分析:开发者可以通过此服务快速运行 CodeQL 查询并获取结果。

工具列表

  • server.py:主 FastMCP 服务器,暴露 CodeQL 工具。
  • codeqlclient.py:CodeQLQueryServer 实现(JSON-RPC 处理器)。

常见问题解答

  • 必须确保 codeql 二进制文件在 $PATH 中,或在 codeqlclient.py 中硬编码其路径。
  • 需要在提示中指定查询位置、查询写入位置和数据库路径。

使用教程

使用依赖

安装依赖:

uv pip install -r requirements.txt

pip install fastmcp httpx

安装教程

运行 MCP 服务器:

uv run mcp run server.py -t sse
  • 服务器将启动在 http://localhost:8000/sse

调试方式

确保 Cursor 的配置文件 .cursor/config.json 包含以下内容:

{
  "mcpServers": {
    "CodeQL": {
      "url": "http://localhost:8000/sse"
    }
  }
}

许可证

None