MCP System Information Server

by sandquattro

Not rated
GitHub

About

An MCP server that provides system information, such as CPU and memory usage.

Details

Author
sandquattro
Categories
Productivity, Infrastructure, Other

Setup

Install MCP System Information Server in your MCP client (Claude Desktop, Cursor, Windsurf, and others).

Repository: https://github.com/sandquattro/system-information-mcp

Follow the installation instructions in the repository README, then restart your MCP client.

An MCP server that provides system information, such as CPU and memory usage.

Model Context Protocol (MCP) сервер для получения системной информации (CPU и память).

https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http

https://levelup.gitconnected.com/mcp-server-and-client-with-sse-the-new-streamable-http-d860850d9d9d

- Получение информации о CPU (количество ядер, модель, загрузка)
- Получение информации о памяти (общая, доступная, используемая)
- Структурированное логгирование с помощью zerolog
- Поддержка двух режимов работы:

- stdio- для интеграции с Cursor в режиме stdio и другими локальными MCP клиентами
- Streamable HTTP- новый протокол согласно спецификации 2025-03-26 на корневом маршруте/
- Legacy HTTP/SSE- для обратной совместимости на маршруте/sse

Сервер использует структурированное логгирование с помощьюzerologс поддержкой следующих переменных окружения:

- LOG_LEVEL- уровень логгирования:trace,debug,info,warn,error,fatal,panic,disabled(по умолчанию:info)
- ENVIRONMENTилиENV- режим окружения:development/devилиproduction/prod(по умолчанию:development)

ENVIRONMENT=development LOG_LEVEL=debug ./system-info-server

- Красивый цветной вывод в консоль
- Читаемые временные метки (HH:MM:SS)
- Подробная информация о файлах и строках кода

ENVIRONMENT=production LOG_LEVEL=info ./system-info-server

- JSON формат для парсинга логами агрегаторами
- RFC3339 временные метки
- Оптимизирован для производительности

# Минимальное логгирование для продакшена ENVIRONMENT=production LOG_LEVEL=error PORT=8080 ./system-info-server # Максимальная детализация для отладки ENVIRONMENT=development LOG_LEVEL=trace ./system-info-server # Стандартная конфигурация для разработки LOG_LEVEL=debug ./system-info-server

Каждое логируемое событие содержит контекстные поля:

- component- компонент системы (main, http, session, mcp, tools, sysinfo, sse, streamable)
- session_id- идентификатор сессии для отслеживания запросов
- method- HTTP метод или RPC метод
- duration- время выполнения операций
- status- HTTP статус код
- error- детали ошибок с контекстом

14:30:25 INF Starting Fiber server component=main port=8080 addr=:8080 14:30:30 INF Request started component=http method=POST path=/ session_id=session_20240614_143030_abc12345 14:30:30 DBG Processing JSON-RPC request component=mcp method=initialize session_id=session_20240614_143030_abc12345
{"level":"info","time":"2024-06-14T14:30:25+03:00","caller":"main.go:65","component":"main","port":"8080","addr":":8080","message":"Starting Fiber server"} {"level":"info","time":"2024-06-14T14:30:30+03:00","caller":"middleware/logging.go:35","component":"http","method":"POST","path":"/","session_id":"session_20240614_143030_abc12345","message":"Request started"}

Запуск в режиме stdio (для Cursor и других локальных MCP клиентов)

{ "mcpServers": { "system-info-local": { "command": "/path/to/system-info-server", "args": [] } } }

Вариант 2: Remote Streamable HTTP (новая спецификация 2025-03-26)

{ "mcpServers": { "system-info-remote": { "url": "https://your-domain.com/" } } }

Вариант 3: Legacy HTTP+SSE (для обратной совместимости)

{ "mcpServers": { "system-info-legacy": { "url": "https://your-domain.com/sse" } } }

При добавлении MCP сервера в n8n укажите:

Legacy формат (для обратной совместимости)

При добавлении MCP сервера в n8n укажите:

