mcpField
J
Joern MCP

Joern MCP

Remote
github.com/LekssaysDeveloper Tools177Updated 8w ago
Repository

About Joern MCP

Joern MCP is an MCP server for AI agents and LLMs to analyze codebases through Joern Code Property Graphs. It supports structural and data-flow queries, program slicing, and vulnerability research across many languages and code formats.

Key features

  1. 01Builds CPGs from repositories, paths, or snippets
  2. 02Runs CPGQL queries
  3. 03Traces data flow and taint
  4. 04Slices programs and searches for vulnerabilities
  5. 05Supports multiple languages and code formats

Use cases

  1. 01Inspecting call graphs and code structure
  2. 02Tracing tainted data paths
  3. 03Investigating potential vulnerabilities

MCP support

Exposes Joern CPG analysis capabilities to MCP clients, including queries, data-flow tracing, program slicing, and vulnerability analysis.

Configuration

Remote servers need no local install. Pick your client, then copy the config or install in one click.

Endpointhttps://0.0.0.0:4242/mcp
Copy install command
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.

Tools

Details

From the project 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}
}

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.