Uses Joern code property graphs for code review and security analysis through natural language queries.
接入配置
选择客户端,复制配置,再按项目文档补齐环境变量。
claude mcp add joern --env JOERN_HOST='<JOERN_HOST>' --env JOERN_PASSWORD='<JOERN_PASSWORD>' --env JOERN_PORT='<JOERN_PORT>' --env JOERN_USERNAME='<JOERN_USERNAME>' -- uv venv .venv~/.codex/config.toml
[mcp_servers.joern]
command = "uv"
args = ["venv", ".venv"]
env = { JOERN_HOST = "<JOERN_HOST>", JOERN_PASSWORD = "<JOERN_PASSWORD>", JOERN_PORT = "<JOERN_PORT>", JOERN_USERNAME = "<JOERN_USERNAME>" }
# codex mcp add joern --env JOERN_HOST='<JOERN_HOST>' --env JOERN_PASSWORD='<JOERN_PASSWORD>' --env JOERN_PORT='<JOERN_PORT>' --env JOERN_USERNAME='<JOERN_USERNAME>' -- uv venv .venv~/.cursor/mcp.json
{
"mcpServers": {
"joern": {
"command": "uv",
"args": [
"venv",
".venv"
],
"env": {
"JOERN_HOST": "<JOERN_HOST>",
"JOERN_PASSWORD": "<JOERN_PASSWORD>",
"JOERN_PORT": "<JOERN_PORT>",
"JOERN_USERNAME": "<JOERN_USERNAME>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"joern": {
"type": "stdio",
"command": "uv",
"args": [
"venv",
".venv"
],
"env": {
"JOERN_HOST": "<JOERN_HOST>",
"JOERN_PASSWORD": "<JOERN_PASSWORD>",
"JOERN_PORT": "<JOERN_PORT>",
"JOERN_USERNAME": "<JOERN_USERNAME>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"joern": {
"command": "uv",
"args": [
"venv",
".venv"
],
"env": {
"JOERN_HOST": "<JOERN_HOST>",
"JOERN_PASSWORD": "<JOERN_PASSWORD>",
"JOERN_PORT": "<JOERN_PORT>",
"JOERN_USERNAME": "<JOERN_USERNAME>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"joern": {
"command": "uv",
"args": [
"venv",
".venv"
],
"env": {
"JOERN_HOST": "<JOERN_HOST>",
"JOERN_PASSWORD": "<JOERN_PASSWORD>",
"JOERN_PORT": "<JOERN_PORT>",
"JOERN_USERNAME": "<JOERN_USERNAME>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"joern": {
"command": "uv",
"args": [
"venv",
".venv"
],
"env": {
"JOERN_HOST": "<JOERN_HOST>",
"JOERN_PASSWORD": "<JOERN_PASSWORD>",
"JOERN_PORT": "<JOERN_PORT>",
"JOERN_USERNAME": "<JOERN_USERNAME>"
}
}
}
}需要的环境变量
JOERN_HOSTJOERN_PASSWORDJOERN_PORTJOERN_USERNAME
把占位值换成你自己的密钥;不要把密钥提交到代码仓库。