mcpField
L
Langfuse Mcp

Langfuse Mcp

本地服务
github.com/hugoles开发工具126 周前更新

关于 Langfuse Mcp

Langfuse Mcp 是将 Langfuse Public API 封装为只读工具的 TypeScript MCP 服务,供 MCP 客户端在对话中查询项目数据。它涵盖追踪、提示词、数据集和指标等内容。

主要功能

  1. 01查询追踪和观察记录
  2. 02查看会话与评分
  3. 03列出和获取提示词
  4. 04读取数据集及评估运行
  5. 05查询使用量、成本和延迟指标
  6. 06检查项目、模型和媒体信息

适用场景

  1. 01调查失败追踪及其观察记录
  2. 02查看近期错误追踪和用户评分
  3. 03获取提示词的指定版本
  4. 04分析每日成本、延迟或令牌用量

MCP 相关

该 MCP 服务通过 stdio 向 MCP 客户端提供 Langfuse Public API 的只读工具,使用项目密钥进行 API 访问。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"langfuse-mcp-hugoles": {
"command": "npx",
"args": [
"-y",
"langfuse-mcp"
],
"env": {
"LANGFUSE_PUBLIC_KEY": "<LANGFUSE_PUBLIC_KEY>",
"LANGFUSE_SECRET_KEY": "<LANGFUSE_SECRET_KEY>",
"LANGFUSE_BASE_URL": "<LANGFUSE_BASE_URL>"
}
}
}
}
启动命令npx -y langfuse-mcp
需要配置的环境变量
LANGFUSE_PUBLIC_KEY密钥
LANGFUSE_SECRET_KEY密钥
LANGFUSE_BASE_URL

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmlangfuse-mcp

工具

27

收录的工具列表 · 更新于 3 周前

参数类型必填说明
pageinteger否页码(默认值为 1)
limitinteger否每页项目数(默认 50,最大 100)
fromTimestampstring否ISO 8601 下限(包含)
toTimestampstring否ISO 8601 上限(不包含)
userIdstring否
sessionIdstring否
namestring否精确匹配跟踪记录名称
environmentstring否
tagsarray否
orderBystring否例如 'timestamp.desc'(默认)

详细介绍

langfuse-mcp

npm version npm downloads CI Node License: MIT

一个 MCP 服务,将 Langfuse REST API 封装为工具,让 Claude(或任何 MCP 客户端)在对话过程中查询你的追踪记录、观测记录、会话、评分、提示词、数据集和指标。

适用于这类问题:

  • “追踪记录 abc123 为什么失败?请带我逐一了解它的观测记录。”
  • “列出用户 [email protected] 最近的 5 条 level=ERROR 追踪记录。”
  • “按模型汇总今天的生成成本。”
  • “给我看看提示词 customer-support-v2 的生产版本。”

……无需离开你的助手。

要求

工具

所有工具均为只读,通过 HTTPS 调用 Langfuse Public API,并使用你的项目密钥进行 Basic Auth 身份验证。

追踪记录与观测记录
工具描述
listTraces根据筛选条件列出追踪记录,并返回摘要元数据。
getTrace按 ID 获取单条追踪记录,包括完整的观测记录树。
listObservations根据筛选条件列出 spans、生成记录和事件。
getObservation按 ID 获取单条观测记录。
会话
工具描述
listSessions列出指定时间范围内的会话。
getSession按 ID 获取会话及其追踪记录。
评分
工具描述
listScores根据筛选条件列出评分。
getScore按 ID 获取单条评分。
listScoreConfigs列出评分配置(定义、范围、类别)。
getScoreConfig按 ID 获取评分配置。
提示词
工具描述
listPrompts列出提示词定义,可按名称、标签或标记筛选。
getPrompt按名称获取提示词,可固定到特定版本或标记。
数据集
工具描述
listDatasets列出 Langfuse 中配置的数据集。
getDataset按名称获取数据集。
listDatasetItems列出数据集中的条目(输入、预期输出、元数据)。
getDatasetItem按 ID 获取单个数据集条目。
listDatasetRuns列出数据集的评估运行。
getDatasetRun按名称获取特定的数据集运行。
指标、模型与其他
工具描述
getMetrics运行自定义指标查询(计数、延迟、成本、令牌用量)。传入 JSON 查询字符串。
getDailyMetrics每日汇总的用量 / 成本 / 计数指标。
listModels列出 Langfuse 已知的模型(用于成本 / 令牌归因)。
getModel按 ID 获取模型定义。
listProjects列出当前 API 密钥可访问的项目。
listComments列出附加到跟踪记录、观测结果、会话或提示词的评论。
getComment按 ID 获取单条评论。
getMedia获取媒体附件(图像、音频、文件)的元数据。
getHealthPing Langfuse 公共健康检查端点——可用于验证凭据。

