systeminformer-mcp
systeminformer-mcp
System Informer의 기능을 도구로 노출하는 MCP 서버입니다: 프로세스, 스레드, 모듈, 핸들, 메모리, 서비스, 네트워크 엔드포인트, 드라이버, 창과 파일 서명 — 그리고 프로세스 실행 및 제어까지.
도구 54개, Windows 11(빌드 26200)에서 종단 간 검증 완료.
작동 방식
최신 System Informer 빌드에는 헤드리스 명령 모드가 없습니다 — 이전의 -ctype / -cobject / -caction 스위치는 제거되었고, 남은 명령줄 스위치는 GUI만 설정합니다. GUI를 스크래핑하는 것은 취약하고 손실이 큽니다.
따라서 이 서버는 System Informer가 하는 것과 동일한 작업을 수행합니다. 동일한 네이티브 NT API를 ctypes로 직접 호출합니다 (NtQuerySystemInformation, NtQueryInformationProcess, NtDuplicateObject, SCM API, iphlpapi, WinVerifyTrust, …). 결과는 표 행이 아닌 구조화된 JSON으로 반환됩니다.
설치된 System Informer 애플리케이션은 여전히 두 가지 용도로 사용됩니다:
GUI 핸드오프 — 도구 출력으로 전환되지 않는 실시간 그래프와 대화형 보기를 위한
launch_systeminformer_gui,launch_peviewdbghelp.dll— System Informer와 함께 제공되는 복사본은 프로세스 덤프를 작성합니다.
어느 것도 필수는 아닙니다. System Informer가 설치되어 있지 않아도 모든 검사 및 제어 도구는 여전히 작동합니다. 두 핸드오프 도구만 사용할 수 없게 됩니다.
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가 필요 없게 됩니다.
System Informer가 C:\Program Files\SystemInformer가 아닌 다른 위치에 설치된 경우 SYSTEMINFORMER_PATH를 설정하세요.
권한
무엇이 보이는지는 이 서버가 아니라 Windows가 결정합니다. 완전한 범위를 위해 서버를 **관리자 권한(elevated)**으로 실행하세요 — 언제든지 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가 버그체크를 일으킵니다
launch_process_elevated는 표준 Windows UAC 동의 프롬프트를 통과합니다. 이 서버는 자격 증명을 수락하거나 저장하거나 전송하지 않습니다. 다른 사용자로 프로세스를 실행하려면 System Informer GUI의 Run As 대화상자를 사용하세요.
정확성에 대한 메모
잘못 구현하기 쉬운 몇 가지 사항을 여기서 올바르게 처리합니다:
개체 이름은 멈출 수 있습니다. 핸들 이름을 확인하려면 핸들을 복제하고
NtQueryObject를 호출하는데, 이 호출은 응답하지 않는 피어가 있는 동기적 명명된 파이프에서 영원히 차단됩니다. System Informer처럼 이 작업은 타임아웃이 있는 워커 스레드에서 실행됩니다. 응답하지 않는 워커는 재사용하지 않고 폐기하며, 차단된 호출 중에 닫지 않고 의도적으로 핸들을 누출(leak)시킵니다.프로세스 이름은 NUL 종결이 아닙니다.
SYSTEM_PROCESS_INFORMATION에는 명시적인Length가 있습니다. 종결 문자를 찾아서 디코딩하면 문자열을 지나 인접한 데이터를 읽어 버려 짝이 맞지 않는 UTF-16 서로게이트가 생깁니다. 모든 도구 출력은 추가로 정리되어, 다른 프로세스의 잘못된 이름 때문에 응답이 실패하는 일이 없습니다.토큰 구조는 자신의 버퍼에 포인터를 담고 있습니다.
TOKEN_USER와 같은 것들은 복사된bytes가 아닌 라이브 할당 메모리에서 읽어야 합니다.고정 크기 정보 클래스는 과대 버퍼를 거부합니다.
SystemBasicInformation과 프로세서별 테이블은 실행 중인 커널이 요구하는 정확한 크기를 원하며 크기는 Windows 버전마다 다르므로, 먼저 크기를 조회합니다.PID 재사용은 프로세스 트리를 깨뜨릴 수 있습니다. 자식보다 뒤에 "(부모"가 생성된 경우 재활용된 것으로 간주하고, 자식은 루트에 있는 것으로 보고합니다.
테스트
python tests/test_e2e.py실제 MCP stdio 전송으로 서버를 시작하고, 모든 그룹에서 도구를 하나씩 호출하며, 실제 프로세스 전체를 라운드트립합니다: 실행 → 검사 → 일시 중단 → 재개 → 덤프 → 종료. 또한 보호된 각 도구가 confirm=true 없이는 동작하지 않는다는 것을 검증합니다. 44개의 검사입니다.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceExposes 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.
- AlicenseNot gradedqualityAmaintenanceEnables 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.MIT
- AlicenseNot gradedqualityCmaintenanceEnables 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.1MIT
- AlicenseNot gradedqualityCmaintenanceEnables remote execution of commands, file operations, screenshots, and clipboard access on Windows machines through MCP tools.1MIT
Related MCP Connectors
2,000+ MCP servers read at source level. Know what one does before you connect. Free, no key.
Security scanner for MCP servers. Detect vulnerabilities, prompt injection, and tool poisoning.
Remote MCP for tool license checks, vendor policy review, alternatives, and license receipts.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/inflearner0/SystemInformer-MCP-Server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server