Joern MCP Server
A simple Joern MCP Server.
Installation
Installing for Claude Desktop
Manual Configuration Required
This MCP server requires manual configuration. Run the command below to open your configuration file:
npx mcpbar@latest edit -c claude
This will open your configuration file where you can add the Joern MCP Server MCP server manually.
Joern MCP Server
A simple MCP Server for Joern.
Project Introduction
This project is an MCP Server based on Joern, providing a series of features to help developers with code review and security analysis.
Environment Requirements
- Python >= 3.10 (default 3.12) & uv
- Joern
Installation Steps
-
Clone the project locally:
git clone https://github.com/sfncat/mcp-joern.git cd mcp-joern
-
Install Python dependencies:
uv venv .venv source .venv/bin/activate uv sync
Project Structure
├── server.py # MCP Server main program
├── test_mcp_client.py # Test program for joern server and mcp tool
├── test_sc_tools.py # Direct test program for sc tools
├── common_tools.py # Common utility functions
├── server_tools.py # Server utility functions
├── server_tools.sc # Scala implementation of server utility functions
├── server_tools_source.sc # Scala implementation of server utility functions,use sourceCode to get the source code of method
├── requirements.txt # Python dependency file
├── sample_cline_mcp_settings.json # Sample cline mcp configuration file
└── env_example.txt # Environment variables example file
Usage
-
Start the Joern server:
joern -J-Xmx40G --server --server-host 127.0.0.1 --server-port 16162 --server-auth-username user --server-auth-password password --import server_tools.sc Or joern -J-Xmx40G --server --server-host 127.0.0.1 --server-port 16162 --server-auth-username user --server-auth-password password --import server_tools_source.sc
-
Copy env_example.txt to .env Modify the configuration information to match the joern server startup configuration
-
Run the test connection: Modify the information in
test_mcp_client.py
to confirm the joern server is working properlyuv run test_mcp_client.py Starting MCP server test... ================================================== Testing server connection... [04/16/25 20:38:54] INFO Processing request of type CallToolRequest server.py:534 Connection test result: Successfully connected to Joern MCP, joern server version is XXX
-
Configure MCP server Configure the mcp server in cline, refer to
sample_cline_mcp_settings.json
. -
Use MCP server Ask questions to the large language model, refer to
prompts_en.md
Development Notes
.env
file is used to store environment variables.gitignore
file defines files to be ignored by Git version controlpyproject.toml
defines the Python configuration for the project- MCP tool development
- Implement in
server_tools.sc
, add definitions inserver_tools.py
, and add tests intest_mcp_client.py
- Implement in
Contribution Guidelines
Welcome to submit Issues and Pull Requests to help improve the project.
Welcome to add more tools.
References
Stars
8Forks
1Last commit
2 months agoRepository age
3 months
Auto-fetched from GitHub .
MCP servers similar to Joern MCP Server:

Stars
Forks
Last commit

Stars
Forks
Last commit

Stars
Forks
Last commit