安装

使用 npx,无需安装:

npx -y langfuse-mcp

或者全局安装:

npm i -g langfuse-mcp
langfuse-mcp --version

配置

服务会读取三个环境变量:

变量必需描述
LANGFUSE_PUBLIC_KEY是项目公钥(pk-lf-…)。
LANGFUSE_SECRET_KEY是项目密钥(sk-lf-…)。
LANGFUSE_BASE_URL是例如 https://cloud.langfuse.com(欧盟)或 https://us.cloud.langfuse.com(美国),也可以使用你的可自托管 URL。
LANGFUSE_ENV_FILE否可选的 .env 文件路径,用于替代 ./.env。

在哪里获取密钥? 在 Langfuse UI 中:Settings → API Keys → Create new API keys。密钥仅适用于单个项目和单个区域(欧盟和美国是独立账户——请确保 LANGFUSE_BASE_URL 与创建密钥的区域匹配)。

如果工作目录中存在 .env 文件,系统会自动加载。入门文件请参阅 .env.example。

与 Claude Desktop 配合使用

编辑 claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "langfuse": {
      "command": "npx",
      "args": ["-y", "langfuse-mcp"],
      "env": {
        "LANGFUSE_PUBLIC_KEY": "pk-lf-…",
        "LANGFUSE_SECRET_KEY": "sk-lf-…",
        "LANGFUSE_BASE_URL": "https://cloud.langfuse.com"
      }
    }
  }
}

编辑后重启 Claude Desktop。MCP 服务图标应显示在聊天输入框中。

与 Claude Code 配合使用

项目级配置(./.mcp.json):

{
  "mcpServers": {
    "langfuse": {
      "command": "npx",
      "args": ["-y", "langfuse-mcp"],
      "env": {
        "LANGFUSE_PUBLIC_KEY": "pk-lf-…",
        "LANGFUSE_SECRET_KEY": "sk-lf-…",
        "LANGFUSE_BASE_URL": "https://cloud.langfuse.com"
      }
    }
  }
}

用户级配置位于 ~/.claude.json,使用相同的结构。

与 Cursor 搭配使用

项目级:.cursor/mcp.json。用户级:~/.cursor/mcp.json。

{
  "mcpServers": {
    "langfuse": {
      "command": "npx",
      "args": ["-y", "langfuse-mcp"],
      "env": {
        "LANGFUSE_PUBLIC_KEY": "pk-lf-…",
        "LANGFUSE_SECRET_KEY": "sk-lf-…",
        "LANGFUSE_BASE_URL": "https://cloud.langfuse.com"
      }
    }
  }
}

与 Cline (VS Code) 搭配使用

在 VS Code 设置(settings.json)中:

{
  "cline.mcpServers": {
    "langfuse": {
      "command": "npx",
      "args": ["-y", "langfuse-mcp"],
      "env": {
        "LANGFUSE_PUBLIC_KEY": "pk-lf-…",
        "LANGFUSE_SECRET_KEY": "sk-lf-…",
        "LANGFUSE_BASE_URL": "https://cloud.langfuse.com"
      }
    }
  }
}

与 Continue 搭配使用

在 ~/.continue/config.json 中:

{
  "mcpServers": [
    {
      "name": "langfuse",
      "command": "npx",
      "args": ["-y", "langfuse-mcp"],
      "env": {
        "LANGFUSE_PUBLIC_KEY": "pk-lf-…",
        "LANGFUSE_SECRET_KEY": "sk-lf-…",
        "LANGFUSE_BASE_URL": "https://cloud.langfuse.com"
      }
    }
  ]
}

