Extend server/src/resources/ to serve versioned, language-specific CodeQL API documentation as MCP resources.
Resource URI Scheme
codeql://api/{language}/{version}/{module}
codeql://api/java/2.24.0/dataflow
codeql://api/javascript/latest/ast
Implementation Design
-
Resource Registry (server/src/resources/api-reference.ts)
- Define resource templates for each language × version × module combination
- Support
latest alias resolving to current CLI version
- Map modules:
ast, dataflow, taint, cfg, types
-
Documentation Sources
- Fetch from CodeQL standard library QLDoc comments
- Cache generated documentation in
server/resources/api-cache/
- Implement cache invalidation on version change
-
Dynamic Resource Generation
- Use
codeql resolve qlpacks to identify installed library versions
- Extract QLDoc via
codeql generate doc-index or direct QL parsing
- Format as Markdown with class hierarchies and predicate signatures
-
Resource Registration
- Register parameterized resources using MCP resource templates
- Support filtering by language in
resources/list responses
Acceptance Criteria
Extend
server/src/resources/to serve versioned, language-specific CodeQL API documentation as MCP resources.Resource URI Scheme
Implementation Design
Resource Registry (
server/src/resources/api-reference.ts)latestalias resolving to current CLI versionast,dataflow,taint,cfg,typesDocumentation Sources
server/resources/api-cache/Dynamic Resource Generation
codeql resolve qlpacksto identify installed library versionscodeql generate doc-indexor direct QL parsingResource Registration
resources/listresponsesAcceptance Criteria
latestversion alias works correctly