Content
# CodeQL MCP Server
This project runs a Model Context Protocol (MCP) server that wraps the CodeQL query server. It enables tools like [Cursor](https://cursor.sh/) or AI agents to interact with CodeQL through structured commands and doc search.
---
## Features
- ✅ Register CodeQL databases
- ✅ Run full queries or quick-evaluate a symbol
- ✅ Decode `.bqrs` files into JSON
- ✅ Locate predicate/class symbol positions
---
## File Structure
| File | Purpose |
|-------------------|-----------------------------------------------------|
| `server.py` | Main FastMCP server exposing CodeQL tools |
| `codeqlclient.py` | CodeQLQueryServer implementation (JSON-RPC handler) |
---
## Requirements
Install with [`uv`](https://github.com/astral-sh/uv):
```bash
uv pip install -r requirements.txt
```
or with `pip`:
```bash
pip install fastmcp httpx
```
## Running the MCP Server
```bash
uv run mcp run server.py -t sse
```
- Starts the server at http://localhost:8000/sse
- Required for Cursor or AI agent use
## Cursor Config
Make sure your `.cusor/config.json` contains:
```
{
"mcpServers": {
"CodeQL": {
"url": "http://localhost:8000/sse"
}
}
}
```
## Notes
- Tools like Cursor will invoke these commands directly via natural language.
- You must have a codeql binary in your $PATH, or hardcode its path in codeqlclient.py.
- You should probably specify query locations, query write locations and database paths in your prompts.
You Might Also Like
Ollama
Ollama enables easy access to large language models on multiple platforms.

n8n
n8n is a secure workflow automation platform for technical teams with 400+...

Dify
Dify is a platform for AI workflows, enabling file uploads and self-hosting.
OpenWebUI
Open WebUI is an extensible web interface for various applications.

Zed
Zed is a high-performance multiplayer code editor from the creators of Atom.
MarkItDown MCP
MarkItDown-MCP is a lightweight MCP server for converting various URIs to Markdown.