Skip to main content
Glama
sfncat
by sfncat

Joern MCP サーバー

Joern 用のシンプルな MCP サーバー。

プロジェクト紹介

このプロジェクトは Joern をベースにした MCP サーバーであり、開発者のコードレビューとセキュリティ分析を支援する一連の機能を提供します。

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

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