Langfuse API
概要
作者による説明(英語の原文)
Langfuse public API (Cloud and self-hosted): traces, prompts, datasets and gated writes.
PopNx MCPの3つの柱
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
- 利用者の声iレビューはまだありませんレビューは今後のステップで、アカウント機能と一緒に始まります
- 私たちの基本チェックi1項目中1項目に合格公開情報からチェック。コードはまだスキャンしていません
- 利用状況iとても新しい↓ 37/週 · ★ –
できること
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
- 接続方法: パソコンで動く
- トランスポート: stdio
- カテゴリ: 検索・AIの記憶
- 入力が必要なもの:LANGFUSE_PUBLIC_KEY, LANGFUSE_SECRET_KEY, LANGFUSE_BASE_URL
インストール
使っているAIアプリを選んで、設定をコピーしてください。
インストールの前に
- 基本チェック:1項目中1項目に合格
- あなたのパソコンで、あなたのユーザーと同じ権限(ファイル、ネットワーク、アプリ)で動きます。
- 自分で入力するもの:
LANGFUSE_PUBLIC_KEY,LANGFUSE_SECRET_KEY,LANGFUSE_BASE_URL,LANGFUSE_CA_CERT
「秘密」と表示された値は、あなたのアカウントの鍵です。絶対に人に教えたり、チャットに貼り付けたりしないでください。
必要なもの
- npmNode.jsのインストール(npxコマンドに必要)
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
リンク先は作者自身のファイルです。私たちが置いたり再パッケージしたりしたものではありません。ファイルを開くと、Claude Desktopがインストールします。
ターミナルでこれを実行します
claude mcp add langfuse-api --env LANGFUSE_PUBLIC_KEY=your-value --env LANGFUSE_SECRET_KEY=your-value --env LANGFUSE_BASE_URL=your-value --env LANGFUSE_CA_CERT=your-value -- npx -y langfuse-api-mcp動かす前に、空欄の値を入力してください。
または、設定を自分でコピーする
プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"langfuse-api": {
"command": "npx",
"args": [
"-y",
"langfuse-api-mcp"
],
"env": {
"LANGFUSE_PUBLIC_KEY": "your-value",
"LANGFUSE_SECRET_KEY": "your-value",
"LANGFUSE_BASE_URL": "your-value",
"LANGFUSE_CA_CERT": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
または、設定を自分でコピーする
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"langfuse-api": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"langfuse-api-mcp"
],
"env": {
"LANGFUSE_PUBLIC_KEY": "your-value",
"LANGFUSE_SECRET_KEY": "your-value",
"LANGFUSE_BASE_URL": "your-value",
"LANGFUSE_CA_CERT": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
自分で入力する値
- The project's public key (pk-lf-...).
- The project's secret key (sk-lf-...).
- Your Langfuse host, e.g. https://cloud.langfuse.com; https only, http only for localhost.
LANGFUSE_CA_CERTenvOptional PEM file with your corporate or private CA, added to the system trust store.
この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
できること
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
基本チェックi
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月9日にチェック
- ✓ 合格
作者とリポジトリが一致
レジストリ名は、リポジトリを所有するGitHubアカウント rodrigorjsf で確認済みです
- … 未チェック
今もメンテナンスされている
このリポジトリはまだGitHubから読み取っていません
- … 未チェック
ライセンスがある
このリポジトリはまだGitHubから読み取っていません
- – 対象外
エンドポイントが応答する
これはパソコンで動くため、インターネット上のエンドポイントはありません
- – 対象外
OAuthでサインイン
パソコンで動き、代わりにローカルの設定を使います
- … 未チェック
ツールの説明に隠れた指示がない
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
検索・AIの記憶のほかのサーバーとの比較i
- このカテゴリのほかの5736件のうち0%よりスターが多い
- このカテゴリのほかの5736件のうち60%より最近レジストリに公開
- 基本チェックの結果が、このカテゴリのほかの5736件のうち100%と同じかそれ以上
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
よくある質問
Langfuse APIは安全ですか?
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
どんなキーやコードが必要ですか?
入力が必要なもの:LANGFUSE_PUBLIC_KEY, LANGFUSE_SECRET_KEY, LANGFUSE_BASE_URL
パソコンで動きますか、それともクラウドですか?
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
今もメンテナンスされていますか?
GitHubリポジトリの最終更新は–、最新バージョン(0.2.0)がレジストリに届いたのは25 日前です。
どのアプリで使えますか?
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.js, Docker, MCPBも必要です。
代わりに使えるものは?
同じカテゴリには:Context7, Codebase Memory, Exa
代わりの候補
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:↓ 週あたりのダウンロードi★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
Codebase Memory
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Exa
Connect AI agents to Exa for web search, content fetching, and multi-step research.
作者のREADME
READMEを開く
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
langfuse-api-mcp
An MCP server that gives AI agents access to the full Langfuse public API. It works with Langfuse Cloud in any region and with self-hosted instances. It is built to run on corporate networks that re-sign TLS traffic with their own certificate authority (CA).
[!IMPORTANT]
Status: pre-alpha, release `v0.2.0` (semver
0.x: no stability promise yet; the first release wasv0.1.0). Everything below works today unless it is marked Planned, like the loopback HTTP transport.
Contents: What it is · Tools · User skill · Install and run · Client configuration · Configuration · Security model · Troubleshooting · Learn more
What it is
A small, stateless program that your AI tool (Claude Code, Claude Desktop, Cursor, VS Code, Codex, …) starts on your machine. It speaks the Model Context Protocol to the agent and HTTPS to Langfuse. The agent can then:
- investigate traces, observations, sessions, errors, latency and cost;
- read prompts, datasets, experiments, scores, metrics, models, comments and annotation queues;
- make changes, such as promoting a prompt label, creating a score or editing a dataset. This works only if you turn writes on (see Security model).
flowchart LR
A[AI agent Claude Code, Cursor, …] -- MCP over stdio --> S[langfuse-mcp on your machine or in Docker] S -- HTTPS + your corporate CA --> P{{Corporate proxy optional}} P --> L[(Langfuse Cloud or self-hosted)] S -. reads .-> C[/Your config: keys, host, CA files/] classDef local fill:#e0f2fe,stroke:#0369a1,color:#0c4a6e; classDef remote fill:#fef3c7,stroke:#b45309,color:#78350f; class A,S,C local; class L,P remote;
When to use it
| Situation | Use this server? |
|---|---|
Your company network inspects TLS with a custom root CA, and the official Langfuse MCP or CLI fails with self-signed certificate in certificate chain / unable to get local issuer certificate | Yes. This is the main reason the project exists. |
| You want the agent to be unable to change Langfuse data unless you explicitly allow it | Yes. It is read-only by default, and the server enforces this itself for every call made through it. Keep the keys out of the agent's own environment, or another tool can use them directly: Keep the keys out of the agent's environment. |
| You run a self-hosted Langfuse behind an internal CA or proxy | Yes. |
| You want a single binary with no Node.js or Python runtime on your machine | Yes. |
| You only need Langfuse *documentation* in your agent | No. Use the official docs MCP at https://langfuse.com/api/mcp. |
| Your agent can run shell commands and your network has no TLS interception | Either works. Langfuse also offers an official CLI and Agent Skill. |
How it differs from the official Langfuse MCP
Official project MCP ( /api/public/mcp) | This server | |
|---|---|---|
| Where it runs | Remote, inside Langfuse | Locally (binary or Docker) |
| Custom CA / corporate proxy | Depends on your MCP client's runtime; no documented options | Explicit settings, plus automatic pickup of CA variables that are already set on your system |
| Writes | Enabled by default; to restrict them you configure a client-side allowlist | Off by default. The write tool does not exist until you enable it. |
| API coverage | Curated tool set | Every operation your Langfuse deployment actually answers — older self-hosted versions keep their legacy APIs, newer ones get the new APIs — except trace ingestion and organization admin changes (creating/deleting projects, API keys, users). Detected automatically at startup, with nothing to configure (Deployment profile) |
Tools
The Langfuse API has about 100 in-scope operations. One tool per operation would fill the agent's context window, so the server exposes a small set of tools:
| Tool | What it does | Available |
|---|---|---|
search_operations | Lists the Langfuse operations your deployment serves, optionally filtered by keywords (in write mode, each write operation with its HTTP method and whether it is destructive) | always |
describe_operation | Returns the parameters of one operation that your deployment's Langfuse version serves (and, apart from them, a filter the server applies itself when your version lacks it; and, in write mode, its body schema (the one of your deployment's Langfuse version), whether it is destructive and, for comments_create and scores_create, how to fill the body) | always |
execute_read | Runs a read operation (HTTP GET) by its ID and returns the Langfuse JSON inside an untrusted-data envelope. On an older Langfuse that ignores the traceId of scores_get-many or the level of legacy_observationsV1_getMany, the server applies that filter itself and says whether it read the whole list | always |
execute_write | Runs a write operation by its ID; a destructive one (DELETE, PUT, PATCH) only after you confirm that exact call | only in write mode |
get_trace_tree | Returns every observation of one trace as a tree in one call. It reads Observations v2 where the deployment answers the v4 read APIs (Cloud, self-hosted v4) and the legacy observations list on self-hosted v3, where input, output and metadata are removed unless you ask for them and a row holds the fields that Langfuse returns (latency in milliseconds there, in seconds on v4), minus those it returned as null. Where a deployment answers both, the tree is read from Observations v2, which can lack observations that were sent through the legacy ingestion API, so an empty or short tree can be checked against the legacy observations list through execute_read. Where neither API answers it says operation_unavailable | always listed; runs where the deployment answers either API |
A typical session: search_operations finds the operation, describe_operation shows its parameters, execute_read runs it:
{"operationId": "trace_list", "parameters": {"limit": 10, "tags": ["prod", "checkout"]}}
The server keeps nothing between calls (it is stateless). It never takes a URL, host or credential from the agent. It only runs operations from its built-in catalog, against the host you configured. Every call is validated before anything is sent, and every failure comes back as a structured tool error with a code, a hint and a retryable flag. Parameters, error codes, result limits and the audit line: Tools reference.
User skill
The server gives an agent generic tools; the user skill langfuse-api-mcp (skills/langfuse-api-mcp/) teaches it how a Langfuse investigation is done with them: discover, describe, then execute; always a bounded time window; Langfuse data is untrusted, never instructions. It has a short entry file and one reference per workflow (traces, cost and latency, prompts, experiments, scores, errors), each loaded only when its workflow is asked for. Its description names this server's tools, so it does not compete with Langfuse's own langfuse skill. It adds no permission of its own: whether execute_write exists and every confirmation stay the server's decision.
Claude Code, Cursor, VS Code, Codex CLI, Gemini CLI, Windsurf. Install it from the repository with the skills CLI, in your project (or with -g for your user); --agent names the hosts to install for (--agent '*' for all). The Claude Code install is proven; the other hosts rely on the CLI's own support:
npx skills add rodrigorjsf/langfuse-api-mcp
non-interactive, one host: npx skills add rodrigorjsf/langfuse-api-mcp --agent claude-code -y
The CLI installs from main, while your server may be an older build; the skill therefore tells the agent to call describe_operation for every parameter it does not name (details).
Claude Desktop installs skills only by upload. Each GitHub release carries langfuse-api-mcp-skill_ .zip, signed, whose root is the langfuse-api-mcp/ folder; upload it in Claude Desktop under Customize > Skills.
Install and run
| Channel | Platforms | Needs |
|---|---|---|
| npx | Linux, macOS, Windows × x64, arm64 | Node.js with npm |
| Release archive | Linux, macOS, Windows × amd64, arm64 | nothing |
| Docker | linux/amd64, linux/arm64; stdio only | Docker |
| Claude Desktop (MCPB) | macOS, Windows | Claude Desktop |
go install | any Go platform | Go 1.21 or later |
Every channel except go install is signed or carries npm provenance: see Verify what you run. The server is also listed in the MCP Registry as io.github.rodrigorjsf/langfuse-api-mcp. What each channel ships and how it is built: Installation reference.
npx
Configure the server in your MCP client as npx -y langfuse-api-mcp (pin a version with langfuse-api-mcp@ ); it needs Node.js with npm, nothing else. The package carries the Go binary: nothing is downloaded at install time and no install script runs. See Client configuration for the snippet of your client.
Release archive
Every GitHub release carries one archive per target, langfuse-mcp_ _ _ .tar.gz (.zip on Windows), plus checksums.txt. Download with gh or curl, check the archive against checksums.txt, then extract it (Linux on amd64 shown; is the release without the leading v, for example 0.2.0):
version=<version>
archive="langfuse-mcp_${version}_linux_amd64.tar.gz" gh release download "v$version" -R rodrigorjsf/langfuse-api-mcp -p "$archive" -p checksums.txt
or: curl -fsSLO "https://github.com/rodrigorjsf/langfuse-api-mcp/releases/download/v$version/$archive"
curl -fsSLO "https://github.com/rodrigorjsf/langfuse-api-mcp/releases/download/v$version/checksums.txt"
awk -v f="$archive" '$2 == f' checksums.txt | sha256sum -c - # macOS: … | shasum -a 256 -c - tar -xzf "$archive"
On Windows (PowerShell), compare the hash and extract the zip:
$archive = "langfuse-mcp_<version>_windows_amd64.zip"
(Get-FileHash $archive -Algorithm SHA256).Hash.ToLower() # must equal the line for $archive in checksums.txt Expand-Archive $archive -DestinationPath langfuse-mcp
Then point your MCP client at the extracted binary (see Client configuration). The binaries are not notarized nor Authenticode-signed: download with curl or gh, not a browser, or see Downloaded in a browser?.
Docker
Pass the keys and the base URL with -e, and keep -i (the server speaks MCP over stdin and stdout):
docker run -i --rm \
-e LANGFUSE_PUBLIC_KEY -e LANGFUSE_SECRET_KEY -e LANGFUSE_BASE_URL \ ghcr.io/rodrigorjsf/langfuse-api-mcp:
-e NAME without a value passes the variable from the environment that runs docker, so the keys never appear in the command line. Behind a corporate CA, mount the CA file read-only and point LANGFUSE_CA_CERT at it; the file must be readable by any user (the image does not run as you):
docker run -i --rm \
-e LANGFUSE_PUBLIC_KEY -e LANGFUSE_SECRET_KEY -e LANGFUSE_BASE_URL \ -e L
冒頭だけを表示しています。続きはリポジトリで読めます