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 サーバーであり、開発者のコードレビューとセキュリティ分析を支援する一連の機能を提供します。

環境要件

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