メインコンテンツへスキップ

Langfuse 組み込み MCP サーバ機能の大幅拡張

·10 分
著者
橘 健介

2026年5月末、Langfuse に組み込まれた MCP サーバ機能が大幅に拡張されました。SaaS版では 2026-05-29 の changelog で告知され、self-host版では v3.176.0(2026-05-28)で標記の機能が一通り出揃っています。これまでLangfuseが提供してきた組み込みのMCPサーバ機能はプロンプト管理機能だけでしたが、今回一連の拡張で observation・metrics・scores・datasets・comments・annotation queues など、プロジェクトデータの大半を MCP 経由で扱えるようになりました。

本記事は Langfuse をすでに使っている方を対象に、この拡張が「どんな機能か」「使うのに何が要るか」「何に注意すべきか」を、LangfuseのSaaS版・self-host版、双方の違いも含めて整理します。なお本記事の記述は v3.178.0(2026-06-02)を基準にしつつ、その後 v3.194.0(2026-06-19)までに入った MCP 関連の主要な変更も適宜補足しています。ただし後述するようにツール名・スキーマの更新は続いているため、具体的な仕様は都度公式の一次情報(MCP Reference )を確認してください。

本記事の対象について再確認
#

「Langfuse の MCP」という言葉は複数のものを指しうるため、最初に本記事の対象を明確にしておきます。本記事が扱うのは、Langfuse インスタンス自身が /api/public/mcp エンドポイントで公開している、本体組み込みの MCP サーバ機能です。

別の言い方をすると、次のものは対象外です。

  • 外部に別プロセスとして立てる MCP サーバ(かつて存在した mcp-server-langfuse のようなローカル実装)
  • Langfuse に接続するサードパーティ製の MCP サーバ
  • MCP クライアントとサーバ間の通信を Langfuse でトレースする話

いずれも「Langfuse と MCP」という点では関連しますが、別物です。本記事はあくまで「以前からLangfuseインスタンス本体に組み込まれていた、MCPサーバ機能の拡張」について記載します。

概要 ― 何が拡張されたのか
#

拡張前、この MCP サーバ機能が提供していたのはプロンプト管理に関する 6 つのツールだけでした。今回の拡張で、observations、metrics、scores(score configs を含む)、comments、datasets(dataset items・runs・run items を含む)、models、annotation queues、media、health といったカテゴリのツールが追加されています。

なおカテゴリ追加はその後も続いており、本記事が基準とする v3.178.0 の後、v3.182.0(2026-06-10)では evaluators・evaluation rules を扱うツール(listEvaluatorscreateEvaluatorlistEvaluationRulescreateEvaluationRuleupdateEvaluationRuledeleteEvaluationRule など)が追加されました。ただしこれらは対応する REST API 自体がまだ unstable(実験的)な扱いで、上述のカテゴリ群とは安定度が異なる点に留意してください。

ツールの具体名や入力スキーマは、本記事では列挙しません。後述するように名称・スキーマが活発に更新されているためで、最新の一覧は公式の MCP Reference を一次情報として参照するのが確実ですので、こちらをご参照ください。

設計面で押さえておきたいのは、MCP のツールは REST 公開 API と同じ内部処理を呼ぶ薄いwrapperであることです。たとえばプロンプト作成ツールは、REST の POST /api/public/prompts と同じ内部アクションを実行します。監査ログ、DB トランザクション、エラー処理は REST API と共通化されています。「MCP は新しいデータ経路ではなく、既存 API の別フロントエンドである」という理解は、後述の注意事項(書き込み操作も監査ログに残る、など)にそのままつながります。

公式は、用途に応じた使い分けも示しています。サンドボックスを持ち CLI ツールを導入できるエージェントには、 Agent Skill を推奨しています。一方で組み込み MCP サーバは、Claude Desktop や Linear Agents のように CLI を導入できないツールに向いています。

設定 ― 使うのに何が要るか
#

SaaS版 と self-host版 で共通の部分
#

まず「デフォルトで有効なのか」という問いに対する回答ですが、「概ねYes。この機能はデフォルトでオンであり、MCPサーバ機能単体で無効にはできない」というのが回答となります。 より具体的には「対応するREST APIのエンドポイントは常に有効になっており、public key & secret keyを持っているユーザは常にアクセス可能」です。

接続回りの仕様は次の通りです。

  • エンドポイント: /api/public/mcp
  • トランスポート: Streamable HTTP
  • 認証: project スコープの API キー(公開キーとシークレットキー)を「:」で連結した文字列を Base64 エンコードした Basic Auth ヘッダで行う

なお、 organization レベルのキーや Bearer トークンは受け付けられない (projectレベルのキーが必要)という点には注意が必要です。

また、読み取り系・書き込み系の両方のツールが既定で利用可能です。読み取り専用に制限したい場合の方法は後述します。

SaaS版 と self-host版 で異なる部分
#

ここからは環境ごとに分かれます。

SaaS版では、後述する events table v2 がデフォルトで有効なため、observation や metrics のツールもそのまま利用できます。

self-host版 では、まず接続に HTTPS が必須です。そして見落としやすい重要な差分があります。observation と metrics の MCP ツールは LANGFUSE_ENABLE_EVENTS_TABLE_V2_APIS=true でないと使えませんが、このフラグのデフォルト値は false です。ソース上のコメントにも「v2 APIs (events table based) - disabled by default for self-hosters」と明記されています。つまり何も設定していない素の self-host インスタンスでは、今回の拡張の目玉である observation・metrics のMCPツールはツール一覧に現れません。一方で scores・comments・datasets・annotation queues・models・media・health・prompts といった他のカテゴリはフラグによるゲートがなく、常時利用可能です。

