Skip to main content
Glama
sid-stack001

DevContext

by sid-stack001

DevContext

Python MCP License: MIT

DevContext — это прототип сервера Model Context Protocol (MCP) и CLI-инструмент, который предоставляет ИИ-ассистентам и инженерам данные о наблюдаемости рантайма (логи, деплои и метрики здоровья) для помощи в разборе инцидентов.


Обзор

ИИ-ассистенты могут просматривать исходный код репозиториев и предлагать исправления, но часто не видят, что происходит во время инцидентов в рантайме (например, недавние деплои, всплески частоты ошибок, переполнение диска или сбои внешних API). DevContext — это экспериментальный инструмент, который открывает контекст рантайма через интерфейс командной строки (CLI) и стандартные вызовы инструментов MCP.


Related MCP server: AI Incident Monitoring RCA MCP Server

Команды CLI и инструмента

DevContext можно запускать напрямую из командной строки или регистрировать как MCP-сервер.

1. devcontext diagnose

Запускает автоматический разбор инцидентов на встроенных наборах данных или пользовательских файлах/папках:

# Diagnose built-in service dataset
devcontext diagnose --service order-processing

# Output raw JSON format
devcontext diagnose --service order-processing --json

# Point at custom log, deploy, and health paths (files or log directories)
devcontext diagnose --log-path /var/log/app/ --deploys-path deploys.json --health-path health.json

# Enable experimental Groq LLM extraction
devcontext diagnose --service order-processing --use-llm

2. devcontext serve

Запускает stdio MCP-сервер для подключения к MCP-хостам (например, Claude Desktop, Antigravity):

devcontext serve

Варианты разбора логов

  1. Детерминированный парсер (parser.py): использует эвристики для выборки строк логов и попытки сопоставления структуры (JSON-lines, CSV, пары ключ-значение или временные метки в скобках с разделителями по пробелу).

    • Ограничение: лучше всего подходит для простых однострочных логов. Сложные многострочные трассировки стека или нестандартные кастомные форматы могут выполнять откат к базовому сопоставлению строк.

  2. Экспериментальная LLM-экстракция (extraction.py): опционально отправляет фрагменты логов в API Groq (response_format={"type": "json_object"}) для извлечения структурированных объектов событий.

    • Ограничение: добавляет задержку API (~200–400 мс) и расходы на токены; при отсутствии API-ключа или по тайм-ауту выполняется откат к детерминированному парсеру.


Варианты источников данных

  • Встроенные демонстрационные данные: передайте имя сервиса (например, service_name="order-processing"), чтобы запросить встроенные демонстрационные данные.

  • Пользовательские пути к файлам или папкам:

    • log_path: путь к одному файлу лога или папке с разделёнными файлами .log / .txt.

    • deploys_path: путь к пользовательскому файлу deploys.json.

    • health_path: путь к пользовательскому файлу health.json.


Оценка и тестовые сценарии

Репозиторий содержит оценочный стенд (eval.py), протестированный на 5 синтетических тестовых сценариях:

Сценарий

Сервис

Тип сценария

Ожидаемый результат

Итог

scenario_1_bad_deploy

payment-service

Снижение лимитов ресурсов

Определить деплой f8a1c92

Пройден

scenario_2_disk_full

storage-service

Переполнение диска (без недавнего деплоя)

Определить переполнение диска (98%)

Пройден

scenario_3_memory_leak

analytics-worker

Утечка памяти / OOM

Определить насыщение памяти (97%)

Пройден

scenario_4_downstream_outage

notification-service

Сбой внешнего API

Определить ошибки SendGrid 503

Пройден

scenario_5_bad_migration

user-service

Неудачная миграция базы данных

Определить деплой d4e912f

Пройден

Ограничения и область применения

  • Небольшой набор тестов: этот оценочный набор содержит 5 синтетических тестовых сценариев для валидации. Это не полная производственная эталонная база.

  • Эвристическое сопоставление: функция diagnose() использует простые правила (например, проверку, произошёл ли деплой в течение 10 минут после первой ошибки). Реальные иниценты инфраструктуры часто сложнее и могут включать несколько взаимодествующих факторов.


Архитектура

┌─────────────────────────────────────────────────────────┐
│              CLI / MCP Clients                          │
│     (devcontext CLI / Claude Desktop / Antigravity)     │
└───────────────────────────┬─────────────────────────────┘
                            │ CLI Args / stdio JSON-RPC
┌───────────────────────────▼─────────────────────────────┐
│              DevContext Entry Point                     │
│               (cli.py / server.py)                      │
└───────────────────────────┬─────────────────────────────┘
                            │
┌───────────────────────────▼─────────────────────────────┐
│                 Diagnostic Core (tools.py)               │
└───────┬───────────────────┬─────────────────────┬───────┘
        │                   │                     │
┌───────▼───────────┐ ┌─────▼─────────────┐ ┌─────▼─────────────┐
│ Structure Parser  │ │ Deployment Engine │ │ Health Observer   │
│   (parser.py)     │ │ (deploys.json)    │ │ (health.json)     │
└───────┬───────────┘ └───────────────────┘ └───────────────────┘
        │
┌───────┴─────────────────────────────────────────┐
│  Groq API (Optional LLM log extraction)         │
└─────────────────────────────────────────────────┘

Быстрый старт и настройка

1. Установка

git clone https://github.com/your-username/devcontext.git
cd devcontext
pip install -e .

2. Диагностика сервиса через CLI

devcontext diagnose --service order-processing

3. Регистрация в качестве MCP-сервера (Claude Desktop)

Добавьте DevContext в ваш файл claude_desktop_config.json:

{
  "mcpServers": {
    "devcontext": {
      "command": "devcontext",
      "args": [
        "serve"
      ]
    }
  }
}

4. Запуск оценочного набора

python eval.py

5. Необязательная настройка API-ключа

Скопируйте .env.example в .env, если вы используете Groq для экспериментальной LLM-экстракции данных:

cp .env.example .env

Зависимости и требования

  • Python 3.10+

  • mcp (Model Context Protocol SDK)

  • groq (Опционально, для LLM-экстрабликации)


Будущие расширения

  • Подключаемые адаптеры: подключение напрямую к API CloudWatch, Datadog, Grafana Loki или Prometheus.

  • Вероятностные оценки достоверности: вывод распределения вероятностей корневой причины (например, 95% confidence: bad deploy) вместо одной детерминированной строки.

  • Автоматические предложения отката: создание проверенных git revert-коммитов или спецификаций патчей Kubernetes вместе с диагностикой.


Лицензия

Распространяется по лицензии MIT.

A
license - permissive license
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

  • F
    license
    Not graded
    quality
    B
    maintenance
    Provides telemetry tools for retrieving recent logs and system metrics to support root-cause analysis of infrastructure incidents. Enables autonomous incident triage with grounded verification and human-in-the-loop remediation.
    1
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to investigate production incidents by exposing service health, logs, and deployment data through MCP tools.
    8

View all related MCP servers

Related MCP Connectors

View all MCP Connectors

Latest Blog Posts

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/sid-stack001/devcontext'

If you have feedback or need assistance with the MCP directory API, please join our Discord server