Joern MCP
@Lekssays
About Joern MCP
A Model Context Protocol (MCP) server that provides AI assistants with static code analysis capabilities using Joern's Code Property Graph (CPG) technology.
Basic information
Config
Add this server to your MCP-compatible client using the configuration below.
{
"mcpServers": {
"joern-mcp": {
"url": "https://0.0.0.0:4242/mcp"
}
}
}Tools
No tools detected
We auto-extract tools from the README. The maintainer can list them under a ## Tools heading to populate this section.
Overview
What is Joern MCP?
Joern MCP is a Model Context Protocol (MCP) server that provides AI assistants with static code analysis capabilities using Joern’s Code Property Graph (CPG) technology. It supports multi‑language analysis (Java, C/C++, JavaScript, Python, Go, Kotlin, C#, Ghidra, Jimple, PHP, Ruby, Swift), runs each analysis session in a Docker container, and can analyze repositories directly from GitHub URLs.
How to use Joern MCP?
To use Joern MCP, clone the repository, install Python dependencies, run ./setup.sh to build the Joern Docker image and start Redis, then launch the server with python main.py. The server uses Streamable HTTP transport and is available at http://localhost:4242. Integration with GitHub Copilot is done by adding the server URL to VS Code’s settings.json.
Key features of Joern MCP
- Multi‑language static analysis via Joern’s CPG
- Docker isolation per analysis session
- GitHub repository analysis directly from URLs
- Persistent CPG sessions with automatic cleanup
- Redis‑backed caching and session management
- Async CPG generation and query execution
Use cases of Joern MCP
- Run custom CPGQL queries on any supported codebase
- Explore code structure (methods, calls, files, code snippets)
- Find security vulnerabilities with taint analysis and program slicing
- Check method reachability and build call graphs
- Search for hard‑coded secrets or dangerous API usage
FAQ from Joern MCP
What languages does Joern MCP support?
Java, C/C++, JavaScript, Python, Go, Kotlin, C#, Ghidra, Jimple, PHP, Ruby, and Swift.
What are the runtime requirements?
Python 3.8+, Docker, Redis, and Git are required.
How does the server handle data persistence?
Sessions, query results, and CPG data are cached in Redis and automatically cleaned up based on a configurable TTL and concurrency limit.
Which transport protocol does the server use?
The server uses Streamable HTTP transport, making it network‑accessible and able to handle multiple concurrent clients.
Can I configure memory limits for large projects?
Yes, memory limits for Joern can be set via environment variables (JOERN_MEMORY_LIMIT, JOERN_JAVA_OPTS) or in the config.yaml file.
More Other MCP servers
MaxKB
1Panel-dev🔥 MaxKB is an open-source platform for building enterprise-grade agents. 强大易用的开源企业级智能体平台。
Nginx UI
0xJackyYet another WebUI for Nginx
Reactive Resume
amruthpillaiA one-of-a-kind resume builder that keeps your privacy in mind. Completely secure, customizable, portable, open-source and free forever. Try it out today!
MCP Go 🚀
mark3labsA Go implementation of the Model Context Protocol (MCP), enabling seamless integration between LLM applications and external data sources and tools.
IDA Pro MCP
mrexodiaAI-powered reverse engineering assistant that bridges IDA Pro with language models through MCP.
Comments