Skip to main content
Glama
sfncat
by sfncat

Joern MCP 服务器

为 Joern 提供的简单 MCP 服务器。

项目介绍

该项目是一个基于 Joern 的 MCP Server,提供一系列功能帮助开发人员进行代码审查和安全分析。

Related MCP server: Vibe Coder MCP

环境要求

  • Python >= 3.10 (默认 3.12) & uv

  • 乔恩

安装步骤

  1. 本地克隆项目:

    git clone https://github.com/sfncat/mcp-joern.git
    cd mcp-joern
  2. 安装 Python 依赖项:

    uv venv .venv
    source .venv/bin/activate
    uv sync

项目结构

├── 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

用法

  1. 启动 Joern 服务器:

    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
  2. 将env_example.txt复制到.env修改配置信息,以匹配joern服务器启动配置

  3. 运行测试连接:修改test_mcp_client.py中的信息,确认joern服务器正常运行

    uv 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
  4. 配置 MCP 服务器 在 cline 中配置 mcp 服务器,参考sample_cline_mcp_settings.json

  5. 使用 MCP 服务器向大型语言模型提问,参考prompts_en.md

开发说明

  • .env文件用于存储环境变量

  • .gitignore文件定义 Git 版本控制忽略的文件

  • pyproject.toml定义项目的 Python 配置

  • MCP工具开发

    • server_tools.sc中实现,在server_tools.py中添加定义,并在test_mcp_client.py中添加测试

贡献指南

欢迎提交问题和拉取请求以帮助改进项目。

欢迎添加更多工具。

参考

https://github.com/flankerhqd/jebmcp

https://docs.joern.io/server/

https://docs.joern.io/interpreter/

Install Server
A
security – no known vulnerabilities
A
license - permissive license
-
quality - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/sfncat/mcp-joern'

If you have feedback or need assistance with the MCP directory API, please join our Discord server