MCP Server Tools
March 11, 2026 · View on GitHub
This resource provides a complete reference of the default tools exposed by the CodeQL Development MCP Server. These tools wrap the CodeQL CLI and supporting utilities, enabling an LLM to develop, test, and analyze CodeQL queries programmatically.
CodeQL CLI Tools
| Tool | Description |
|---|---|
codeql_bqrs_decode | Decode BQRS result files to human-readable formats (text, csv, json). Supports --result-set and --rows for pagination |
codeql_bqrs_info | Get metadata about BQRS result files: result sets, column types, row counts |
codeql_bqrs_interpret | Interpret BQRS result files according to query metadata and generate output in specified formats (CSV, SARIF, graph formats) |
codeql_database_analyze | Run queries or query suites against CodeQL databases. Produces evaluator logs, BQRS, and SARIF output |
codeql_database_create | Create a CodeQL database from source code |
codeql_generate_log-summary | Create a summary of a structured JSON evaluator event log file |
codeql_generate_query-help | Generate query help documentation from QLDoc comments |
codeql_pack_install | Install CodeQL pack dependencies |
codeql_pack_ls | List CodeQL packs under a local directory path |
codeql_query_compile | Compile and validate CodeQL queries |
codeql_query_format | Automatically format CodeQL source code files |
codeql_query_run | Execute a CodeQL query against a database |
codeql_resolve_database | Resolve database path and validate database structure |
codeql_resolve_files | Find files in a directory tree, filtered by extension and glob patterns. Useful for discovering QL library files |
codeql_resolve_languages | List installed CodeQL extractor packs |
codeql_resolve_library-path | Resolve library path for CodeQL queries and libraries |
codeql_resolve_metadata | Resolve and return key-value metadata pairs from a CodeQL query source file |
codeql_resolve_qlref | Resolve .qlref files to their corresponding query files |
codeql_resolve_queries | List available CodeQL queries found on the local filesystem |
codeql_resolve_tests | Resolve the local filesystem paths of unit tests and/or queries under a base directory |
codeql_test_accept | Accept new test results as the expected baseline |
codeql_test_extract | Extract test databases for CodeQL query tests |
codeql_test_run | Run CodeQL query tests |
Language Server Protocol (LSP) Tools
| Tool | Description |
|---|---|
codeql_lsp_completion | Get code completions at a cursor position in a CodeQL file |
codeql_lsp_definition | Go to the definition of a CodeQL symbol at a given position |
codeql_lsp_diagnostics | Syntax and semantic validation of CodeQL code via the Language Server. Note: inline ql_code cannot resolve pack imports; use codeql_query_compile for files with imports |
codeql_lsp_references | Find all references to a CodeQL symbol at a given position |
Query Development Tools
| Tool | Description |
|---|---|
create_codeql_query | Create directory structure and files for a new CodeQL query with tests |
find_class_position | Find the start/end line and column of a class for quick evaluation |
find_codeql_query_files | Find and track all files and directories related to a CodeQL query, including resolved metadata |
find_predicate_position | Find the start/end line and column of a predicate for quick evaluation |
list_codeql_databases | List CodeQL databases discovered in configured base directories |
list_mrva_run_results | List MRVA (Multi-Repository Variant Analysis) run results with per-repo details |
list_query_run_results | List query run result directories with artifact inventory. Filter by queryName, language, or queryPath |
profile_codeql_query | Profile the performance of a CodeQL query run against a specific database by analyzing the evaluator log |
profile_codeql_query_from_logs | Parse evaluator logs into a compact profile with line-indexed detail file for targeted read_file access |
quick_evaluate | Quick evaluate either a class or a predicate in a CodeQL query for debugging |
read_database_source | Read source file contents from a CodeQL database source archive. Omit filePath to list all files |
register_database | Register a CodeQL database given a local path to the database directory |
search_ql_code | Search QL source files for text or regex patterns with structured results (replaces grep for QL code) |
validate_codeql_query | Quick heuristic validation for CodeQL query structure (does not compile the query) |
Common Tool Workflows
Create and Test a Query
create_codeql_query— scaffold filescodeql_pack_install— install dependenciescodeql_query_compile— validate syntaxcodeql_test_run— run testscodeql_test_accept— accept correct results
Understand Code Structure
codeql_query_runwithqueryName="PrintAST"— visualize the ASTcodeql_query_runwithqueryName="PrintCFG"— visualize control flowcodeql_query_runwithqueryName="CallGraphFrom"/"CallGraphTo"— trace call relationships
Profile Query Performance
codeql_query_runwithevaluationOutput— run query and capture evaluator logsprofile_codeql_query_from_logs— analyze evaluator logs: slowest predicates, RA operations, tuple count progressions, dependencies
Discover and Search QL Code
codeql_resolve_files— find QL files by extension and glob patterns in library packssearch_ql_code— search QL source files for classes, predicates, or patterns by text/regexcodeql_lsp_definition— navigate to the definition of a discovered symbolcodeql_lsp_references— find all usages of a symbol across a pack
Interactive Development
codeql_lsp_completion— get QL code completionscodeql_lsp_definition— navigate to definitionscodeql_lsp_references— find all referencescodeql_lsp_diagnostics— real-time validation
Tool Input Conventions
- LSP tools use 0-based line and column positions for input. Output uses 1-based
startLine/endLine. find_predicate_positionandfind_class_positionreturn 1-based positions.workspace_urifor LSP tools must be a plain directory path to the pack root containingcodeql-pack.yml, not afile://URI.
Related Resources
codeql://server/overview— MCP server orientation guidecodeql://server/prompts— Complete prompt referencecodeql://learning/query-basics— Query writing referencecodeql://patterns/performance— Performance profiling guide