- SSE Endpoint:https://your-domain.com/sse

Streamable HTTP API (новая спецификация 2025-03-26)

POST / Content-Type: application/json Accept: application/json, text/event-stream { "jsonrpc": "2.0", "id": 1, "method": "initialize", "params": { "protocolVersion": "2025-03-26", "capabilities": {}, "clientInfo": { "name": "client-name", "version": "1.0.0" } } }

Ответ содержит заголовокMcp-Session-Id, который нужно использовать во всех последующих запросах.

POST / Content-Type: application/json Accept: application/json Mcp-Session-Id: <session-id> { "jsonrpc": "2.0", "id": 2, "method": "tools/list" }
POST / Content-Type: application/json Accept: application/json Mcp-Session-Id: <session-id> { "jsonrpc": "2.0", "id": 3, "method": "tools/call", "params": { "name": "get_system_info", "arguments": {} } }
GET / Accept: text/event-stream Mcp-Session-Id: <session-id>
POST / Content-Type: application/json Accept: text/event-stream Mcp-Session-Id: <session-id> { "jsonrpc": "2.0", "id": 4, "method": "tools/call", "params": { "name": "get_system_info", "arguments": {} } }
DELETE / Mcp-Session-Id: <session-id>

Legacy HTTP API (для обратной совместимости)

POST /sse Content-Type: application/json { "jsonrpc": "2.0", "id": 1, "method": "initialize", "params": { "protocolVersion": "2024-11-05", "capabilities": {}, "clientInfo": { "name": "client-name", "version": "1.0.0" } } }
GET /sse?sessionId=<session-id> Accept: text/event-stream
# HTTP режим docker run -p 8080:8080 -e PORT=8080 mcp-system-info # stdio режим docker run -it mcp-system-info

При развертывании за nginx добавьте в конфигурацию:

# Для нового Streamable HTTP endpoint location / { proxy_pass http://localhost:8080; proxy_http_version 1.1; proxy_set_header Connection ""; proxy_buffering off; proxy_cache off; proxy_set_header X-Accel-Buffering no; proxy_read_timeout 86400; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } # Для Legacy SSE endpoint (обратная совместимость) location /sse { proxy_pass http://localhost:8080/sse; proxy_http_version 1.1; proxy_set_header Connection ""; proxy_buffering off; proxy_cache off; proxy_set_header X-Accel-Buffering no; proxy_read_timeout 86400; }

Streamable HTTP (2025-03-26) vs Legacy HTTP+SSE (2024-11-05)

- Единый endpoint для всех операций
- POST и GET методы на одном маршруте
- ПоддержкаAccept: application/json, text/event-stream
- Session Management черезMcp-Session-Idзаголовок
- Resumable streams сLast-Event-Id
- DELETE для явного завершения сессии

- Отдельные endpoints для POST и SSE
- Событиеendpointпри подключении к SSE
- ПараметрsessionIdв query string
- Старый формат событий SSE

The nginx of MCP — drop-in resilience middleware for any MCP server.

The IBM Instana MCP server enables seamless interaction with the IBM Instana observability platform, allowing you to access real-time observability data directly within your development workflow.

Redis diagnostics MCP server — analyze memory usage, slowlog patterns, client connections, and keyspace health with AI-powered recommendations. Lightweight npx install, no Docker required.

A cross-platform server for real-time monitoring of CPU, GPU, memory, disk, network, and process information.

Provides real-time system information and metrics, including CPU, memory, disk, network, and process status.

Real-time system monitoring MCP server built with Python and FastMCP - exposes CPU, memory, disk, and process metrics to any MCP-compatible AI client.

MCP servers for managing homelab infrastructure through Claude Desktop. Monitor Docker/Podman containers, Ollama AI models, Pi-hole DNS, Unifi networks, and Ansible inventory.

Manage and monitor homelab systems via SSH.

Provides JMX monitoring and management capabilities for AI assistants. Requires Java 17+.

Connect to Netdata MCP using Claude desktop

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.