Joern MCP Server

by sfncat
Verified

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Used for environment variable management, storing configuration information for connecting to the Joern server

  • Supports version control integration, used for cloning source code repositories for analysis

  • Provides the runtime environment for the MCP server, with utility functions and tools for code analysis

Joern MCP 服务器

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

项目介绍

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

环境要求

  • 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/

-
security - not tested
F
license - not found
-
quality - not tested

一个基于 Joern 的简单 MCP(多模式对话插件)服务器,通过自然语言界面提供代码审查和安全分析功能。

  1. Project Introduction
    1. Environment Requirements
      1. Installation Steps
        1. Project Structure
          1. Usage
            1. Development Notes
              1. Contribution Guidelines
                1. References
                  ID: 9elq20usyv