mcpField
N
New Relic MCP Server

New Relic MCP Server

本地服务
github.com云与基础设施017 周前更新

关于 New Relic MCP Server

New Relic MCP Server 是可自托管的桥接服务,让 MCP 客户端查询 New Relic 可观测性数据及选定管理 API。它使用范围固定的 NerdGraph 操作集,默认只读,写入须经试运行和确认。

主要功能

  1. 01NRQL、日志、指标、追踪和错误
  2. 02警报、事件、仪表板与服务级别
  3. 03可选工具集和管理 API
  4. 04默认只读,写入受控
  5. 05Bearer 或 OIDC 身份验证及允许列表
  6. 06Prometheus 使用情况和上游指标

适用场景

  1. 01调查服务延迟和错误
  2. 02检查警报、事件与 SLO 状态
  3. 03分析日志和合成监控器故障
  4. 04在受控网络中访问 New Relic

MCP 相关

通过 stdio 或 Streamable HTTP 向 MCP 客户端提供类型化的 New Relic 工具、资源和静态提示词。服务连接 NerdGraph,HTTP 部署支持 Bearer 或 OIDC 身份验证。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"meet-bhalodiya-newrelic": {
"command": "npx",
"args": [
"-y",
"@meet-bhalodiya/newrelic-mcp"
],
"env": {
"NEW_RELIC_API_KEY": "<NEW_RELIC_API_KEY>",
"NEW_RELIC_REGION": "<NEW_RELIC_REGION>",
"NEW_RELIC_DEFAULT_ACCOUNT_ID": "<NEW_RELIC_DEFAULT_ACCOUNT_ID>",
"NEW_RELIC_ACCOUNT_ALLOWLIST": "<NEW_RELIC_ACCOUNT_ALLOWLIST>"
}
}
}
}
启动命令npx -y @meet-bhalodiya/newrelic-mcp
需要配置的环境变量
NEW_RELIC_API_KEY密钥New Relic user key. Create a dedicated least-privilege key.
NEW_RELIC_REGIONNew Relic data region: US, EU, or JP.
NEW_RELIC_DEFAULT_ACCOUNT_IDOptional default account ID used when a tool omits accountId.
NEW_RELIC_ACCOUNT_ALLOWLISTOptional comma-separated account IDs this deployment may access.

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@meet-bhalodiya/newrelic-mcp1.0.0

工具

39

收录的工具列表 · 更新于 2 周前

此工具无需参数。

详细介绍

New Relic MCP Server

CI License: Apache-2.0 Node.js

安全地将 AI 助手连接到 New Relic。

一款面向生产环境、可自托管的 Model Context Protocol (MCP)服务,为 Claude、Cursor、Codex 和其他 MCP 客户端提供对 NRQL、日志、指标、追踪、错误、实体、告警、 事件、仪表板、合成监控、工作负载、服务级别和部分管理 API 的类型化访问,默认只读—— 全部通过 New Relic 的 NerdGraph 实现。

它不会暴露任意 GraphQL,不会将客户端凭据转发给 New Relic,也不会接受作为工具参数传入的 New Relic 密钥。除非明确启用相应的功能开关,否则不会提供任何变更操作;每次写入都必须经过试运行、 确认短语和写入后回读流程。

亮点

  • 🔒 默认安全 — 开箱即用为只读;写入功能需主动启用并通过功能开关控制,执行流程为试运行 → 确认短语 → 写入后回读。
  • 🧱 受限的 API 范围 — 固定且有文档说明的 NerdGraph 操作集;不支持任意 GraphQL,也不会将凭据作为工具参数传入。
  • 🔌 适用于任何 MCP 客户端 — 支持 Claude Code、Claude Desktop、Cursor、Codex 等,可通过 stdio 或无状态 Streamable HTTP 连接。
  • 📈 内置使用情况遥测 — 提供 Prometheus /metrics 端点,记录每个工具的调用次数、耗时和结果,以及上游 NerdGraph、队列深度、重试、速率限制和缓存指标。
  • 🏢 满足企业需求 — 支持 bearer/OIDC 身份验证、Host/Origin 允许列表、账户允许列表、密钥和 PII 脱敏、Docker 和 Helm。
  • 🧰 覆盖范围广 — 可独立选择用于 NRQL、实体、告警、仪表板、合成监控、工作负载、服务级别、日志和指标的工具集。
  • 📚 文档完善,测试全面 — 提供架构文档、ADR,以及单元、集成、合约、安全和负载测试套件;CI 会在每次变更时运行这些测试。

可以询问什么

连接后,可以用自然语言向 MCP 客户端提问——客户端会为你选择并调用合适的只读工具:

  • “过去一小时,结账服务中最慢的事务有哪些?”
  • “总结支付团队尚未解决的事件及其可能原因。”
  • “本周哪些服务级别有未达到目标的风险?”
  • “检查我的告警策略,并指出覆盖缺口。”
  • “登录合成监控为何在夜间失败?”

完整功能列表请参阅工具目录。

为什么选择此 MCP?

