Langfuse Prompt Management

公式

オープンソースのツールで、プロンプトの共同編集、バージョン管理、評価、リリースが可能です。

ドキュメント

Langfuse プロンプト管理 MCP サーバー

Model Context Protocol (MCP) サーバー for Langfuse プロンプト管理。このサーバーを使用すると、Model Context Protocol を通じて Langfuse のプロンプトにアクセスし、管理できます。

デモ

Claude Desktop での Langfuse Prompts MCP のクイックデモ(音声解説を聞くにはミュートを解除してください):

https://github.com/user-attachments/assets/61da79af-07c2-4f69-b28c-ca7c6e606405

機能

MCP プロンプト

このサーバーは、プロンプトの検出と取得のための MCP Prompts 仕様 を実装しています。

  • prompts/list: 利用可能なすべてのプロンプトを一覧表示

    • オプションのカーソルベースのページネーション
    • プロンプト名とその必須引数を返します。制限事項:Langfuse では変数に仕様がないため、すべての引数はオプションと見なされ、説明は含まれません
    • プロンプトが複数ページある場合、ページネーション用の次のカーソルを含みます
  • prompts/get: 特定のプロンプトを取得

    • Langfuse プロンプト(テキストおよびチャット)を MCP プロンプトオブジェクトに変換
    • 提供された変数でプロンプトをコンパイル

ツール

プロンプト機能をサポートしていない他の MCP クライアントとの互換性を高めるため、サーバーは MCP Prompts の機能を複製するツールもエクスポートします。

  • get-prompts: 利用可能なプロンプトを一覧表示

    • ページネーション用のオプションの cursor パラメータ
    • プロンプトとその引数のリストを返します
  • get-prompt: 特定のプロンプトを取得してコンパイル

    • 必須の name パラメータ:取得するプロンプトの名前
    • オプションの arguments パラメータ:プロンプト変数を含む JSON オブジェクト

開発

npm install

# build current file
npm run build

# test in mcp inspector
npx @modelcontextprotocol/inspector node ./build/index.js

使用方法

ステップ 1: ビルド

npm install
npm run build

ステップ 2: MCP サーバーにサーバーを追加する:

Claude Desktop

claude_desktop_config.json を編集して Claude for Desktop を設定します

{
  "mcpServers": {
    "langfuse": {
      "command": "node",
      "args": ["<absolute-path>/build/index.js"],
      "env": {
        "LANGFUSE_PUBLIC_KEY": "your-public-key",
        "LANGFUSE_SECRET_KEY": "your-secret-key",
        "LANGFUSE_BASEURL": "https://cloud.langfuse.com"
      }
    }
  }
}

環境変数を実際の Langfuse API キーに置き換えてください。これでサーバーが Claude Desktop で使用可能になります。

Cursor

Cursor に新しいサーバーを追加:

  • 名前: Langfuse Prompts
  • タイプ: command
  • コマンド:
    LANGFUSE_PUBLIC_KEY="your-public-key" LANGFUSE_SECRET_KEY="your-secret-key" LANGFUSE_BASEURL="https://cloud.langfuse.com" node absolute-path/build/index.js
    

制限事項

この MCP サーバーは開発中であり、いくつかの制限があります:

  • Langfuse で production ラベルを持つプロンプトのみが返されます
  • Langfuse では変数に仕様がないため、すべての引数はオプションと見なされ、説明は含まれません
  • 一覧操作では、引数を抽出するためにバックグラウンドで各プロンプトを個別に取得する必要があり、これは動作しますが効率的ではありません

貢献を歓迎します!提案やフィードバックがある場合は、Issue または PR を作成してください(リポジトリ)。