Skip to main content
Glama
didlawowo
by didlawowo

Datadog 模型上下文协议 (MCP) 🔍

铁匠徽章

一个基于 Python 的工具,用于与 Datadog API 交互并从您的基础架构获取监控数据。此 MCP 通过简单的界面提供对监控状态和 Kubernetes 日志的轻松访问。

Datadog 功能🌟

  • 监控状态跟踪:获取并分析特定的监控状态

  • Kubernetes 日志分析:从 Kubernetes 集群中提取并格式化错误日志

Related MCP server: MongoDB MCP Server

先决条件📋

  • Python 3.11+

  • Datadog API 和应用程序密钥(具有正确的权限)

  • 访问 Datadog 网站

安装🔧

通过 Smithery 安装

要通过Smithery自动为 Claude Desktop 安装 Datadog:

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

所需软件包:

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

环境设置🔑

使用您的 Datadog 凭证创建一个.env文件:

DD_API_KEY=your_api_key
DD_APP_KEY=your_app_key

为 MCP 设置 Claude 桌面设置 🖥️

  1. 安装 Claude Desktop

# 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 抽象:包装 Datadog API 调用并进行错误处理

我将添加有关 MCP 和 Claude Desktop 设置的部分:

模型上下文协议(MCP)简介🤖

什么是 MCP?

模型上下文协议 (MCP) 是一个框架,允许 AI 模型以标准化的方式与外部工具和 API 交互。它使 Claude 等模型能够:

  • 访问外部数据

  • 执行命令

  • 与 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.验证安装

在克劳德的聊天桌面

检查 Claude 中的 Datadog 连接

设置克劳德

5. 使用 Datadog MCP 工具

安全注意事项

  • 将 API 密钥存储在.env

  • MCP 在隔离环境中运行

  • 每个工具都有定义的权限

  • 实施速率限制

故障排除

使用 MCP 检查器

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

MCP 检查器提供:

  • 实时查看MCP服务器状态

  • 函数调用日志

  • 错误追踪

  • API响应监控

常见问题和解决方案

  1. API 身份验证错误

    Error: (403) Forbidden

    ➡️ 检查 .env 中的 DD_API_KEY 和 DD_APP_KEY

  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. 添加新功能

注释📝

  • 对 Datadog EU 站点进行 API 调用

  • 监控状态的默认时间范围为 1 小时

  • 设置页面大小限制以处理大多数用例

-
security - not tested
F
license - not found
-
quality - not tested

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