New Relic 提供官方的、托管于 New Relic 的 MCP 服务 (New Relic AI MCP,目前 处于预览阶段)。本项目是一个互补的、可自托管且开源的 替代方案。以下情况适合选择它:

  • 自托管和控制权 — 在自己的网络内运行 MCP 桥接服务,并使用自己的 凭据;只有出站 NerdGraph 调用会离开你的网络边界。(New Relic 的预览版 不面向受 FedRAMP 监管的账户提供。)
  • 默认只读,写入需通过门控 — 每项变更操作都需主动启用,并遵循 dry-run → 确认短语 → 回读流程。
  • 固定且可审计的操作范围 — 一组有文档记录的 NerdGraph 操作, 不支持任意 GraphQL,也不会将 New Relic 密钥作为工具参数传递。
  • 自定义控制措施 — bearer/OIDC 身份验证、Host/Origin 和账户允许列表、机密 信息脱敏,以及可独立选择的工具集。
  • 一流的遥测能力 — 提供用于工具使用情况和上游调用的 Prometheus 指标, 可抓取到现有的可观测性技术栈中。
  • Apache-2.0 许可且可分叉 — 检查、固定版本并扩展实际部署的内容。

如果你更需要零运维、由 New Relic 管理并集成 New Relic AI 的体验,官方服务 可能更适合你。本项目以自托管、控制权和可审计性换取便利性。

项目状态:1.0.0。请查看支持的操作矩阵,并在启用 写入功能前,使用非生产环境的 New Relic 账户验证权限。MCP Registry、npm、容器和 MCPB 元数据均已准备就绪,但本仓库不会在没有维护者凭据的情况下发布构件。

要求

  • Node.js 22.7.5 或更高版本;生产环境推荐使用 Node 24 LTS。
  • New Relic 用户密钥,且仅具备已启用工具集所需的权限。
  • 使用 US 或 EU 端点的 New Relic 账户,或已验证的 JP 兼容端点部署(参见配置)。
  • 支持 stdio 或 Streamable HTTP 的 MCP 客户端。

New Relic 对每位用户拥有的所有密钥施加限制:每位用户最多同时发起 25 个 NerdGraph 请求。本服务默认最多允许 20 个请求,其中复杂 NRQL 查询最多 5 个。添加副本前,请参阅 性能和扩展。普通 HTTP 调用不依赖会话;若要在多个副本间可靠取消提示词 SDK 请求,还需要负载均衡器提供确定性的会话亲和性。

快速开始:stdio

全局安装软件包:

npm install --global @meet-bhalodiya/newrelic-mcp
export NEW_RELIC_API_KEY='NRAK-...'
export NEW_RELIC_REGION='US'
newrelic-mcp doctor --json
newrelic-mcp

或者让 MCP 客户端通过 npx 调用固定版本的软件包:

NEW_RELIC_API_KEY='NRAK-...' \
  npx -y @meet-bhalodiya/[email protected] doctor --json

stdio 将 stdout 保留给 MCP 帧。运行时诊断信息和日志会输出到 stderr。

快速开始:经过身份验证的 HTTP

创建两个仅服务账户可读的文件:

