New Relic MCP Server 是一个遵循模型上下文协议(MCP)的服务器,可与 New Relic 的可观测性平台实现无缝集成。你可以通过这个简单统一的接口查询指标、管理警报、监控应用程序,并与整个可观测性堆栈进行交互。
免责声明:这是一个非官方的社区项目,与 New Relic, Inc. 没有关联、未得到其认可或支持。所有商标均为其各自所有者的财产。
按照以下步骤,你可以快速安装并使用 New Relic MCP Server:
若要通过 Smithery 进行安装或部署,请参阅官方文档:部署、项目配置 和 smithery.yaml 参考。
若要通过 Smithery 为 Claude Desktop 自动安装 New Relic MCP,请执行以下命令:
npx @smithery/cli install newrelic-mcp --client claude
我们推荐使用 Smithery CLI 进行本地开发、检查和部署。其优势如下:
stdio 或 shttp 传输构建捆绑包。示例:
# 热重载开发服务器
npx @smithery/cli dev src/server.ts --port 8181 --no-open
# 构建生产捆绑包(shttp 传输)
npx @smithery/cli build src/server.ts --out .smithery/index.cjs --transport shttp
# 检查已发布的服务器
npx @smithery/cli inspect @cloudbring/newrelic-mcp
# 使用配置运行(通过 JSON 传递环境变量)
npx @smithery/cli run @cloudbring/newrelic-mcp --config '{"NEW_RELIC_API_KEY":"...","NEW_RELIC_ACCOUNT_ID":"..."}'
# 安装到特定客户端
npx @smithery/cli install newrelic-mcp --client claude
# 打开 playground
npx @smithery/cli playground --port 3001
{
"mcpServers": {
"newrelic": {
"command": "npx",
"args": [
"-y",
"newrelic-mcp"
],
"env": {
"NEW_RELIC_API_KEY": "your-api-key-here",
"NEW_RELIC_ACCOUNT_ID": "your-account-id"
}
}
}
}
NEW_RELIC_API_KEY - 你的 New Relic 用户 API 密钥(必需)。NEW_RELIC_ACCOUNT_ID - 你的 New Relic 账户 ID(可选,可在每个工具调用时提供)。有关详细的设置说明,请参阅 docs/new-relic-setup.md。
配置完成后,你可以通过 MCP 客户端与 New Relic 进行交互:
"Show me the average response time for my web application over the last hour"
"What are the top 10 slowest database queries today?"
"Display error rate trends for the production environment"
"List all my APM applications and their current status"
"Show me the health of my Node.js services"
"Which applications have active alerts?"
"Show me all open incidents"
"What critical alerts fired in the last 24 hours?"
"Acknowledge incident #12345"
"Find all Redis databases in production"
"Show me entities with high CPU usage"
"List all synthetic monitors and their success rates"
以下是此服务器公开的所有 MCP 工具的简明目录。详细的故事/规范请参阅 docs 文件夹。
| 工具 | 摘要 |
|---|---|
run_nrql_query |
执行 NRQL 查询(需要 target_account_id) |
run_nerdgraph_query |
执行原始 NerdGraph GraphQL 查询 |
list_apm_applications |
通过 NerdGraph 列出 APM 应用程序 |
search_entities |
搜索实体(名称、类型、标签) |
get_entity_details |
获取 GUID 的详细信息 |
list_alert_policies |
通过 NerdGraph 列出警报策略 |
list_open_incidents |
通过 NerdGraph 列出未解决的事件 |
acknowledge_incident |
确认事件(仅适用于 NerdGraph) |
list_synthetics_monitors |
列出合成监控器 |
create_browser_monitor |
创建浏览器监控器 |
get_account_details |
获取账户元数据 |
| 工具 | 摘要 | 注意事项 |
|---|---|---|
create_deployment |
为 APM 应用程序创建部署标记 | 输入:application_id、revision;可选 changelog、description、user;支持 region |
list_deployments_rest |
列出应用程序的部署 | 支持 page、auto_paginate、region |
delete_deployment |
删除部署标记 | 需要 confirm: true;用户 API 密钥必须具有管理员角色权限 |
list_apm_applications_rest |
通过 REST 列出 APM 应用程序 | 过滤器:filter[name]、filter[host]、filter[ids]、filter[language];自动分页 |
list_metric_names_for_host |
列出主机的指标名称/值 | 输入:application_id、host_id,可选 name;自动分页 |
get_metric_data_for_host |
获取主机的时间片指标数据 | 输入:application_id、host_id、names[];可选 values[]、from、to、period、summarize;自动分页 |
list_application_hosts |
列出 APM 应用程序的主机 | 过滤器:filter[hostname]、filter[ids];自动分页 |
list_alert_policies_rest |
通过 REST 列出警报策略 | 可选 filter_name;支持分页 |
list_open_incidents_rest |
通过 REST 列出事件 | 服务器没有 only_open/priority 过滤器;这些在客户端应用;自动分页 |
参考资料:
docs/REST_ENDPOINT_TOOL.md 和 docs/rest-tools-stories/*src/
├── server.ts # 主 MCP 服务器实现
├── client/
│ └── newrelic-client.ts # New Relic API 客户端
└── tools/
├── nrql.ts # NRQL 查询工具
├── apm.ts # APM 应用程序工具
├── entity.ts # 实体管理工具
├── alert.ts # 警报和事件工具
├── synthetics.ts # 合成监控工具
└── nerdgraph.ts # NerdGraph 查询工具
git clone https://github.com/cloudbring/newrelic-mcp.git
cd newrelic-mcp
npm install
.env 文件:NEW_RELIC_API_KEY=your-api-key-here
NEW_RELIC_ACCOUNT_ID=your-account-id
npm run build
# 启动带有热重载的开发服务器
npm run dev
# 构建生产版本
npm run build
# 运行测试
npm test
# 运行带覆盖率的测试
npm run test:coverage
# 运行 linting
npm run lint
# 格式化代码
npm run format
# 测试服务器启动
npm run test:server
该项目使用测试驱动开发(TDD),并结合以下工具:
# 运行所有测试
npm test
# 运行带覆盖率的测试
npm run test:coverage
# 仅运行 BDD 测试
npm run test:bdd
# 使用真实 API 运行集成测试
USE_REAL_ENV=true npm test
使用 MCP Inspector 测试和调试服务器:
# 使用 MCP Inspector 运行
npm run inspect
# 使用开发服务器运行
npm run inspect:dev
# 使用环境变量运行
npm run inspect:env
有关详细说明,请参阅 docs/mcp-inspector-setup.md。
服务器采用模块化架构,包括:
每个工具:
我们欢迎贡献!详细信息请参阅我们的 贡献指南。
git checkout -b feature/amazing-feature)。npm test)。npm run lint)。本项目使用:
我们研究了其他公开的 New Relic MCP 服务器,在撰写本文时,未发现任何积极维护、功能完整的替代方案。如果你知道有这样的项目,请打开一个问题将其添加到此处。
| 项目 | 状态 | 传输方式 | 部署 | APM 应用程序 | 指标 | 警报 | 合成监控 | 备注 |
|---|---|---|---|---|---|---|---|---|
| 本项目 (newrelic-mcp) | 活跃 | NerdGraph + REST v2 | 创建/列出/删除 | 列出(NerdGraph + REST) | 主机名称 + 时间片(REST) | 策略 + 事件(NG + REST) | 列出/创建(浏览器) | 全面的测试和文档 |
计划的增强功能(基于 REST v2 目录和用户需求):
本项目采用 MIT 许可证 - 有关详细信息,请参阅 LICENSE 文件。
本项目与 New Relic, Inc. 没有关联、未得到其认可或支持。它是一个独立的开源项目,使用了 New Relic 的公共 API。
由 @cloudbring 使用 Cursor 和 Claude Code 用心打造 ❤️