mcpField
S
spanlens

spanlens

ローカル
github.com/spanlensデータ・分析133 日前に更新

spanlens について

spanlensは、IDEエージェントやクライアントからSpanlensのLLMオブザーバビリティデータを照会するMCPサーバーです。利用量やコスト、リクエスト、トレース、異常、削減提案、ユーザー分析を扱い、読み取り専用のpublic-scopeキーのみを受け付けます。

主な機能

  1. 01利用量とコストの集計
  2. 02絞り込み可能なリクエスト記録
  3. 03エージェントトレースとスパンの詳細
  4. 04コストとレイテンシーの異常照会
  5. 05モデル変更によるコスト削減提案
  6. 06ユーザー別の利用分析

活用シーン

  1. 01プロバイダー別の週次LLM支出の確認
  2. 02エラーや高コストなトレースの調査
  3. 03コストやレイテンシーの異常の特定

MCP 対応

Cursor、Continue、Claude DesktopなどのMCPクライアントに、読み取り専用のSpanlens分析ツールを7種類公開します。APIキーがpublic scopeであることを検証し、フルアクセスキーは拒否します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"spanlens": {
"command": "npx",
"args": [
"-y",
"@spanlens/mcp-server"
],
"env": {
"SPANLENS_API_KEY": "<SPANLENS_API_KEY>",
"SPANLENS_BASE_URL": "<SPANLENS_BASE_URL>"
}
}
}
}
起動コマンドnpx -y @spanlens/mcp-server
設定が必要な環境変数
SPANLENS_API_KEYシークレットSpanlens API key. Must be a scope=public key (sl_live_pub_*) issued from the Public Keys card at https://spanlens.io/projects — the server refuses to start with a full-access sl_live_* key.
SPANLENS_BASE_URLOverride the API endpoint for self-hosted Spanlens. Default: https://api.spanlens.io

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@spanlens/mcp-server0.3.0

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

@spanlens/mcp-server

Cursor、Continue、または Claude Desktop 内から、LLM のオブザーバビリティデータをクエリできます。Spanlens を利用しています。

IDE のエージェントに、「今週の OpenAI の利用額はいくらですか?」、「コストに異常はありますか?」、「今日最も高額なトレースを表示して」 といったことを尋ねると、Model Context Protocol を通じて、Spanlens ワークスペースから実際のデータを取得できます。

30 秒でセットアップ

1. Spanlens のパブリックスコープキーを発行する

パブリックスコープキー(sl_live_pub_*)は読み取り専用です。ダッシュボードのデータをクエリできますが、LLM プロキシの利用料金が発生する操作は実行できません。このサーバーは、フルアクセスキーでは起動しません。認証情報が IDE のプレーンテキスト設定ファイルに保存されるためです。

spanlens.io/projects を開き、上部にある Public Keys カードから + New public key を選択して作成します。表示された sl_live_pub_… の値をコピーします。

2. IDE にサーバーを追加する
Cursor — ~/.cursor/mcp.json(またはワークスペースの .cursor/mcp.json)
{
  "mcpServers": {
    "spanlens": {
      "command": "npx",
      "args": ["-y", "@spanlens/mcp-server"],
      "env": { "SPANLENS_API_KEY": "sl_live_pub_..." }
    }
  }
}
Claude Desktop — ~/Library/Application Support/Claude/claude_desktop_config.json(macOS)または %APPDATA%\Claude\claude_desktop_config.json(Windows)
{
  "mcpServers": {
    "spanlens": {
      "command": "npx",
      "args": ["-y", "@spanlens/mcp-server"],
      "env": { "SPANLENS_API_KEY": "sl_live_pub_..." }
    }
  }
}
Continue — ~/.continue/config.yaml
mcpServers:
  - name: spanlens
    command: npx
    args: ['-y', '@spanlens/mcp-server']
    env:
      SPANLENS_API_KEY: sl_live_pub_...
3. IDE を再読み込みして、質問を始める

エージェントは 7 つのツールを検出し、必要に応じて自動的に使用します。

質問できること

