Skip to main content
Glama
inflearner0

systeminformer-mcp

by inflearner0

systeminformer-mcp

MCP-сервер, предоставляющий возможности System Informer как инструменты: процессы, потоки, модули, дескрипторы, память, службы, сетевые конечные точки, драйверы, окна и подписи файлов — а также запуск процессов и управление процессами.

54 проверенных инструмента, протестированы на Windows 11 (build 26200).

Как это работает

В современных сборках System Informer нет безувавенного режима командной строки — старые ключи -ctype / -cobject / -caction были удалены, а оставшиеся ключи командной строки лишь настраивают GUI. Парсить GUI было бы одновременно хрупко и без потерь.

Поэтому этот сервер делает то же, что и System Informer: вызывает те же нативные API NT напрямую (NtQuerySystemInformation, NtQueryInformationProcess, NtDuplicateObject, API SCM, iphlpapi, WinVerifyTrust, …) через ctypes. Результаты возвращаются в виде структурированного JSON, а не табличных строк.

Установленное приложение System Informer понtonem по-прежнему используется для двух целей:

  • Передача в GUI — launch_systeminformer_gui, launch_peview для живых графиков и интерактивных представлений, которые не преобразуются в результат инструментов.

  • dbghelp.dll — копию, которую System Informer включает, записывает дампы процесса.

Ни то ни другое не является обязательным. Если System Informer не установлен, все инструменты инспекции и управления по-прежнему работают; недоступны только эти два инструмента, которые передают управление в GUI.

Related MCP server: memscope-mcp

Установка

pip install mcp

Затем зарегистрируйте сервер в вашем MCP-клиенте. Для Claude Code — обратите внимание на PYTHONPATH: именно она позволяет активировать python -m si_mcp найти пакет из любой рабочей папки:

claude mcp add systeminformer --scope user -e PYTHONIOENCODING=utf-8 -e "PYTHONPATH=C:\path\to\systeminformer-mcp" -- python -m si_mcp

Или добавьте его напрямую в конфигурационный файл клиента:

{
  "mcpServers": {
    "systeminformer": {
      "command": "python",
      "args": ["-m", "si_mcp"],
      "env": {
        "PYTHONIOENCODING": "utf-8",
        "PYTHONPATH": "C:\\path\\to\\systeminformer-mcp"
      }
    }
  }
}

Альтернативно выполнить pip install -e . из корня проекта; это поместит консольный скрипт systeminformer-mcp в PATH и сделает PYTHONPATH необязательным.

Задайте SYSTEMINFORMER_PATH, если System Informer установлен не в C:\Program Files\SystemInformer.

Привилегии

Windows, а не этот сервер, определяет, что можно увидеть. Запускайте сервер с повышенными привилегиями для полного покрытия — вызывайте server_status в любое время, чтобы увидеть, что именно доступно, а что нет:

Режимы

Что вы получите

Обычный пользователь

Только свои процессы в полном объёме; остальные процессы ограничены

Повышенные привилегии

Почти всё: все процессы, адреса ядра, управление службами

Повышенные привилегии + драйвер KSystemInformer

Также защищённые процессы (PPL, антивирусные программы)

Без повышенных привилегий Windows скрывает адреса ядра (базовые адреса драйверов считываются как 0x0) и адреса запуска потоков для процессов, которые вам не принадлежат. Сервер обходит второе ограничение — снова повторный запрос через хендл потока там, где это возможно.

Инструменты

Система — system_overview, system_cpu_usage, system_memory, system_uptime

Процессы — list_processes, process_tree, process_details, process_token, process_modules, process_threads, thread_details

Управление процессами — launch_process, launch_process_elevated, terminate_process, terminate_process_tree, suspend_process, resume_process, set_process_priority, set_process_affinity, set_process_critical, empty_working_set, create_process_dump

Потоки — suspend_thread, resume_thread, terminate_thread, set_thread_priority, set_thread_affinity

Память — process_memory_regions, process_memory_summary, read_process_memory, write_process_memory, protect_process_memory, search_process_memory, process_memory_strings

