此仓库包含一个模型上下文协议(MCP)服务器,该服务器可以访问您发送到 Pydantic Logfire 的 OpenTelemetry 追踪和指标。
<a href="https://glama.ai/mcp/servers/@pydantic/logfire-mcp"> <img width="380" height="200" src="https://gips3.baidu.com/it/u=4165445557,1553213327&fm=3081&app=310&f=PNG?w=760&h=400" alt="Pydantic Logfire Server MCP 服务器" /> </a>此 MCP 服务器使大型语言模型能够检索应用程序的遥测数据,分析分布式追踪,并利用通过 Pydantic Logfire API 执行的任意 SQL 查询的结果。
find_exceptions_in_file - 获取特定文件中异常的详细追踪信息
filepath (字符串):要分析的文件路径age (整数):回溯的时间分钟数(最大7天)arbitrary_query - 在您的 OpenTelemetry 追踪和指标上运行自定义 SQL 查询
query (字符串):要执行的 SQL 查询age (整数):回溯的时间分钟数(最大7天)get_logfire_records_schema - 获取 OpenTelemetry 模式以帮助进行自定义查询
logfire_link - 获取指向 Pydantic Logfire 中追踪的链接
trace_id (字符串):要链接的追踪IDuv首先确保安装了 uv,因为 uv 用于运行 MCP 服务器。
有关安装说明,请参阅 uv 安装文档。
如果您已经安装了一个旧版本的 uv,可能需要使用 uv self update 来更新它。
为了向 Pydantic Logfire API 发送请求,Pydantic Logfire MCP 服务器需要一个“读取令牌”。
您可以在 Pydantic Logfire 项目设置中的“读取令牌”部分创建一个: https://logfire.pydantic.dev/-/redirect/latest-project/settings/read-tokens
[!重要] Pydantic Logfire 读取令牌是项目特定的,因此您需要为想要暴露给 Pydantic Logfire MCP 服务器的具体项目创建一个。
一旦安装了 uv 并且有了 Pydantic Logfire 读取令牌,您可以使用 uvx(由 uv 提供)手动运行 MCP 服务器。
您可以使用 LOGFIRE_READ_TOKEN 环境变量指定您的读取令牌:
LOGFIRE_READ_TOKEN=YOUR_READ_TOKEN uvx logfire-mcp@latest
您也可以在 .env 文件中设置 LOGFIRE_READ_TOKEN:
LOGFIRE_READ_TOKEN=pylf_v1_us_...
注意: 为了让这有效,MCP 服务器需要在其工作目录中包含 .env 文件的目录中运行。
或者使用 --read-token 标志:
uvx logfire-mcp@latest --read-token=YOUR_READ_TOKEN
[!注意] 如果您正在使用 Cursor、Claude Desktop、Cline 或其他管理您的 MCP 服务器的 MCP 客户端,您不需要自己手动运行服务器。下一节将向您展示如何配置这些客户端以使用 Pydantic Logfire MCP 服务器。
如果您在自我托管环境中运行 Logfire,您需要指定基础 URL。
这可以通过 LOGFIRE_BASE_URL 环境变量完成:
LOGFIRE_BASE_URL=https://logfire.my-company.com uvx logfire-mcp@latest --read-token=YOUR_READ_TOKEN
您也可以使用 --base-url 参数:
uvx logfire-mcp@latest --base-url=https://logfire.my-company.com --read-token=YOUR_READ_TOKEN
在项目根目录下创建一个 .cursor/mcp.json 文件:
{
"mcpServers": {
"logfire": {
"command": "uvx",
"args": ["logfire-mcp@latest", "--read-token=YOUR-TOKEN"]
}
}
}
Cursor 不接受 env 字段,所以您需要使用 --read-token 标志。
运行以下命令:
claude mcp add logfire -e LOGFIRE_READ_TOKEN=YOUR_TOKEN -- uvx logfire-mcp@latest
添加到您的 Claude 设置:
{
"command": ["uvx"],
"args": ["logfire-mcp@latest"],
"type": "stdio",
"env": {
"LOGFIRE_READ_TOKEN": "YOUR_TOKEN"
}
}
在 cline_mcp_settings.json 中添加到您的 Cline 设置:
{
"mcpServers": {
"logfire": {
"command": "uvx",
"args": ["logfire-mcp@latest"],
"env": {
"LOGFIRE_READ_TOKEN": "YOUR_TOKEN"
},
"disabled": false,
"autoApprove": []
}
}
}
确保您已在 VS Code 中启用 MCP 支持。
在项目根目录下创建一个 .vscode/mcp.json 文件:
{
"servers": {
"logfire": {
"type": "stdio",
"command": "uvx", // 或绝对路径 /path/to/uvx
"args": ["logfire-mcp@latest"],
"env": {
"LOGFIRE_READ_TOKEN": "YOUR_TOKEN"
}
}
}
}
在项目根目录下创建一个 .zed/settings.json 文件:
{
"context_servers": {
"logfire": {
"source": "custom",
"command": "uvx",
"args": ["logfire-mcp@latest"],
"env": {
"LOGFIRE_READ_TOKEN": "YOUR_TOKEN"
},
"enabled": true
}
}
}
{
"name": "find_exceptions_in_file",
"arguments": {
"filepath": "app/api.py",
"age": 1440
}
}
响应:
[
{
"created_at": "2024-03-20T10:30:00Z",
"message": "处理请求失败",
"exception_type": "ValueError",
"exception_message": "无效输入格式",
"function_name": "process_request",
"line_number": "42",
"attributes": {
"service.name": "api-service",
"code.filepath": "app/api.py"
},
"trace_id": "1234567890abcdef"
}
]
{
"name": "arbitrary_query",
"arguments": {
"query": "SELECT trace_id, message, created_at, attributes->>'service.name' as service FROM records WHERE severity_text = 'ERROR' ORDER BY created_at DESC LIMIT 10",
"age": 1440
}
}
首先,从以下位置获取 Pydantic Logfire 读取令牌: https://logfire.pydantic.dev/-/redirect/latest-project/settings/read-tokens
运行 MCP 服务器:
uvx logfire-mcp@latest --read-token=YOUR_TOKEN
使用上述配置示例配置您首选的客户端(Cursor、Claude Desktop 或 Cline)
开始使用 MCP 服务器来分析您的 OpenTelemetry 追踪和指标!
我们欢迎贡献来改进 Pydantic Logfire MCP 服务器。无论您想添加新的追踪分析工具、增强指标查询功能,还是改进文档,您的意见都是宝贵的。
有关其他 MCP 服务器和实现模式的例子,请参阅 Model Context Protocol 服务器仓库。
Pydantic Logfire MCP 在 MIT 许可证下发布。这意味着您可以自由地使用、修改和分发软件,但须遵守 MIT 许可证的条款和条件。