项目简介

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' 进行安装:

  1. 推荐方式:通过PyPI安装
    pip install newrelic-mcp-server
  2. 从源代码安装 如果你想从源代码安装,可以克隆仓库并以开发模式安装:
    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。

基本使用方法

  1. 启动服务器: 在配置好MCP客户端后,当你的AI助手需要与New Relic交互时,MCP客户端会自动启动这个服务器。你也可以手动启动它(主要用于测试或调试):
    newrelic-mcp-server
    # 或者作为Python模块运行
    python -m newrelic_mcp
  2. 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平台交互,从而实现智能化的监控、故障排除和数据分析能力。

信息

分类

开发者工具