返回市场
日志火-mcp

日志火-mcp

作者:pydantic108 星标更新:2025-08-09

项目介绍

Pydantic Logfire MCP 服务器

此仓库包含一个模型上下文协议(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 (字符串):要链接的追踪ID

配置

安装 uv

首先确保安装了 uv,因为 uv 用于运行 MCP 服务器。

有关安装说明,请参阅 uv 安装文档

如果您已经安装了一个旧版本的 uv,可能需要使用 uv self update 来更新它。

获取 Pydantic Logfire 读取令牌

为了向 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 服务器。

基础 URL

如果您在自我托管环境中运行 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

使用知名 MCP 客户端配置

配置 Cursor

在项目根目录下创建一个 .cursor/mcp.json 文件:

{
  "mcpServers": {
    "logfire": {
      "command": "uvx",
      "args": ["logfire-mcp@latest", "--read-token=YOUR-TOKEN"]
    }
  }
}

Cursor 不接受 env 字段,所以您需要使用 --read-token 标志。

配置 Claude code

运行以下命令:

claude mcp add logfire -e LOGFIRE_READ_TOKEN=YOUR_TOKEN -- uvx logfire-mcp@latest

配置 Claude Desktop

添加到您的 Claude 设置:

{
  "command": ["uvx"],
  "args": ["logfire-mcp@latest"],
  "type": "stdio",
  "env": {
    "LOGFIRE_READ_TOKEN": "YOUR_TOKEN"
  }
}

配置 Cline

cline_mcp_settings.json 中添加到您的 Cline 设置:

{
  "mcpServers": {
    "logfire": {
      "command": "uvx",
      "args": ["logfire-mcp@latest"],
      "env": {
        "LOGFIRE_READ_TOKEN": "YOUR_TOKEN"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}

配置 VS Code

确保您已在 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

在项目根目录下创建一个 .zed/settings.json 文件:

{
  "context_servers": {
    "logfire": {
      "source": "custom",
      "command": "uvx",
      "args": ["logfire-mcp@latest"],
      "env": {
        "LOGFIRE_READ_TOKEN": "YOUR_TOKEN"
      },
      "enabled": true
    }
  }
}

示例交互

  1. 获取特定文件中追踪的异常详情:
{
  "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"
  }
]
  1. 对追踪运行自定义查询:
{
  "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
  }
}

示例问题给 Claude

  1. “在过去一小时内所有服务中发生了哪些异常?”
  2. “显示文件 'app/api.py' 中最近的错误及其追踪上下文”
  3. “过去24小时内每个服务有多少错误?”
  4. “按服务名称分组,我的追踪中最常见的异常类型是什么?”
  5. “获取我的追踪和指标的 OpenTelemetry 模式”
  6. “查找昨天的所有错误并显示其追踪上下文”

开始使用

  1. 首先,从以下位置获取 Pydantic Logfire 读取令牌: https://logfire.pydantic.dev/-/redirect/latest-project/settings/read-tokens

  2. 运行 MCP 服务器:

    uvx logfire-mcp@latest --read-token=YOUR_TOKEN
    
  3. 使用上述配置示例配置您首选的客户端(Cursor、Claude Desktop 或 Cline)

  4. 开始使用 MCP 服务器来分析您的 OpenTelemetry 追踪和指标!

贡献

我们欢迎贡献来改进 Pydantic Logfire MCP 服务器。无论您想添加新的追踪分析工具、增强指标查询功能,还是改进文档,您的意见都是宝贵的。

有关其他 MCP 服务器和实现模式的例子,请参阅 Model Context Protocol 服务器仓库

许可证

Pydantic Logfire MCP 在 MIT 许可证下发布。这意味着您可以自由地使用、修改和分发软件,但须遵守 MIT 许可证的条款和条件。