article
README
🚀 新 relic MCP 服务器
这是一个简单的模型上下文协议(MCP)服务器,可使用 NRQL 查询 New Relic 日志。该服务器让大型语言模型(LLMs),如 Claude,能够与您的 New Relic 数据进行交互。
✨ 主要特性
- 可使用 NRQL 查询 New Relic 日志和指标。
- 具备详细的错误日志记录功能。
- 便于集成 Claude Desktop。
- 输出格式为人类可读形式。
- 新 relic 账户 ID 可配置。
📦 安装指南
先决条件
- Python 3.10 或更高版本。
- 新 relic 账户和 API 密钥。
- Claude Desktop 应用程序。
安装步骤
- 安装
uv包管理器:
# 在 macOS/Linux 上
curl -LsSf https://astral.sh/uv/install.sh | sh
# 在 Windows(PowerShell)上
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
- 创建并设置项目:
# 创建目录
mkdir newrelic-mcp
cd newrelic-mcp
# 创建虚拟环境
uv venv
# 激活虚拟环境
source .venv/bin/activate # 在 Unix/macOS 上
.venv\Scripts\activate # 在 Windows 上
# 安装依赖项
uv pip install "mcp[cli]" httpx
- 创建服务器文件
newrelic_logs_server.py,使用提供的代码。 - 配置环境变量:
# 在 Unix/macOS 上
export NEW_RELIC_API_KEY="your-api-key-here"
export NEW_RELIC_ACCOUNT_ID="your-account-id-here"
# 在 Windows(CMD)上
set NEW_RELIC_API_KEY=your-api-key-here
set NEW_RELIC_ACCOUNT_ID=your-account-id-here
# 在 Windows(PowerShell)上
$env:NEW_RELIC_API_KEY = "your-api-key-here"
$env:NEW_RELIC_ACCOUNT_ID = "your-account-id-here"
Claude Desktop 集成
通过编辑配置文件来配置 Claude Desktop:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
添加以下配置:
{
"mcpServers": {
"newrelic": {
"command": "uv",
"args": [
"--directory",
"/absolute/path/to/newrelic-mcp",
"run",
"newrelic_logs_server.py"
]
}
}
}
💻 使用示例
基础用法
在终端中运行以下命令以测试服务器:
uv run newrelic_logs_server.py
然后,您可以使用以下 NRQL 查询来获取日志数据:
SELECT * FROM your_log_table WHERE timestamp > NOW - 1h
📚 详细文档
调试
查看日志
检查控制台输出以查看服务器日志和错误信息。
验证配置
确保 newrelic_logs_server.py 文件位于项目的根目录中,并且环境变量已正确设置。
安全注意事项
- 确保 API 密钥的安全性,避免将其暴露在公开的代码或日志中。
- 定期更新依赖项以防止安全漏洞。
开发
修改代码
- 根据需要修改
newrelic_logs_server.py文件中的代码。 - 使用 MCP Inspector 测试更改的效果。
故障排除指南
服务器未启动
- 检查 Python 版本是否正确。
- 确保所有依赖项已安装。
- 确认虚拟环境已激活。
查询不工作
- 检查日志中的详细错误信息。
- 验证 NRQL 语法的正确性。
- 确保数据存在于查询的时间范围内。
贡献
- 叉取仓库。
- 创建功能分支。
- 提交拉取请求。
📄 许可证
此项目在 MIT 许可证下发行。
🔧 支持
如果您遇到问题:
- 检查日志。
- 查看常见问题部分。
- 使用 MCP Inspector 测试。
- 在 GitHub 上报告问题。
扫码联系在线客服