项目简介
New Relic MCP 服务器是一个基于 Model Context Protocol (MCP) 构建的后端服务,旨在将New Relic的丰富API功能暴露给大型语言模型(LLM)客户端,如AI助手。通过这个服务器,LLM可以直接查询New Relic的监控和可观测性数据,管理告警策略,追踪应用部署,甚至执行自定义的NRQL查询和GraphQL请求。它充当了AI与New Relic平台之间的智能桥梁,使得AI能够理解和操作复杂的观测数据。
主要功能点
- APM 应用管理: 查看、获取应用详情、指标及其数据。
- NRQL 查询: 通过NerdGraph执行New Relic查询语言(NRQL)来分析数据。
- 告警策略: 列出和管理告警策略,掌握系统健康状态。
- 合成监测: 获取合成监测器信息,了解用户体验。
- 仪表板: 列出和获取仪表板配置,以便AI理解可视化数据。
- 实体搜索: 跨New Relic所有实体进行搜索。
- 基础设施: 监控服务器和基础设施组件。
- 部署追踪: 追踪并记录应用部署事件。
- 用户管理: 列出和管理账户用户。
- NerdGraph: 执行自定义的New Relic GraphQL查询。
- 凭证安全管理: 支持macOS钥匙串安全存储API密钥和账户ID。
安装步骤
New Relic MCP 服务器是一个Python应用,推荐使用 'pip' 进行安装:
- 推荐方式:通过PyPI安装
pip install newrelic-mcp-server - 从源代码安装
如果你想从源代码安装,可以克隆仓库并以开发模式安装:
git clone https://github.com/piekstra/newrelic-mcp-server.git cd newrelic-mcp-server pip install -e .
服务器配置
MCP客户端(如Claude Desktop)需要配置如何启动New Relic MCP服务器。配置信息通常以JSON格式提供,包含启动命令和必要的环境变量。
建议使用macOS钥匙串安全存储凭证: 在macOS上,强烈推荐先运行配置向导将API密钥和账户ID安全地存储到系统钥匙串中。这比在配置文件或环境变量中明文存储更安全。
newrelic-mcp-setup # 或者使用 Python 模块方式 python -m newrelic_mcp.credentials
按照提示输入你的New Relic API密钥(通常以 'NRAK-' 开头)和可选的账户ID。
MCP客户端配置示例:
假设你使用一个支持MCP的AI客户端,例如Claude Desktop,你需要在其配置文件(通常是 'claude_desktop_config.json')中添加如下配置。
{ "mcpServers": { "newrelic": { "command": "newrelic-mcp-server", "env": { "NEWRELIC_REGION": "US" // 如果你没有使用钥匙串,或者在非macOS系统上,你可能需要在这里提供API密钥和账户ID: // "NEWRELIC_API_KEY": "your-api-key-here", // "NEWRELIC_ACCOUNT_ID": "your-account-id" } } } }
配置参数说明:
- 'mcpServers': 这是一个JSON对象,用于定义你希望连接的所有MCP服务器。
- 'newrelic': 这是你给这个特定的New Relic MCP服务器实例起的名字。你可以根据需要更改。
- 'command': 这是启动New Relic MCP服务器的命令行命令。安装后,'newrelic-mcp-server' 命令通常会自动添加到你的系统路径中。如果系统找不到该命令,你可能需要提供其完整路径(例如 '/usr/local/bin/newrelic-mcp-server' 或 '~/.local/bin/newrelic-mcp-server')。
- 'env': 这是一个JSON对象,用于设置MCP服务器运行时所需的环境变量。
- 'NEWRELIC_API_KEY': 你的New Relic用户API密钥。强烈建议在macOS上使用钥匙串存储,避免在此处明文配置。
- 'NEWRELIC_REGION': New Relic数据中心所在的区域,可以是 'US'(美国,默认)或 'EU'(欧洲)。
- 'NEWRELIC_ACCOUNT_ID': 你的New Relic账户ID。对于某些New Relic API操作(如列出仪表板或执行NRQL查询),此参数是必需的。如果使用钥匙串,也可以安全存储此ID。
基本使用方法
- 启动服务器:
在配置好MCP客户端后,当你的AI助手需要与New Relic交互时,MCP客户端会自动启动这个服务器。你也可以手动启动它(主要用于测试或调试):
newrelic-mcp-server # 或者作为Python模块运行 python -m newrelic_mcp - AI助手调用工具:
服务器启动后,它会将New Relic API的功能作为“工具”暴露给LLM客户端。AI助手可以通过MCP协议调用这些工具来完成任务。例如:
- 获取应用列表:AI助手可以调用 'list_applications' 工具来获取所有已监控的应用信息。
- 查询性能数据:AI助手可以调用 'get_application_metric_data' 来获取特定应用的性能指标数据,例如CPU使用率或请求吞吐量。
- 执行自定义查询:AI助手可以使用 'query_nrql' 工具,通过自然语言生成NRQL查询来获取复杂的观测数据。
- 创建部署标记:当有新版本部署时,AI助手可以调用 'create_deployment' 来记录部署事件,这有助于在性能分析时关联问题与部署。
- 管理凭证:AI助手甚至可以调用 'manage_credentials' 工具来检查或更新存储在钥匙串中的API凭证状态。
通过这些工具,AI助手可以编程化地与New Relic平台交互,从而实现智能化的监控、故障排除和数据分析能力。
信息
分类
开发者工具