Депки — list_handles, handle_type_summary, find_handles_by_name, close_handle

Службы — list_services, service_details, control_service, set_service_start_type, create_service, delete_service

Сеть — network_connections, port_owner

Драйверы и окна — list_drivers, list_windows, window_action

Файлы — file_details, verify_file_signature

System Informer — server_status, launch_systeminformer_gui, launch_peview

Примеры

"What's using port 3000?"                  -> port_owner
"Which process has this DLL locked?"       -> find_handles_by_name
"Why is my machine at 100% CPU?"           -> list_processes sort_by=cpu
"Start notepad minimized, then suspend it" -> launch_process, suspend_process
"Is this binary signed?"                   -> verify_file_signature

Безопасность

Инструменты, которые нельзя отменить или которые могут дестабилизировать запущенный процесс, требуют явного параметра confirm=true:

  • write_process_memory — может повредить или обрушить целевой процесс

  • close_handle — владельцу процесса не сообщается, что его депскириптор исчез

  • terminate_process_tree — убивает все дочерние процессы

  • delete_service — регистрацию службы нельзя восстановить с помощью этого сервера

  • set_process_critical — завершение критического процесса вызовет аварийную остановку Windows (bugcheck)

launch_process_elevated использует стандартное приглашение согласия Windows UAC. Этот сервер никогда не принимает, не хранит и не передаёт учётные данные; чтобы запустить процесс от другого пользователя, используйте диалог Run As в GUI System Informer.

Примечания о корректности

Несколько деталей, которые легко перепутать и которые здесь напечатаны:

  • Имена объектов могут зависнуть. Получение имени хендла означает дублирование хендла и вызов NtQueryObject, который гарантированно блокируется навсегда на синхронном именованныйписьменном канале, когда слепок не отвечает. Как и System Informer, этот процесс выполняется в рабочем потоке с таймаутом; застрявший поток утилизируется, а не переиспользуется, а хендл намеренно остаётся открытым, а не закрывается из-под заблокированного вызова.

  • Имена процессов не заканчиваются NUL. В SYSTEM_PROCESS_INFORMATION есть явный Length; декодирование через поиск окончания читает за строку в соседние данные и даёт сцеплённые суррогатные пары UTF-16. Дополнительно весь вывод инструментов санируется, чтобы неверное имя из чьего-либо процесса не могло сломать ответ.

  • Структуры токена внедряют указатели в собственный буфер. TOKEN_USER и родственные структуры должны читаться из живого выделения, а не из скопированных bytes.

  • Информационные классы фиксированного размера отвергают буферы. SystemBasicInformation и таблицы процессоров ожидают ровно тот размер, который ожидает работающее ядро; он различается в разных версиях Windows, поэтому размер сначала выявляется.

  • Повторное использование PID разрывает деревья процессов. «Родитель», созданный после своего дочернего процесса, считается переисполняемым, и дочерний процесс выводится в корне.

Тесты

python tests/test_e2e.py

Запуск сервера через реальный транспорт MCP stdio, вызов инструмента из каждой группы и замыкание полного цикла живого процесса: запуск → просмотр → приостановка → восстановление → дамп → завершение. Также проверяется, что каждый защищённый инструмент отказывается действовать без confirm=true. 44 проверки.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Exposes Sysinternals and NirSoft Windows diagnostic binaries as MCP tools with safe subprocess execution. Dynamically registers tools from a binaries directory with built-in security filters for destructive operations.
    -
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI agents to perform low-level Windows process memory research, including process attachment, memory scanning, reading/writing, pointer chasing, remote code execution, and inline hooking via MCP tools and Lua scripting.
    4
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to perform extensive Windows system administration, file operations, process management, network configuration, registry editing, GUI automation, and more through a comprehensive set of MCP tools.
    1
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI clients to securely control and interact with a local Windows machine through 218 configurable tools for files, Git, processes, Windows UI, browser automation, WSL, Office, recovery, skills, and child MCP servers.
    7 npm
    MIT