MCP System Information Server
An MCP server that provides system information, such as CPU and memory usage.
MCP System Information Server
Model Context Protocol (MCP) сервер для получения системной информации (CPU и память).
Спецификация
https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http
Reference
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)
Режимы логгирования
Режим разработки (development)
ENVIRONMENT=development LOG_LEVEL=debug ./system-info-server
- Красивый цветной вывод в консоль
- Читаемые временные метки (HH:MM:SS)
- Подробная информация о файлах и строках кода
Режим продакшена (production)
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
Пример лога в JSON формате (продакшен):
{"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"}
Установка и запуск
Сборка из исходников
go build -o system-info-server .
Запуск в режиме stdio (для Cursor и других локальных MCP клиентов)
./system-info-server
Запуск в режиме HTTP сервера
PORT=8080 ./system-info-server
Интеграция с Cursor
Добавьте в файл ~/.cursor/mcp.json:
Вариант 1: Локальный stdio сервер
{
"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"
}
}
}
Интеграция с n8n
Новый формат (Streamable HTTP)
При добавлении MCP сервера в n8n укажите:
- MCP Endpoint:
https://your-domain.com/
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": {}
}
}
SSE поток (Streamable HTTP)
GET /
Accept: text/event-stream
Mcp-Session-Id: <session-id>
POST с SSE ответом
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"
}
}
}
SSE подключение (Legacy)
GET /sse?sessionId=<session-id>
Accept: text/event-stream
Docker
Сборка образа
docker build -t mcp-system-info .
Запуск контейнера
# HTTP режим
docker run -p 8080:8080 -e PORT=8080 mcp-system-info
# stdio режим
docker run -it mcp-system-info
Docker Compose
docker-compose up -d
Развертывание на сервере
При развертывании за 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 для явного завершения сессии
Legacy спецификация (/sse):
- Отдельные endpoints для POST и SSE
- Событие
endpointпри подключении к SSE - Параметр
sessionIdв query string - Старый формат событий SSE
Лицензия
MIT
İlgili Sunucular
Dialogoi
An MCP server designed to assist with novel writing, configurable via JSON project files.
Tachikoma Router Management MCP
Manage various router types using natural language. Requires router credentials to be configured.
DalexorMI
Dalexor MI is an advanced project memory system designed to provide AI coding assistants with **Contextual Persistence**. Unlike standard RAG (Retrieval-Augmented Generation) systems that perform surface-level keyword searches, Dalexor MI maps the **logical evolution** of a codebase, tracking how symbols, dependencies, and architectural decisions shift over time.
Canvas MCP Server
An MCP server for interacting with the Canvas LMS API.
DifyWorkflow
Tools to the query and execute of Dify workflows
AnkiConnect
AnkiConnect MCP server for interacting with Anki via AnkiConnect.
Godspeed MCP
Manage tasks and projects with the Godspeed Task Management API.
MCP Voice Assistant
A voice-enabled AI personal assistant that integrates multiple tools and services through natural voice interactions using MCP.
Roam Research
Connects AI assistants to your Roam Research graph for data access and interaction.
Attendee MCP Server
An MCP server for managing Attendee meeting bots, requiring a running Attendee backend service.