MCP Datadog 服务器
全面且强大的MCP(模型上下文协议)服务器,用于与Datadog API集成
一个提供生产环境的MCP服务器 351个工具 为了通过大型语言模型(LLMs)与Datadog的所有API进行交互,包括完整的CRUD操作、精选工具以及根据模式自动生成的工具。
](https://nodejs.org/)  
🚀 表情符号“🚀”通常被用来表示火箭、航天器或快速上升/前进的概念,也可以用来表达兴奋、期待或强烈的愿望。在中文中,它并没有一个固定的翻译,但可以根据上下文将其意译为“火箭”、“航天器”或“快速前进”等。 主要特点
📊 可用工具(共351个)
- 9个精选工具 🎯 - 精心手工打造,针对特定案例优化
- 25个工具的增删改查(CRUD) ⚡ - 对主要资源的创建(CREATE)、读取(READ)、更新(UPDATE)、删除(DELETE)操作
- 319个生成的工具 🔧 - 自动从Datadog官方架构生成
🔍 高级资源
- ✅ 模式的自我发现 - 大型语言模型(LLMs)自动发现参数
- ✅ “Validação Robusta”翻译成中文是“鲁棒性验证”或“强健性验证”。 - 带有完整验证的Zod模式
- ✅ 进度跟踪 - 长时间操作的实时监控
- ✅ 错误处理 - 智能错误处理和自动重试
- ✅ CLI Rica(注:CLI通常指命令行界面,但“Rica”在此处可能是一个特定名称或品牌,没有直接的中文对应,因此保持原样) - 完整的界面用于管理和调试
🛡️ MCP合规性
- ✅ 100% 兼容 使用官方TypeScript SDK
- ✅ JSON Schema(JSON架构) 为所有工具提供完整支持
- ✅(勾选标记,表示正确、确认或完成) 元数据注释 详细的
- ✅ 类型安全 使用Zod进行验证
📦 箱子/包裹 安装
要求
- Node.js 18及以上版本
- Datadog的API密钥(API密钥+应用程序密钥)
通过npm安装
npm install -g mcp-datadog-server本地安装
git clone https://github.com/ClaudioLazaro/mcp-datadog-server.git
cd mcp-datadog-server
npm install⚙️(齿轮符号,常用于表示机械、设置或调节等含义) 配置
1. 环境变量
必修的
DD_API_KEY=your_api_key # Chave da API Datadog
DD_APP_KEY=your_app_key # Chave da aplicação Datadog可选配件/选项
DD_SITE=datadoghq.com # Site Datadog (padrão: datadoghq.com)
DD_SUBDOMAIN=api # Subdomínio (padrão: api)
MCP_DD_FOLDERS=Dashboards,Logs # Categorias permitidas (padrão: todas)
MCP_DD_SCHEMA_PATH=./schema.json # Caminho do schema (padrão: incluído)
MCP_DD_MAX_RETRIES=3 # Máximo de tentativas (padrão: 3)
MCP_DD_RETRY_BASE_MS=1000 # Base para retry em ms (padrão: 1000)
MCP_DD_TIMEOUT_MS=30000 # Timeout das requisições (padrão: 30000)
MCP_DD_USER_AGENT=mcp-datadog # User agent customizado2. .env 文件(推荐)
# .env
DD_SITE=\"us3.datadoghq.com\"
DD_API_KEY=\"xxxxxxxxxxxxxxxxxxxxxxxx\"
DD_APP_KEY=\"xxxxxxxxxxxxxxxxxxxxxxxxxxxx\"
MCP_DD_FOLDERS=\"Dashboards,Monitors,Logs\"3. 受支持的Datadog站点
datadoghq.com(US1) 翻译为中文是:(美国1) 或者根据上下文,也可以翻译为“(美版1)”等,具体取决于“US1”在此处的具体含义和用途datadoghq.eu(欧盟)us3.datadoghq.com(US3)us5.datadoghq.com(美国5号)ap1.datadoghq.com(AP1)ddog-gov.com(美国政府)
🎮 表示电子游戏或视频游戏的符号,可简单翻译为“电子游戏”或“视频游戏”。 使用
MCP服务器(标准版)
# Iniciar servidor MCP
mcp-datadog-server serve
# ou
npm start
# Com filtros
mcp-datadog-server serve --folders=Dashboards,Monitors命令行界面(CLI)
列出工具
# Lista básica
mcp-datadog-server list-tools
# Lista detalhada ordenada
mcp-datadog-server list-tools --detailed
# JSON output
mcp-datadog-server list-tools --json工具检查
# Ver detalhes de uma tool
mcp-datadog-server get-tool create_monitor
# Ver schema completo de uma tool
mcp-datadog-server show-schema create_monitor
# JSON output
mcp-datadog-server show-schema create_monitor --json验证与分析
# Validar configuração
mcp-datadog-server validate
# Analisar schema da API
mcp-datadog-server analyze-schema
# Ajuda
mcp-datadog-server help🔧 修理工具或螺丝刀的符号,常用于表示需要修理或调整的物品或情境。 可用的CRUD工具
⚡ 监控器(5次操作)
create_monitor # Criar novo monitor
get_monitor # Obter monitor por ID
update_monitor # Atualizar monitor existente
delete_monitor # Deletar monitor
list_monitor # Listar todos os monitors📊 仪表板(5个操作)
create_dashboard # Criar novo dashboard
get_dashboard # Obter dashboard por ID
update_dashboard # Atualizar dashboard existente
delete_dashboard # Deletar dashboard
list_dashboard # Listar todos os dashboards⏰ 停机时间(5次操作)
create_downtime # Agendar downtime
get_downtime # Obter downtime por ID
update_downtime # Atualizar downtime
delete_downtime # Cancelar downtime
list_downtime # Listar todos os downtimes👥 用户(5笔操作)
create_user # Criar usuário
get_user # Obter usuário por ID
update_user # Atualizar usuário
delete_user # Deletar usuário
list_user # Listar todos os usuários🏗️ 团队(5个操作)
create_team # Criar equipe
get_team # Obter equipe por ID
update_team # Atualizar equipe
delete_team # Deletar equipe
list_team # Listar todas as equipes📋(清单/待办事项列表) 大语言模型如何发现参数
🔍 自动发现
大语言模型(LLM) 不需要知道 提前设定参数。通过MCP协议,它:
- Lista 所有可用的工具
- 获得 每个工具的完整JSON Schema架构
- 明白 所有参数、类型和验证
- 建造 自动有效的呼叫
📄 示例架构 - create_monitor
{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Monitor name"
},
"type": {
"type": "string",
"enum": ["metric alert", "service check", "event alert", "query alert", "composite", "log alert"],
"description": "Monitor type"
},
"query": {
"type": "string",
"description": "Monitor query"
},
"message": {
"type": "string",
"description": "Notification message"
},
"tags": {
"type": "array",
"items": {"type": "string"},
"description": "Monitor tags"
},
"priority": {
"type": "number",
"minimum": 1,
"maximum": 5,
"description": "Priority (1-5)"
},
"options": {
"type": "object",
"properties": {
"thresholds": {
"type": "object",
"properties": {
"critical": {"type": "number"},
"warning": {"type": "number"},
"ok": {"type": "number"}
}
},
"notify_audit": {"type": "boolean"},
"require_full_window": {"type": "boolean"}
}
}
},
"required": ["name", "type", "query"]
}🎯 LLM使用示例
用户输入:
“创建一个监控器,当CPU使用率超过90%时发出警报”
大型语言模型(LLM)的自动调用:
await use_tool("create_monitor", {
"name": "High CPU Usage Alert",
"type": "metric alert",
"query": "avg(last_5m):avg:system.cpu.user{*} > 0.9",
"message": "CPU usage is high! Please investigate @ops-team",
"tags": ["alert", "cpu", "infrastructure"],
"priority": 3,
"options": {
"thresholds": {
"critical": 0.9,
"warning": 0.8
},
"notify_audit": true,
"require_full_window": false
}
})大语言模型(LLM)自动地:
- ✅ 发现了所有可用参数
- ✅ 填写了必填字段(名称、类型、查询)
- ✅ 添加了相关的可选字段
- ✅ 构建了复杂对象(options.thresholds)
- ✅ 验证了类型和约束条件
🎯(瞄准靶心) 特殊精选工具
🎯 仪表板
list_dashboards # Lista com filtros avançados e paginação🎯 日志
search_logs # Busca avançada de logs com filtros🎯 指标
query_metrics # Query de métricas timeseries🎯 事件
manage_incidents # Gerenciamento completo de incidentes🎯 合成材料
manage_synthetics # Testes sintéticos completos🏗️ 代表“建筑工地”或“正在建造中”的意思。 与大型语言模型(LLMs)的集成
Claude Desktop(推荐)
添加到Claude的配置文件中:
{
"mcpServers": {
"datadog": {
"command": "mcp-datadog-server",
"args": ["serve"],
"env": {
"DD_API_KEY": "your_api_key",
"DD_APP_KEY": "your_app_key",
"DD_SITE": "datadoghq.com"
}
}
}
}通过 npx(全局)
{
"mcpServers": {
"datadog": {
"command": "npx",
"args": ["-y", "mcp-datadog-server", "serve"],
"env": {
"DD_API_KEY": "your_api_key",
"DD_APP_KEY": "your_app_key"
}
}
}
}本地开发
{
"mcpServers": {
"datadog": {
"command": "node",
"args": ["/path/to/mcp-datadog-server/src/index.js", "serve"],
"env": {
"DD_API_KEY": "your_api_key",
"DD_APP_KEY": "your_app_key"
}
}
}
}🛠️(扳手或工具的符号,可意译为“工具”或根据上下文具体翻译) 发展
可用脚本
npm test # Executar testes
npm run serve # Iniciar servidor
npm run list-tools # Listar tools
npm run validate # Validar configuração
npm run analyze-schema # Analisar schema da APIMakefile
make install # Instalar dependências
make start # Iniciar servidor
make test # Executar testes
make list-tools # Listar tools
make validate # Validar configuração项目结构
src/
├── index.js # CLI principal
├── server.js # Servidor MCP principal
├── core/
│ ├── config.js # Sistema de configuração
│ ├── http-client.js # Cliente HTTP com retry
│ ├── schema-parser.js # Parser do schema Datadog
│ └── validation.js # Validações robustas
└── tools/
├── core-tools.js # Ferramentas base
├── curated-tools.js # Tools curadas otimizadas
└── crud-tools.js # Tools CRUD automáticas🔍(放大镜图标,通常表示搜索、查看细节或调查的意思) 调试与故障排除
检查已加载的工具
# Ver resumo
mcp-datadog-server list-tools
# Ver lista completa ordenada
mcp-datadog-server list-tools --detailed
# Ver schema de uma tool específica
mcp-datadog-server show-schema create_monitor验证配置
# Validar tudo
mcp-datadog-server validate
# Ver configuração resumida
mcp-datadog-server validate --json测试连接性
# Analisar schema carregado
mcp-datadog-server analyze-schema
# Testar servidor básico
timeout 5s mcp-datadog-server serve日志记录与调试
# O servidor gera logs estruturados:
[2025-01-20T10:30:00.000Z] [INFO] Starting server with config: {...}
[2025-01-20T10:30:01.000Z] [INFO] Registered 9 curated tools
[2025-01-20T10:30:02.000Z] [INFO] Registered 25 CRUD tools
[2025-01-20T10:30:03.000Z] [INFO] Registered 319 generated tools
[2025-01-20T10:30:04.000Z] [INFO] Registered 351 tools total🚨(警报/紧急情况) 常见问题解决方案
1. "工具未找到"
# Verificar se a tool existe
mcp-datadog-server list-tools --detailed | grep nome_da_tool
# Ver todas as categorias disponíveis
mcp-datadog-server analyze-schema2. “无效的API密钥”
# Validar credenciais
mcp-datadog-server validate
# Verificar variáveis de ambiente
echo $DD_API_KEY
echo $DD_APP_KEY3. “模式未加载”
# Verificar se o schema existe
mcp-datadog-server analyze-schema
# Forçar recarregamento
rm -f datadog-api-collection-schema.json
mcp-datadog-server serve4. “工具繁多”
# Filtrar apenas categorias necessárias
export MCP_DD_FOLDERS="Dashboards,Monitors,Logs"
mcp-datadog-server list-tools📈 上涨趋势或增长图表 性能与局限性
速率限制
- ✅ 自动的 - 尊重头部信息(或:遵循头部设置)
retry-after - ✅ 可配置的 - 通过(某种方式)调整
MCP_DD_MAX_RETRIES - ✅ 聪明 - 指数退避
超时
- ✅ “Padrão”在中文中可以翻译为“模式”或“样板”,具体取决于上下文。如果是指一种设计或结构上的模式,通常翻译为“模式”;如果是指一个具体的、可作为参考的样本或模型,则翻译为“样板”。每请求30秒
- ✅ 可配置的 via(在中文中,这个词通常不直接翻译,但在描述路径或方式时,可以理解为“通过”、“经由”或“以……方式”)
MCP_DD_TIMEOUT_MS - ✅ 进度跟踪 用于长时间操作
内存使用情况
- ✅ 优化过的 - 初始化时加载一次模式
- ✅ 流媒体传输 - 不在内存中保留大型响应
- ✅ 过滤器 - 使用
MCP_DD_FOLDERS以减少足迹(或碳足迹)
🔐(锁形符号,常用于表示保密、安全或需要密码保护的内容) 安全
凭据;身份证明
- ✅ 仅环境 - 仅通过环境变量获取密钥
- ✅ 不记录日志 - 凭证从不显示在日志中
- ✅ 验证 - 在初始化时验证密钥格式
网络
- ✅ 仅支持TLS - 所有调用均通过HTTPS进行
- ✅ 公司代表(或代理) - 通过(某种方式/渠道)支持
NODE_EXTRA_CA_CERTS - ✅(对号,表示正确、同意或确认) 头部安全 - 用户代理(User-Agent)和适当的头部(headers)
输入验证
- ✅ Zod 模式(或 Zod Schema) - 严格的入厂验证
- ✅ 消毒 - 输入自动清理
- ✅ 类型安全 - TypeScript + 运行时验证
📊(表格图标,无具体文字含义,可表示数据、统计等信息) 监控
健康检查
# Status do servidor
mcp-datadog-server validate
# Análise das tools
mcp-datadog-server list-tools --json | jq '.total'可用指标
- ✅ 工具计数 - 已加载工具总数
- ✅ API 调用 - 使用工具追踪通话
- ✅ 错误率 - 按类别划分的错误率
- ✅ 响应时间 - 平均响应时间
🎓 毕业帽(表示毕业或学位) 实际示例
创建CPU监控器
LLM可以自动执行:
await use_tool("create_monitor", {
name: "High CPU Alert",
type: "metric alert",
query: "avg(last_5m):avg:system.cpu.user{*} > 0.9",
message: "CPU high @ops-team"
});列出过滤后的仪表板
await use_tool("list_dashboard", {
filter_shared: false,
count: 50
});安排维护停机时间
await use_tool("create_downtime", {
scope: ["host:web-server-01"],
start: Math.floor(Date.now() / 1000),
end: Math.floor(Date.now() / 1000) + 3600,
message: "Planned maintenance window"
});📚 书籍 附加文件
- 🔍 SCHEMA_DISCOVERY.md(模式发现文档) - 大语言模型(LLM)如何发现参数
- 📋 重构检查点.md - 重构历史
- ⚙️ 工具.md - 工具的完整文档
🤝(握手,表示友好、合作或达成协议) 贡献
报告错误
# Gerar relatório de debug
mcp-datadog-server validate --json > debug-info.json
mcp-datadog-server list-tools --json >> debug-info.json添加精选工具
- 编辑
src/tools/curated-tools.js - 添加完整的Zod模式
- 实现函数
execute - 用(某物)测试
npm test
改进CRUD工具
- 编辑
src/tools/crud-tools.js - 为……添加新功能
DATADOG_RESOURCES - 定义模式和操作
- 测试所有CRUD操作
📝(笔记或记录的符号) 更新日志
v0.3.0 - 当前
- ✅ 351个工具 (9个治愈 + 25个原始未处理 + 319个生成)
- ✅ 完整的CRUD功能 主要资源
- ✅ 自动发现模式 通过MCP(多路复用通信协议/模块等,具体含义根据上下文确定)
- ✅ 进度跟踪 对于长期操作
- ✅ “CLI rica”可以翻译为“丰富的命令行界面(功能/特性)”。不过,这个短语并不是一个标准的或常见的表达,可能是某个特定上下文或领域内的术语。在常规翻译中,我们可能会根据上下文将其意译为更符合中文表达习惯的说法,比如“强大的命令行工具”或“丰富的命令行功能”,具体取决于“CLI rica”所指的具体内容。但如果没有更多上下文,直接翻译为“丰富的命令行界面”是一个较为通用的译法 使用调试命令
- ✅ 表示“正确”或“已确认”。 100%合规 带有MCP标准
v0.2.x - 上一个
- ✅ 完整重构架构
- ✅ 使用Zod进行强大的验证
- ✅ 带自动重试功能的HTTP客户端
- ✅ 简洁的配置系统
📄(文件/纸张) 许可证
Apache许可证2.0 - 查看 许可证 以获取详细信息。
🙏(合十,表示祈祷、感谢或尊敬) 致谢
- 模型上下文协议 - 框架基础
- Datadog(直接音译,无特定中文含义,通常保持原名) - APIs(应用程序编程接口)和文档
- 佐德 - 模式验证
- 十一(在意大利语中“Undici”意为“十一”,中文直接对应即为“十一”) - HTTP客户端
______________________________________________________________________
🎉 准备好与任何兼容MCP的LLM一起使用了!
如需支持和讨论,请参阅 问题 (从)仓库中(取出)。