質問呼び出されるツール
「今週の LLM の利用額はいくらですか?」get_stats
「過去 30 日間のモデル別コストを内訳表示して」get_stats(groupBy=model)
「今週、最もコストがかかっているプロバイダーはどこですか?」get_stats(groupBy=provider)
「コストやレイテンシに異常はありますか?」get_anomalies
「gpt-4o で直近に発生したエラー呼び出しを 10 件表示して」query_requests
「最近のエージェントの実行を一覧表示して」list_traces
「トレース abc123… の内容を順に説明して」get_trace
「コストを抑えるために切り替え可能なモデルはありますか?」get_savings
「最も利用額が多いエンドユーザーは誰ですか?」get_user_analytics

利用可能なツール

ツール返される内容
get_statsコスト、リクエスト数、トークン使用量、レイテンシ、エラー率の集計データです。オプションの groupBy を指定すると、コスト、リクエスト数、レイテンシ、エラー率の内訳を取得できます。model はプロバイダーとモデルの組み合わせごとに 1 行を返し、provider はその行をプロバイダーごとに集約して 1 行にまとめます。レイテンシとエラー率はリクエスト数で重み付けされます。
query_requestsコスト、レイテンシ、モデル、エラーメッセージを含む個別の LLM リクエストです。model、provider、status、userId、since、limit で絞り込めます。
list_tracesトレース ID を見つけるための、エージェントトレースの概要(名前、ステータス、実行時間、スパン数、合計トークン数、合計コスト)です。limit、status、since、query で絞り込めます。トレースのスパンツリー全体を確認するには、get_trace と組み合わせてください。
get_traceトレース ID に対応するエージェントのスパンツリー全体です。タイミング、トークン数、コストを含むすべての LLM/ツール/検索スパンを取得できます。
get_anomaliesプラットフォームが検出したコスト/レイテンシ/エラー率の異常です。オプションで since(観測期間)と sigma(感度)を指定できます。
get_savings月間の予測節約額と導入状況を含む、モデル切り替えの推奨情報です。
get_user_analyticsエンドユーザーごとの利用内訳です。合計コスト、リクエスト数、利用モデル、最近の呼び出しを確認できます。

安全性

このサーバーは、認証情報を漏えいしやすいプレーンテキストファイルに保存する IDE 設定のユースケース向けに設計されています(ドットファイルの同期、画面共有、誤ったコミットなど)。次の 2 つの対策を講じています。

  1. パブリックスコープのキーのみを使用します。 サーバーは起動時にワークスペースの /api/v1/me/key-info を呼び出し、キーの scope=public を検証します。誤ってフルアクセスの sl_live_* キーを貼り付けた場合は、正しいキーの種類を示す明確なエラーを表示して、サーバーの起動を拒否します。
  2. API レイヤーで読み取り専用にします。 パブリックキーが漏えいしても、/proxy/* や /ingest/* を呼び出すことはできません。Spanlens サーバーは 403 と PUBLIC_KEY_WRITE_FORBIDDEN コードでこれを強制します。キーが漏えいした場合の影響は「競合他社に使用状況の統計を見られる」ことであり、「競合他社に OpenAI の請求額を膨らませられる」ことではありません。

設定

環境変数デフォルト説明
SPANLENS_API_KEY必須/projects の Public Keys カードで取得する sl_live_pub_* キーです。キーが設定されていない場合、または sl_live_*(フルアクセス)キーが設定されている場合、サーバーは起動を拒否します。
SPANLENS_BASE_URLhttps://api.spanlens.ioセルフホストの Spanlens を使用する場合に上書きします。末尾のスラッシュは正規化されます。
SPANLENS_TIMEOUT_MS30000タイムアウトエラーで失敗するまで、各 API 呼び出しを待つ時間をミリ秒単位で指定します。起動時のキー確認と各ツール呼び出しに適用されます。1 から 600000 までの整数を指定できます。それ以外の値を指定すると、変数名を示すエラーが表示され、サーバーの起動が停止します。

セルフホストの Spanlens

{
  "mcpServers": {
    "spanlens": {
      "command": "npx",
      "args": ["-y", "@spanlens/mcp-server"],
      "env": {
        "SPANLENS_API_KEY": "sl_live_pub_...",
        "SPANLENS_BASE_URL": "https://spanlens.your-company.com"
      }
    }
  }
}

リンク

ライセンス

MIT — リポジトリのルートにある LICENSE を参照してください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。