install -m 0700 -d ./secrets
printf '%s' "$NEW_RELIC_API_KEY" > ./secrets/new_relic_api_key
openssl rand -hex 32 > ./secrets/mcp_bearer_token
chmod 0400 ./secrets/*

启动仅监听回环地址的容器:

docker compose up --build

MCP 端点为 http://127.0.0.1:3000/mcp;健康检查端点为 /healthz 和 /readyz。Docker Compose 会刻意启用静态 bearer 身份验证。 从 ./secrets/mcp_bearer_token 读取令牌,并在 Authorization: Bearer <token> 中发送。

对于原生进程:

export NEW_RELIC_API_KEY_FILE="$PWD/secrets/new_relic_api_key"
export MCP_AUTH_MODE=bearer
export MCP_BEARER_TOKEN_FILE="$PWD/secrets/mcp_bearer_token"
newrelic-mcp http --host 127.0.0.1 --port 3000

非回环 HTTP 必须使用 bearer 或 OIDC 身份验证、明确的 Host 允许列表、在 反向代理处启用 TLS,并为浏览器客户端配置 Origin 允许列表。请参阅 部署和安全性。

客户端设置

以下简短示例使用只读 stdio 服务。完整指南还包含远程 bearer 和 OAuth 设置,以及 针对特定客户端的注意事项。

Claude Code
claude mcp add --transport stdio --scope user \
  --env NEW_RELIC_API_KEY="$NEW_RELIC_API_KEY" \
  --env NEW_RELIC_REGION=US \
  newrelic -- npx -y @meet-bhalodiya/[email protected]

在 Claude Code 中使用 /mcp 验证连接。

Claude Desktop

为实现最安全的本地安装,请构建或下载 .mcpb 捆绑包,然后使用 Settings → Extensions → Advanced settings → Install Extension。Claude Desktop 会将标记为敏感的字段存储在操作系统的安全存储中。手动配置本地 stdio JSON 的示例见 客户端配置。远程服务 必须通过 Settings → Connectors 添加,而不能通过 claude_desktop_config.json 添加。

Cursor

将 examples/cursor.mcp.json 复制到 .cursor/mcp.json 以用于单个项目,或复制到全局路径 ~/.cursor/mcp.json。从可访问 NEW_RELIC_API_KEY 的环境中启动 Cursor,然后在 MCP 设置中启用服务。

Codex
codex mcp add newrelic \
  --env NEW_RELIC_REGION=US \
  --env NEW_RELIC_API_KEY="$NEW_RELIC_API_KEY" \
  -- npx -y @meet-bhalodiya/[email protected]
codex mcp list

Codex CLI、Codex IDE 扩展和同一 Codex 主机上的 ChatGPT 桌面应用共用 config.toml。请参阅 Codex 示例 了解 Streamable HTTP bearer 和 OAuth 模式。

CLI

newrelic-mcp [stdio]
newrelic-mcp http [--host HOST] [--port PORT]
newrelic-mcp doctor [--json]
newrelic-mcp tools [--json]
  • stdio(或不带子命令)会启动本地传输。
  • http 会在 /mcp 提供无会话的 Streamable HTTP,并提供运行状况端点;其有界取消注册表仅限进程内使用。
  • doctor 会验证配置、凭据、区域、可访问的账户,以及每个实际启用工具集对应的一项有界固定查询模式选择;它不会执行变更操作或打印机密信息。
  • tools 会报告已启用的工具集和安全门控,不会联系 New Relic。

安全模型

功能默认值必需设置
读取工具由所选工具集启用NEW_RELIC_TOOLSETS
普通写入关闭NEW_RELIC_ENABLE_WRITES=true
删除、取消、撤销、替换更新、公开访问、抑制关闭写入功能加上 NEW_RELIC_ENABLE_DESTRUCTIVE=true
组织管理关闭NEW_RELIC_ENABLE_ADMIN=true 和相应的身份验证范围
预览版数据管理 API关闭NEW_RELIC_ENABLE_PREVIEW_APIS=true
实验性 AI 问题操作关闭NEW_RELIC_ENABLE_EXPERIMENTAL_AI_ISSUES=true

启用某个门控会注册相应工具,但不会绕过 New Relic 权限或 HTTP 授权范围。写入仍默认采用试运行模式。使用试运行返回的确切确认短语,并保持其他参数不变。确认短语会绑定到规范化后的变更和预读取状态;如果状态再次发生变化,则必须重新进行试运行。

本项目有意排除 API 密钥创建、synthetic 安全凭据变更、实时仪表板密码及重置、历史导出 URL、Slack 目标创建、任意实体删除、遥测数据摄取和原始 GraphQL。

工具集和 MCP 功能

默认的读取界面分为可独立选择的工具集:

  • core
  • nrql
  • entities
  • alerts
  • dashboards
  • synthetics
  • workloads
  • service-levels
  • logs
  • metrics
  • admin(不会隐式启用)

使用 newrelic-mcp tools --json 查看准确的运行时目录,并参阅 tool-catalog.md 了解说明。资源包括服务功能、账户以及类型化的实体/配置模板。 静态提示词涵盖事件分诊、服务健康状况、告警策略审查、SLO 审查、仪表板设计和合成监控故障分析。由于不同 MCP 客户端对提示词和资源的支持各不相同,工具仍是权威的通用接口。

配置

配置会在启动时验证。最重要的设置如下:

NEW_RELIC_API_KEY=                  # xor NEW_RELIC_API_KEY_FILE
NEW_RELIC_REGION=US                 # US, EU, or JP
NEW_RELIC_DEFAULT_ACCOUNT_ID=
NEW_RELIC_ACCOUNT_ALLOWLIST=
NEW_RELIC_TOOLSETS=core,nrql,entities
MCP_AUTH_MODE=none                  # none, bearer, oidc

对于服务,优先使用基于文件的密钥,其值与对应的环境变量相同。请勿同时设置这两种形式。请参阅 configuration.md,了解优先级、所有设置、验证规则和示例。

开发

npm ci
npm run build
npm run lint
npm run typecheck
npm test
npm run verify
npm pack --dry-run

使用工作区专用的 HTTP 端口在本地运行:

CONDUCTOR_PORT=3100 npm run dev:http

选择启用的实时测试需要明确指定账户;除非设置了单独的临时账户写入标志,否则测试均为只读。请参阅 development.md 和 CONTRIBUTING.md。

文档

贡献

欢迎提交贡献——包括错误报告、基于 New Relic 官方文档的功能、文档和测试。请从 CONTRIBUTING.md 和 适合新手的问题开始。 所有参与者均须遵守行为准则。

如果这个项目对你或你的团队有所帮助,点亮一颗 ⭐ 能让更多人发现它。

支持和安全

需要帮助?请参阅 SUPPORT.md。对于可复现的错误和功能请求,请使用 GitHub Issues,切勿包含 New Relic 密钥、Bearer 令牌、NRQL、 账户数据、实体详情、原始响应或预签名 URL。

请根据 SECURITY.md 私下报告漏洞。

许可证

Apache License 2.0。请参阅 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。