Skip to main content
Glama

Servidor Joern MCP

Un servidor MCP simple para Joern.

Introducción del proyecto

Este proyecto es un servidor MCP basado en Joern, que proporciona una serie de funciones para ayudar a los desarrolladores con la revisión de código y el análisis de seguridad.

Related MCP server: Pentest Tools MCP Server

Requisitos ambientales

  • Python >= 3.10 (predeterminado 3.12) y uv

  • Joern

Pasos de instalación

  1. Clonar el proyecto localmente:

    git clone https://github.com/sfncat/mcp-joern.git cd mcp-joern
  2. Instalar dependencias de Python:

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

Estructura del proyecto

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

Uso

  1. Inicie el servidor 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. Copiar env_example.txt a .env Modificar la información de configuración para que coincida con la configuración de inicio del servidor joern

  3. Ejecute la conexión de prueba: modifique la información en test_mcp_client.py para confirmar que el servidor joern funciona correctamente

    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. Configurar el servidor MCP Configure el servidor mcp en cline, consulte sample_cline_mcp_settings.json .

  5. Utilice el servidor MCP Haga preguntas al modelo de lenguaje grande, consulte prompts_en.md

Notas de desarrollo

  • El archivo .env se utiliza para almacenar variables de entorno

  • El archivo .gitignore define los archivos que el control de versiones de Git debe ignorar

  • pyproject.toml define la configuración de Python para el proyecto

  • Desarrollo de herramientas MCP

    • Implementar en server_tools.sc , agregar definiciones en server_tools.py y agregar pruebas en test_mcp_client.py

Pautas de contribución

Le invitamos a enviar problemas y solicitudes de extracción para ayudarnos a mejorar el proyecto.

Bienvenido a agregar más herramientas.

Referencias

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