Sandbox
@qcri/codebadger

MCP server for Joern code property graphs

codebadger sits between an agent and a codebase, building a Joern CPG and exposing it over MCP. The agent can then run CPGQL queries and use tools for data-flow tracing, taint analysis, program slicing, and vulnerability hunting.

167 starsβ€’19 forksβ€’Pythonβ€’Updated 17d ago
Who it's for

Builders who want their agent to analyze repositories through Joern and MCP.

What it delivers

You can ask an agent to trace code structure, data flow, and taint paths without manually grepping the repo.

What it does

Joern-backed code property graphs

Builds a CPG from a git repository, local path, or pasted snippet and serves it to MCP clients.

Queryable analysis tools

Exposes MCP tools for CPGQL queries, code browsing, data-flow tracing, taint analysis, and program slicing.

Multi-language coverage

Works across Java, C/C++, JavaScript, Python, Go, Kotlin, C#, Ghidra, Jimple, PHP, Ruby, and Swift.

Scale-oriented execution

Uses per-CPG worker pools, memory-aware scheduling, and Postgres/Redis backends for larger batches.

Custom detector support

Lets you add your own analysis tools and detectors through the custom tools path.

README

🦑 codebadger

codebadger is a containerized Model Context Protocol (MCP) server that gives AI agents and LLMs deep, queryable access to a codebase's structure and data flow through Joern Code Property Graphs (CPGs).

Point it at a Git repository, a local path, or even a pasted code snippet, and codebadger builds a CPG and exposes it over MCP β€” so an assistant can run CPGQL queries, trace data flow and taint, slice programs, and hunt for vulnerabilities across Java, C/C++, JavaScript, Python, Go, Kotlin, C#, Ghidra, Jimple, PHP, Ruby, and Swift.

It's a general-purpose foundation for both program analysis (understanding code structure, call graphs, and data flow) and vulnerability analysis (taint tracking, bug hunting, and PoC development) β€” useful for academic research as well as industry security and engineering work. It's built to scale to large analysis batches with per-CPG worker pools, memory-aware scheduling, and a Postgres/Redis backend.

News

codebadger and its paper - Bridging Code Property Graphs and Language Models for Program Analysis - were accepted at the Software Vulnerability Management Workshop @ ICSE 2026. πŸŽ‰

Documentation

Everything a developer or security researcher needs lives in docs/:

DocWhat's in it
InstallationPrerequisites and a 5-minute local setup.
UsageConnecting MCP clients, the tool catalog, and a researcher workflow.
LLM workflow guideRecommended bounded tool sequence for agents.
Available ToolsEvery MCP tool by category, with a description of what each does.
Configurationconfig.yaml / env reference, telemetry.
DeploymentPostgres/Redis, memory sizing, shared vs pool, large batches.
ArchitectureSystem design and diagrams.
SecurityThreat model, trust boundaries, and production hardening.
Custom ToolsAdd your own detectors.
ContributingDev setup, tests, and guidelines.
RoadmapWhat's shipped and what's next.

Found a vulnerability using codebadger?

We'd love to hear about it - open a PR adding it to TROPHIES.md (CVE ID, project, one-line description, date).

Citation

@inproceedings{lekssays2026bridging,
  title={Bridging Code Property Graphs and Language Models for Program Analysis},
  author={Lekssays, Ahmed},
  booktitle={Proceedings of the 2026 IEEE/ACM 4th International Workshop on Software Vulnerability Management},
  pages={33--40},
  year={2026}
}

Files in the repo

Repository payloadβ€’25 top-level entries
  • .github
  • .ssh-keys
  • docs
  • examples
  • playground
  • scripts
  • src
  • tests
  • .dockerignore
  • .env.example
  • .flake8
  • .gitignore
  • AGENTS.md
  • cleanup.sh
  • config.example.yaml
  • docker-compose.yml
  • Dockerfile
  • Dockerfile.mcp
  • LICENSE
  • main.py
  • pyproject.toml
  • pytest.ini
  • README.md
  • requirements.txt
  • TROPHIES.md

Discussion (0)

Ask about usage, or say what you built with it

Sign in to join the discussion.

No comments yet. Be the first to say what this is good for.

More connectors

Real-time global intelligence dashboard. AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking in a unified situational awareness interface

86k

High-performance code intelligence MCP server. Indexes codebases into a persistent knowledge graph β€” average repo in milliseconds. 158 languages, sub-ms queries, 99% fewer tokens. Single static binary, zero dependencies.

43k

Universal provider proxy for OpenAI Codex & Claude Code β€” use any LLM (Claude, Gemini, Grok, DeepSeek, Ollama…) with Codex CLI, App, SDK, and Claude Code

14k
okf-memory/
okf-agent-memory

Git-native persistent memory for AI coding agents. Implements Google OKF v0.2 with sub-300Β΅s in-memory BM25 search, embedded MCP server, and progressive disclosure. Slashes token bloat by 80% with zero external databases or dependencies. Built in pure Go.

547
tirth8205/
code-review-graph

Local-first code intelligence graph for MCP and CLI. Builds a persistent map of your codebase so AI coding tools read only what matters, with benchmarked context reductions on reviews and large-repo workflows.

31k
2akouwu/
reverify

Stop your AI from making things up β€” it proposes, deterministic tools decide, every claim checked against ground truth with evidence. Grounded facts and context survive resets. Reverse engineering is the proving ground. MCP server + CLI.

1.1k