Skip to main content
Glama
didlawowo
by didlawowo

Протокол контекста модели Datadog (MCP) 🔍

значок кузнеца

Инструмент на основе Python для взаимодействия с API Datadog и извлечения данных мониторинга из вашей инфраструктуры. Этот MCP обеспечивает легкий доступ к состояниям мониторинга и журналам Kubernetes через простой интерфейс.

Возможности Datadog 🌟

  • Отслеживание состояния монитора : выборка и анализ определенных состояний монитора.

  • Анализ журналов Kubernetes : извлечение и форматирование журналов ошибок из кластеров Kubernetes

Related MCP server: MongoDB MCP Server

Предварительные условия 📋

  • Питон 3.11+

  • API Datadog и ключи приложений (с правильными разрешениями)

  • Доступ к сайту Datadog

Установка 🔧

Установка через Smithery

Чтобы установить Datadog для Claude Desktop автоматически через Smithery :

npx -y @smithery/cli install @didlawowo/mcp-collection --client claude

Необходимые пакеты:

datadog-api-client
fastmcp
loguru
icecream
python-dotenv
uv

Настройка среды 🔑

Создайте файл .env с вашими учетными данными Datadog:

DD_API_KEY=your_api_key
DD_APP_KEY=your_app_key

Настройка Claude Desktop для MCP 🖥️

  1. Установить Клод Десктоп

# Assuming you're on macOS
brew install claude-desktop

# Or download from official website
https://claude.ai/desktop
  1. Настройте конфигурацию Datadog MCP:

# on mac is 
~/Library/Application\ Support/Claude/claude_desktop_config.json


# Add this to your claude config json
```json
    "Datadog-MCP-Server": {
      "command": "uv",
      "args": [
        "run",
        "--with",
        "datadog-api-client",
        "--with",
        "fastmcp",
        "--with",
        "icecream",
        "--with",
        "loguru",
        "--with",
        "python-dotenv",
        "fastmcp",
        "run",
        "/your-path/mcp-collection/datadog/main.py"
      ],
      "env": {
        "DD_API_KEY": "xxxx",
        "DD_APP_KEY": "xxx"
      }
    },

Использование 💻

получить журналы

получить монитор

Архитектура 🏗

  • FastMCP Base : использует фреймворк FastMCP для управления инструментами

  • Модульная конструкция : отдельные функции для мониторов и журналов

  • Безопасность типов : полная поддержка ввода с подсказками типов Python

  • Абстракция API : обернутые вызовы API Datadog с обработкой ошибок

Я добавлю раздел о настройке MCP и Claude Desktop:

Введение в протокол контекста модели (MCP) 🤖

Что такое МКП?

Model Context Protocol (MCP) — это фреймворк, позволяющий моделям ИИ взаимодействовать с внешними инструментами и API стандартизированным образом. Он позволяет таким моделям, как Клод:

  • Доступ к внешним данным

  • Выполнять команды

  • Взаимодействие с API

  • Сохраняйте контекст во время разговоров

некоторые примеры MCP-серверов

https://github.com/punkpeye/awesome-mcp-servers?tab=readme-ov-file

Учебник по настройке MCP

https://medium.com/@pedro.aquino.se/how-to-use-mcp-tools-on-claude-desktop-app-and-automate-your-daily-tasks-1c38e22bc4b0

Как это работает - Доступные функции 🛠️

LLM использует предоставленную функцию для получения данных и их использования

1. Получить состояния монитора

get_monitor_states(
    name: str,           # Monitor name to search
    timeframe: int = 1   # Hours to look back
)

Пример:


response = get_monitor_states(name="traefik")

# Sample Output
{
    "id": "12345678",
    "name": "traefik",
    "status": "OK",
    "query": "avg(last_5m):avg:traefik.response_time{*} > 1000",
    "message": "Response time is too high",
    "type": "metric alert",
    "created": "2024-01-14T10:00:00Z",
    "modified": "2024-01-14T15:30:00Z"
}

2. Получите логи Kubernetes

get_k8s_logs(
    cluster: str,            # Kubernetes cluster name
    timeframe: int = 5,      # Hours to look back
    namespace: str = None    # Optional namespace filter
)

Пример:

logs = get_k8s_logs(
    cluster="prod-cluster",
    timeframe=3,
    namespace="default"
)

# Sample Output
{
    "timestamp": "2024-01-14T22:00:00Z",
    "host": "worker-1",
    "service": "nginx-ingress",
    "pod_name": "nginx-ingress-controller-abc123",
    "namespace": "default",
    "container_name": "controller",
    "message": "Connection refused",
    "status": "error"
}
# Install as MCP extension
cd datadog
task install-mcp

4. Проверка установки

В чате Клода на рабочем столе

проверьте соединение datadog в claude

установка Клода

5. Используйте инструменты Datadog MCP

Вопросы безопасности 🔒

  • Сохраните ключи API в .env

  • MCP работает в изолированной среде

  • Каждый инструмент имеет определенные разрешения.

  • Реализовано ограничение скорости

Устранение неполадок 🔧

Использование MCP-инспектора

# Launch MCP Inspector for debugging
task run-mcp-inspector

Инспектор MCP обеспечивает:

  • Просмотр состояния сервера MCP в реальном времени

  • Журналы вызовов функций

  • Отслеживание ошибок

  • Мониторинг ответа API

Распространенные проблемы и решения

  1. Ошибки аутентификации API

    Error: (403) Forbidden

    ➡️ Проверьте DD_API_KEY и DD_APP_KEY в .env

  2. Проблемы с подключением MCP

    Error: Failed to connect to MCP server

    ➡️ Проверьте путь и содержимое claude_desktop_config.json

  3. Монитор не найден

    Error: No monitor found with name 'xxx'

    ➡️ Проверьте правильность написания имени монитора и чувствительность к регистру

  4. Журналы можно найти здесь

альтернативный текст

Вношу свой вклад 🤝

Не стесняйтесь:

  1. Открытые вопросы по ошибкам

  2. Подавайте PR-заявки на улучшения

  3. Добавить новые функции

Заметки 📝

  • Вызовы API выполняются на сайт Datadog EU.

  • Временной интервал по умолчанию составляет 1 час для состояний монитора.

  • Ограничения на размер страницы установлены для большинства случаев использования.

F
license - not found
-
quality - not tested
C
maintenance

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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/didlawowo/mcp-collection'

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