バージョン要件も self-host では明確に意識する必要があります。今回のカテゴリ群が出揃ったのは v3.176.0 です(observations のみ v3.175.0 で先行して追加されています)。ただしツール名やスキーマが落ち着いたのはその後の v3.177 系で、たとえば一部のツールが create から upsert へ改名されたり、データセット系ツールが名前指定から ID 指定へ変更されたりしています。

クライアント側の設定(Claude Desktop などへのサーバ登録)については各クライアントの作法に依存するため、ここでは Claude Code を例に最小構成だけを示します。Claude Code であれば、次のように HTTP トランスポートでサーバを追加します。

claude mcp add --transport http langfuse \
  https://cloud.langfuse.com/api/public/mcp \
  --header "Authorization: Basic <BASE64_TOKEN>"
  • ベース URL(https://cloud.langfuse.com の部分)は環境ごとに読み替えます。SaaS版はリージョン(EU / US / 日本など)ごとにホストが異なり、self-host版では自分のインスタンスの URL(前述の通り HTTPS 必須)を指定します。
  • <BASE64_TOKEN> は project スコープの公開キーとシークレットキーを 公開キー:シークレットキー の形式で連結し、Base64 エンコードした文字列です。 ちなみにLinux等で base64 コマンドで認証文字列を生成する場合は、echo -n "公開キー:シークレットキー" | base64 -w 0 のように -w 0(折り返し無効化)を必ず付けてください。これを付けないで生成した文字列をセットすると、途中に改行が挿入された不正なヘッダとなってしまい、認証に失敗します(しました)。

他クライアントの設定や最新の手順は、公式ドキュメント(MCP サーバ ― Set up )をご参照ください。なお v3.179.0(2026-06-08)以降は、Langfuse の管理画面に「MCP & CLI」プロジェクト設定ページが追加されており、接続用のスニペットやドキュメントへのリンクをそこから確認できます(機能の有効・無効を切り替えるものではなく、あくまで接続情報の案内ページです)。

注意事項
#

既定で書き込みができることのリスク
#

前述の通り、MCP クライアントは作成・更新・削除といった書き込み系ツールも既定で呼び出せます。読み取り専用にしたい場合、公式は「読み取り系ツールだけをクライアント側で allowlist する」方法を案内(MCP サーバ ドキュメント )しています。

ここは注意が必要です。この allowlist は MCPクライアント側の設定であって、Langfuseサーバ側の権限境界ではありません。API キー自体は公開 API としての書き込みスコープを保持したままなので、allowlist はあくまでMCPクライアント上のガードレールに過ぎず、Langfuseサーバ側が書き込みを拒否してくれるわけではない、と理解しておく必要があります。

MCPに関するエンドポイント全体をLangfuseの設定変更で止められるか
#

結論から言うと、私が調べた限りでは MCP エンドポイントだけを無効化する専用の環境変数は存在しないようです。これは、エンドポイントのソースが起動時に機能を登録し、リクエストごとに認証とレート制限を通すだけで、エンドポイント自体を分岐で落とす仕組みを持たないようにみえたことから判断しました。マイグレーション無効化のような *_DISABLED 系の変数は存在するのに、MCP 用は用意されていません。

なお、MCP 専用の環境変数そのものが皆無というわけではありません。v3.187.0(2026-06-16)では、リバースプロキシ構成などで転送される Host ヘッダが NEXTAUTH_URL と異なる場合に許可ホスト/オリジンを追加する LANGFUSE_MCP_ALLOWED_HOSTS が新設されています。ただしこれは到達を許可するホストを広げるための変数であって、MCP サーバ機能を無効化するためのものではありません。したがって「MCP だけをオフにする env var は無い」という結論自体は変わりません。

したがって(トレース記録その他の機能を有効にしたまま、MCPサーバ機能のみを)「オフにする」現実的な手段は、ネットワーク層で /api/public/mcp への到達を遮断することくらいのようです。 ネットワーク層での遮断は、前段の構成に応じて手段は変わりますが、考え方は共通です。リバースプロキシやロードバランサ、あるいは WAF といった前段に、/api/public/mcp というパスへのリクエストを拒否するルールを置けば、アプリ本体を改修することなく、MCPサーバ機能だけを利用不可とできます。

その他
#

書き込み操作も REST 公開 API と同じ監査ログに載ります。どのキーが何を変更したかは記録に残るため、運用上の追跡可能性は確保されています。これは安心材料であると同時に、MCP 経由の操作も監査対象になるという注意点でもあります。

また前述したように、Langfuseに搭載されたMCPサーバ機能は、直近でツール名・スキーマなどの更新が続いています。公式も、このサーバは self-describing であり、クライアントは静的なインターフェースを仮定せずツールを動的に問い合わせるべきだとしています。記事や手順書を現バージョンの実装に依存させると、すぐに陳腐化します。具体的なツール仕様は MCP Reference を都度参照する前提で運用するのがよいでしょう。

まとめ
#

今回の拡張で、Langfuse の組み込み MCP サーバはプロンプト管理ツールから、プロジェクトデータ全般を扱うツールへと強化されました。

デフォルトで有効になっており、設定で無効にすることはできないため、完全に無効化したい場合はパスベースで遮断するのがよいでしょう。

より詳しい情報は、MCP サーバのドキュメント拡張を告知した changelog 、および最新のツール仕様を載せた MCP Reference を参照してください。