与 Windsurf 搭配使用

在 Windsurf 的 MCP 设置中添加:

{
  "mcpServers": {
    "langfuse": {
      "command": "npx",
      "args": ["-y", "langfuse-mcp"],
      "env": {
        "LANGFUSE_PUBLIC_KEY": "pk-lf-…",
        "LANGFUSE_SECRET_KEY": "sk-lf-…",
        "LANGFUSE_BASE_URL": "https://cloud.langfuse.com"
      }
    }
  }
}

与其他 MCP 客户端搭配使用

该服务通过 stdio 使用 MCP。任何 MCP 客户端都可以将其作为子进程启动:

LANGFUSE_PUBLIC_KEY=pk-lf-… \
LANGFUSE_SECRET_KEY=sk-lf-… \
LANGFUSE_BASE_URL=https://cloud.langfuse.com \
npx -y langfuse-mcp

试用

配置完成后,可以向助手提出以下问题:

  • “使用 getHealth 工具确认 langfuse-mcp 已连接。”
  • “列出最近 5 条 level=ERROR 的追踪记录。”
  • “显示追踪记录 abc123 及其所有观测结果。”
  • “用户 [email protected] 本周获得了哪些评分?”
  • “获取提示词 customer-support 的生产版本。”
  • “列出 eval-2026-q1 的数据集运行记录,并告诉我哪个记录的准确率评分最高。”

故障排除

首次调用时出现 401 Unauthorized

  • 区域错误:Langfuse Cloud EU 和 US 是独立账户。请确保 LANGFUSE_BASE_URL 与创建密钥的区域相匹配(EU 使用 https://cloud.langfuse.com,US 使用 https://us.cloud.langfuse.com)。
  • .env 中的密钥带引号:此服务会移除密钥两侧的引号,但多余的空格仍可能导致 Basic Auth 失败。请重新粘贴密钥。
  • 先使用 getHealth 确认凭据,再运行其他工具。

npx 一直使用旧版本

npx -y langfuse-mcp@latest

npx 会积极缓存软件包。添加 @latest 后缀可强制刷新。

出现 LANGFUSE_BASE_URL must be a full URL 错误

最常见的原因是缺少协议。请使用 https://cloud.langfuse.com,而不是 cloud.langfuse.com。

自托管 Langfuse

使用部署的完整基础 URL,不带末尾斜杠或路径。例如:https://langfuse.mycompany.internal。服务会规范化单个末尾斜杠,但其他内容(/api、/public)会导致路径拼接失败。

MCP 服务图标未显示在 Claude Desktop 中

  • 检查 Claude Desktop 日志:~/Library/Logs/Claude/mcp*.log(macOS)或 %APPDATA%\Claude\Logs\(Windows)。连接成功时,服务会向 stderr 写入一行 langfuse-mcp v… connected。
  • 确保 PATH 中有 Node 20+(Claude Desktop 使用登录 shell 的 PATH)。
  • 完全退出 Claude Desktop(不只是关闭窗口),然后重新启动。

启动时出现难以理解的 ERR_REQUIRE_ESM / Unexpected token

Node 版本过旧。此软件包要求 Node ≥ 20。运行 node --version,并在需要时升级(例如使用 nvm)。

开发

git clone https://github.com/hugoles/langfuse-mcp.git
cd langfuse-mcp
npm install
cp .env.example .env       # macOS/Linux
copy .env.example .env     # Windows cmd
npm run dev                # tsx src/index.ts (no build step)

其他脚本:

脚本用途
npm run build将 TypeScript 编译到 dist/。
npm start运行构建后的服务。
npm run typechecktsc --noEmit。
npm run lintESLint。
npm run format / npm run format:checkPrettier 写入 / 检查。
npm testVitest。

贡献

请参阅 CONTRIBUTING.md。欢迎提交 Bug 报告和 PR——提交前请在本地运行 npm run typecheck && npm run lint && npm test。

安全

发现漏洞?请按照 SECURITY.md 中的说明私下报告。请勿公开提交 issue。

许可证

MIT © Hugoles。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。