Logfire MCP Server

Logfire MCP Server

一个模型上下文协议(Model Context Protocol)服务器,它使大型语言模型(LLM)能够从 Logfire 检索和分析 OpenTelemetry 追踪和指标,支持异常跟踪以及针对遥测数据的自定义 SQL 查询。

Category
访问服务器

README

Logfire MCP 服务器

此仓库包含一个模型上下文协议 (MCP) 服务器,其中包含可以访问您已发送到 Logfire 的 OpenTelemetry 追踪和指标的工具。

此 MCP 服务器使 LLM 能够检索您的应用程序的遥测数据、分析分布式追踪,并利用使用 Logfire API 执行的任意 SQL 查询的结果。

可用工具

  • find_exceptions - 从按文件分组的追踪中获取异常计数

    • 必需参数:
      • age (int):回溯的分钟数(例如,30 表示过去 30 分钟,最长 7 天)
  • find_exceptions_in_file - 获取有关特定文件中异常的详细追踪信息

    • 必需参数:
      • filepath (string):要分析的文件的路径
      • age (int):回溯的分钟数(最长 7 天)
  • arbitrary_query - 在您的 OpenTelemetry 追踪和指标上运行自定义 SQL 查询

    • 必需参数:
      • query (string):要执行的 SQL 查询
      • age (int):回溯的分钟数(最长 7 天)
  • get_logfire_records_schema - 获取 OpenTelemetry 模式以帮助进行自定义查询

    • 无需参数

设置

安装 uv

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

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

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

获取 Logfire 读取令牌

为了向 Logfire API 发出请求,Logfire MCP 服务器需要一个“读取令牌”。

您可以在 Logfire 的项目设置的“读取令牌”部分下创建一个: https://logfire.pydantic.dev/-/redirect/latest-project/settings/read-tokens

[!IMPORTANT] Logfire 读取令牌是特定于项目的,因此您需要为您要暴露给 Logfire MCP 服务器的特定项目创建一个。

手动运行服务器

安装 uv 并拥有 Logfire 读取令牌后,您可以使用 uvx(由 uv 提供)手动运行 MCP 服务器。

您可以使用 LOGFIRE_READ_TOKEN 环境变量指定您的读取令牌:

LOGFIRE_READ_TOKEN=YOUR_READ_TOKEN uvx logfire-mcp

或者使用 --read-token 标志:

uvx logfire-mcp --read-token=YOUR_READ_TOKEN

[!NOTE] 如果您正在使用 Cursor、Claude Desktop、Cline 或其他为您管理 MCP 服务器的 MCP 客户端,则**不需要**手动运行服务器。下一节将向您展示如何配置这些客户端以使用 Logfire MCP 服务器。

使用知名的 MCP 客户端进行配置

为 Cursor 配置

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

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

Cursor 不接受 env 字段,因此您需要改用 --read-token 标志。

为 Claude Desktop 配置

添加到您的 Claude 设置:

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

为 Cline 配置

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

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

自定义 - 基础 URL

默认情况下,服务器连接到 https://logfire-api.pydantic.dev 上的 Logfire API。您可以通过以下方式覆盖此设置:

  1. 使用 --base-url 参数:
uvx logfire-mcp --base-url=https://your-logfire-instance.com
  1. 设置环境变量:
LOGFIRE_BASE_URL=https://your-logfire-instance.com uvx logfire-mcp

示例交互

  1. 查找过去一小时内所有服务中的追踪中的所有异常:
{
  "name": "find_exceptions",
  "arguments": {
    "age": 60
  }
}

响应:

[
  {
    "filepath": "app/api.py",
    "count": 12
  },
  {
    "filepath": "app/models.py",
    "count": 5
  }
]
  1. 获取有关特定文件中追踪中的异常的详细信息:
{
  "name": "find_exceptions_in_file",
  "arguments": {
    "filepath": "app/api.py",
    "age": 1440
  }
}

响应:

[
  {
    "created_at": "2024-03-20T10:30:00Z",
    "message": "Failed to process request",
    "exception_type": "ValueError",
    "exception_message": "Invalid input format",
    "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. 首先,从以下位置获取 Logfire 读取令牌: https://logfire.pydantic.dev/-/redirect/latest-project/settings/read-tokens

  2. 运行 MCP 服务器:

    uvx logfire-mcp --read-token=YOUR_TOKEN
    
  3. 使用上面的配置示例配置您喜欢的客户端(Cursor、Claude Desktop 或 Cline)

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

贡献

我们欢迎您为改进 Logfire MCP 服务器做出贡献。无论您是想添加新的追踪分析工具、增强指标查询功能还是改进文档,您的投入都很有价值。

有关其他 MCP 服务器和实现模式的示例,请参阅 模型上下文协议服务器存储库

许可证

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

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选