Skip to main content
Glama

Языки: English | 简体中文

MCP-сервер, который соединяет Alibaba Arthas с Claude Code, Cursor, Codex и любым другим AI-ассистентом, поддерживающим MCP. Он сканирует локальные JVM каждые 15 секунд, отфильтровывает демоны IDE/сборки, автоматически подключает Arthas и предоставляет готовые к использованию диагностические инструменты — так что вы можете просто спросить своего агента "почему сервис заказов тормозит?", и он сможет выполнить thread, trace, watch и ognl на живом процессе.

AI agent ──stdio/HTTP──> arthas-mcp ──auto-attach──> Arthas agent ──> your JVM
                             ▲
                    jps discovery every 15s

Сравнение

arthas-mcp (этот проект)

Официальный arthas-mcp-server

Обёртки сообщества

Настройка

Ноль конфигурации — просто запустите

Java-модуль, работающий внутри целевой JVM

Запустите Arthas WebConsole вручную, затем укажите URL

Обнаружение целей

Автоматическое (сканирование jps + чёрный список)

Нет (это и есть приложение)

Вручную

Язык

Node (не нужно поддерживать Java-код)

Java

разный

Лучше всего для

Отладки любого локального сервиса из редактора

Внутрипроцессная диагностика, размещённая в продакшене

Быстрые разовые задачи

Related MCP server: Arthas MCP Server

Возможности

  • Обнаружение без конфигурации — находит бизнес-JVM через jps, пропускает демоны IntelliJ / Gradle / Maven / language-server через встроенный чёрный список

  • Автоподключение и повторное подключение — запускает arthas-boot для каждого процесса в управляемом пуле портов и повторно подключается, когда агент отваливается

  • Синхронное и асинхронное выполнение команд — короткие команды (version, sc, sm, ognl) возвращаются напрямую; длительные (trace, watch, monitor) передаются через pull_results и могут быть прерваны

  • Режимы stdio и HTTP — один экземпляр на сессию клиента (stdio) или общий долгоживущий сервис (--http) с /mcp + /healthz

  • Удобный вывод — результаты заданий Arthas сворачиваются в чистый текст, который LLM может читать напрямую

  • Кроссплатформенность — macOS, Linux и Windows (интроспекция процессов для каждой ОС: /proc, ps, PowerShell CIM)

Поддерживаемые платформы

Платформа

Статус

macOS

✅

Linux

✅

Windows

✅ (требуется JDK jps/java в PATH)

Требования: Node ≥ 18, JDK (для jps и java) и Arthas — автоматически определяется из ~/.arthas/lib (т.е. он уже установлен, если вы раньше запускали arthas-boot), или укажите ARTHAS_BOOT_JAR на arthas-boot.jar. Все зависимости бесплатны и имеют открытый исходный код.

Установка

Запуск без установки (рекомендуется)

npx -y github:x0c/arthas-mcp --version

Глобальная установка

npm install -g github:x0c/arthas-mcp
arthas-mcp --version

Те же команды на macOS, Linux и Windows. После публикации в npm-реестре обе сокращаются до npx -y arthas-mcp / npm install -g arthas-mcp.

Из исходников

git clone https://github.com/x0c/arthas-mcp.git
cd arthas-mcp && npm install
node cli/arthas-mcp.mjs --version

Настройка вашего MCP-клиента

Claude Code:

claude mcp add arthas -- npx -y github:x0c/arthas-mcp

Cursor / любой клиент, читающий JSON-блок mcpServers:

{
  "mcpServers": {
    "arthas": {
      "command": "npx",
      "args": ["-y", "github:x0c/arthas-mcp"]
    }
  }
}

Режим общего демона (один экземпляр для всех клиентов):

{
  "mcpServers": {
    "arthas": {
      "command": "npx",
      "args": ["-y", "github:x0c/arthas-mcp", "--http"],
      "url": "http://127.0.0.1:8580/mcp"
    }
  }
}

Использование

Запустите ваш Java-сервис, подождите несколько секунд, затем спросите агента — или вызовите инструменты сами:

Инструмент

Назначение

list_agents

Список обнаруженных сервисов и их статус онлайн — вызывайте это первым

exec

Выполнить короткую команду Arthas синхронно (version, sc, sm, ognl …)

async_exec

Отправить длительную команду (trace, watch, monitor), возвращает sessionId / consumerId

pull_results

Опрос результатов async_exec

interrupt_job

Остановить выполняющееся задание trace/watch/monitor

Пример сессии:

You:  why is the order service slow?
Agent: (list_agents) → order-service is online on port 18501
       (exec order-service "thread -n 3")     → hottest threads
       (async_exec order-service "trace *OrderService create") → submits trace
       (pull_results …)                       → shows the slow call chain

Конфигурация

Приоритет: аргументы CLI > переменные окружения > ~/.config/arthas-mcp/config.json > значения по умолчанию.

Источник

Что

config.json

host, port, scanInterval, attachTimeout, requestTimeout, portMin/portMax, stripPrefixes (список префиксов, удаляемых из производных идентификаторов сервисов)

aliases.json

Сопоставление обнаруженного имени сервиса с более дружелюбным идентификатором агента

ARTHAS_MCP_PORT / ARTHAS_MCP_HOST

Адрес привязки в HTTP-режиме

ARTHAS_MCP_CONFIG_DIR

Переместить весь каталог конфигурации

ARTHAS_BOOT_JAR

Явный путь к arthas-boot.jar

--scan-interval <ms>

Интервал сканирования JVM (по умолчанию 15000)

FAQ

Почему не официальный arthas-mcp-server? Они решают разные задачи: официальный — это внутрипроцессный Java-модуль для диагностики, размещённой в продакшене; этот проект — локальная обёртка, которая обнаруживает и подключается к любой JVM, не трогая приложение. Они могут сосуществовать.

Изменяет ли он моё приложение? Он подключает агент Arthas к работающей JVM (как при ручном запуске arthas-boot) — без перезапуска и изменения кода. Остановите инструмент или выполните stop, чтобы отключиться.

Безопасно ли направлять LLM на продакшен? Он даёт агенту те же возможности, что и Arthas (включая watch на уровне байт-кода). Направляйте его на локальные/dev-JVM и используйте только чтение в продакшене.

Лицензия

MIT

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    C
    maintenance
    Сonnects to live JVMs via JDWP protocol, enabling LLM agents to autonomously debug Java applications — attach to a running process, pause threads, set breakpoints (including conditional), inspect stacks with auto-resolved object fields, evaluate methods, set variable values, and diagnose issues like deadlocks and hung queries.
    28
    32 PyPI
    1
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables LLMs to debug Java applications using JDB, supporting breakpoints, stepping, expression evaluation, thread analysis, and more.
    4
    Apache 2.0
  • A
    license
    A
    quality
    D
    maintenance
    A Model Context Protocol server that connects AI agents to live Java processes via Alibaba Arthas, enabling real-time diagnostics, debugging, and performance analysis without code changes.
    25
    MIT