MCP.so
登录
J

Joern MCP

@Lekssays

关于 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.

基本信息

分类

其他

传输方式

stdio

发布者

Lekssays

提交者

Ahmed Lekssays

配置

使用下面的配置,将此服务器添加到你的 MCP 客户端。

{
  "mcpServers": {
    "joern-mcp": {
      "url": "https://0.0.0.0:4242/mcp"
    }
  }
}

工具

未检测到工具

工具是从 README 中自动提取的。维护者可以在 ## Tools 标题下列出工具,即可填充这部分内容。

概览

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.

评论

其他 分类下的更多 MCP 服务器