sisense-mcp-server について
sisense-mcp-server は、LLM と Sisense 分析を接続する非推奨の MCP サーバーコードです。データソースやフィールドの参照、自然言語によるチャート作成、任意の分析クエリ機能を提供します。
主な機能
- 01Sisense データソースの取得
- 02データモデルのフィールド一覧
- 03自然言語プロンプトからのチャート作成
- 04任意の分析クエリツール
- 05インタラクティブなチャート表示
活用シーン
- 01Sisense のデータソースとフィールドの確認
- 02説明文からのチャート作成
- 03有効化時の分析クエリ実行
MCP 対応
Streamable HTTP 経由で、データソース、フィールド、チャートのツールを MCP クライアントに公開し、任意で分析クエリも提供します。このリポジトリは非推奨で、README によると Sisense 2026.3.1 ではホステッドエンドポイントが利用できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Sisense MCP Server
警告
非推奨です。 このリポジトリはメンテナンスされておらず、アーカイブされる予定です。 Sisense MCP Server は現在、Sisense 2026.3.1 で利用可能な OAuth 2.1 対応のホステッドエンドポイントです。 セットアップ方法については、Sisense MCP Server のドキュメントをご覧ください。 このリポジトリに今後、機能や修正が追加されることはありません。
Sisense 分析プラットフォームとの連携を提供する Model Context Protocol(MCP)サーバーです。このサーバーを使用すると、LLM が Sisense のデータモデルを操作し、プログラムからチャートを作成できます。
機能
- トランスポート:HTTP ベースの MCP クライアント(Claude Desktop、Cursor など)向けのストリーマブル HTTP(
streamable-http) - MCP ツール(デフォルトで 3 つ。有効にすると 4 つ目も使用可能):
getDataSources:Sisense のデータソース(またはデータモデル)を取得しますgetDataSourceFields:指定したデータソースで利用可能なすべてのフィールドを一覧表示しますbuildChart:自然言語のプロンプトからチャートを作成しますbuildQuery(オプション):TOOL_BUILD_QUERY_ENABLED/toolBuildQueryEnabledが有効な場合に分析クエリを実行します
- MCP Apps:MCP Apps 対応クライアント(Claude など)で使用すると、
buildChartはインタラクティブなビューを公開し、アプリ内の iframe にチャートを表示します。 - セッションごとの認証:URL パラメーターやサーバーの環境変数を通じて Sisense の認証情報を指定します
- TypeScript:完全な型安全性と最新の ESM サポート
- 軽量:重いフレームワークを使用しない、純粋な Node.js HTTP サーバー
- 高速:Bun ランタイム向けに最適化されており、Node.js でも動作します
ドキュメント
- クイックスタート — クローン、
.env、実行、MCP クライアントのセットアップ - 設定 — 認証情報、トンネリング、機能フラグ、URL の例
- FAQ — よくある質問とトラブルシューティング
- 使用例 — プロンプトとワークフロー
前提条件
- Node.js >= 18.0.0(ローカル開発と
npmに必要) - プロジェクトのスクリプト(
dev、build、start、テスト)の実行には Bun が必要です。bunパッケージは devDependency のため、npm installまたはbun installの実行後はnode_modules/.binから Bun バイナリを利用できます。グローバルへの Bun のインストールは不要です。グローバルへの Bun のインストールは任意です。 - API にアクセスできる Sisense インスタンス
- Sisense API トークン
- Sisense インスタンスで Cloud-Linked Features が有効であること(Bring Your Own Key(BYOK)を使用する場合は、LLM プロバイダーの設定も必要です)。
buildChartやbuildQueryなどの自然言語ツールに必要です。Generative AI(Cloud-Linked Features)をご覧ください。これは MCP クライアントの LLM(例:Cursor 内の Claude)とは別のものです。 - Playwright Chromium(
postinstallを通じてbun install/npm installで自動的にインストールされます)
インストール
bun install
# or
npm install
使用方法
サーバーを起動します:
# Development mode (hot reload)
bun run dev
# or
npm run dev
# Production mode
bun run build && bun run start
# or
npm run build && npm run start
セッションはメモリ上に保持されるため、サーバーを再起動するとチャートの状態は失われます。
サーバーは次のような内容を出力します(ポートのデフォルト値は 3001 です。PORT が設定されている場合はその値が使われます):
Sisense MCP Server running on http://localhost:3001
Connect with:
http://localhost:3001/mcp?sisenseUrl=<SISENSE_URL>&sisenseToken=<SISENSE_TOKEN>
Or set SISENSE_URL and SISENSE_TOKEN in the environment and use http://localhost:3001/mcp
Optional feature-flag query params (override env vars per connection):
mcpAppEnabled=true|false, toolBuildQueryEnabled=true|false, toolBuildChartNarrativeEnabled=true|false
Endpoints:
Health: http://localhost:3001/health
Screenshots: http://localhost:3001/screenshots/
MCP クライアントの接続
MCP の ストリーミング可能な HTTP URL を使用します。Cursor、Claude Desktop などのクライアントでは、MCP パスを含むサーバーエントリを追加してください(bun run dev や npm run dev のようなシェルコマンドではありません)。
SISENSE_URL と SISENSE_TOKEN がサーバー環境で設定されている場合(たとえば、bun run dev または npm run dev を実行するプロセスが読み込む .env ファイル内など)、クライアント URL に認証情報を含める必要はありません。
{
"mcpServers": {
"sisense-analytics": {
"url": "http://localhost:3001/mcp"
}
}
}
注: ネットワークやクライアントの環境によっては、localhost の HTTP 設定では接続できない場合があります。その場合は、ngrok などのプロキシサービスを使って、ローカルサーバーを HTTPS 経由で公開する必要があります。同じ /mcp パスを指定して、クライアントを HTTPS トンネル URL に接続してください(サーバー環境の認証情報を使用しない場合は、クエリパラメーターも指定してください)。
認証情報: サーバー環境変数を使用しない場合は、MCP URL に sisenseUrl と sisenseToken をクエリパラメーターとして指定してください(URL パラメーターと環境変数の両方が設定されている場合は、URL パラメーターが優先されます)。各値は必ずパーセントエンコードしてください。詳細と例については、設定:URL エンコーディングをご覧ください。
代替の接続パターン(プレースホルダーのみ。実際の認証情報にはエンコードした値を使用してください):
http://localhost:3001/mcp?sisenseUrl=https://your-instance.sisense.com&sisenseToken=your-api-token
サーバー環境に SISENSE_URL と SISENSE_TOKEN のみを設定する場合:
http://localhost:3001/mcp
公開 HTTPS トンネル経由の場合(例):
https://your-ngrok-url.ngrok-free.app/mcp?sisenseUrl=https://your-instance.sisense.com&sisenseToken=your-api-token
Claude(claude.ai と Desktop):インタラクティブなチャート向けの Sisense CORS 設定
MCP App モード(デフォルト)では、Anthropic Claude は claude.ai または Claude Desktop の MCP コンテンツ UI 内にチャートを表示します。ブラウザーは *.claudemcpcontent.com 配下のオリジンから Sisense インスタンスを読み込むため、Sisense でそのオリジンを許可しないと、ウィジェットでネットワークエラーまたは CORS エラーが発生します。
Sisense インスタンスで、Admin → Security Settings → CORS Allowed Origins の順に移動し、次を追加します:
https://*.claudemcpcontent.com
このサブドメインのワイルドカード形式を使用してください。https://claudemcpcontent.com のような単一のオリジン(*. なし)では、実際のフレームのオリジンに一致しない場合があり、チャートが読み込まれないことがあります。
詳しくは、FAQ:Claude MCP App のチャートと CORSをご覧ください。
設定
| パラメーター | 説明 |
|---|---|
sisenseUrl | Sisense インスタンスの完全な URL(例:https://instance.sisense.com)。クエリー文字列では、値をパーセントエンコードして渡してください。 |
sisenseToken | Sisense API 認証トークン。クエリー文字列では、値をパーセントエンコードして渡してください(トークンに &、=、+ などが含まれる場合は必須です)。 |
PORT | (任意)サーバーのポート。デフォルトは 3001 です |
サーバーはリクエストヘッダーから公開ベース URL を自動的に導出するため、ngrok などのプロキシ経由でも正しく動作します。エンコード済みの MCP URL の作成方法については、クエリパラメーターの URL エンコーディングをご覧ください。
オプションの機能フラグのクエリパラメーター
デフォルト設定はほとんどの環境に適しています。クライアントの動作を特定のものにしたい場合は、フラグを変更してください。各フラグを使うタイミング、コピーして貼り付けられる URL パターン、環境変数とクエリ文字列の使い分けについては、docs/guides/configuration.md を参照してください。
これらのクエリパラメーターは、接続ごとに対応する環境変数を上書きします。使用できる値は true、false、1、0 です(大文字と小文字は区別されません)。
| クエリパラメーター | 対応する環境変数 | デフォルト | 説明 |
|---|---|---|---|
mcpAppEnabled | MCP_APP_ENABLED | true | インタラクティブなアプリ UI でチャートを表示します(Claude でサポート)。ツールモード(画像/スクリーンショット出力)にするには false に設定します |
toolBuildQueryEnabled | TOOL_BUILD_QUERY_ENABLED | false | 分析クエリを実行する buildQuery ツールを有効にします |
toolBuildChartNarrativeEnabled | TOOL_BUILD_CHART_NARRATIVE_ENABLED | true | チャート作成ツールの応答に NLG による説明/インサイトを含めます |
3 つすべてを上書きする URL の例(sisenseUrl と sisenseToken の値が単純な英数字のプレースホルダーでない場合は、エンコードしてください):
http://localhost:3001/mcp?sisenseUrl=https://your-instance.sisense.com&sisenseToken=your-api-token&mcpAppEnabled=false&toolBuildQueryEnabled=true&toolBuildChartNarrativeEnabled=false
開発
# Run server in development mode with hot reload
bun run dev
# or npm run dev
# Build the project (View + server)
bun run build
# or npm run build
# Build only the analytics View (dist/view.html)
bun run build:view
# or npm run build:view
# Run tests
bun test
# or npm test (same as npm run test)
# Type checking
bun run type-check
# or npm run type-check
# Lint
bun run lint
# or npm run lint
セキュリティに関する考慮事項
⚠️ 認証情報をバージョン管理に絶対にコミットしないでください
⚠️ 本番環境では環境変数ではなく、シークレットマネージャーまたはボールトを使用してください
⚠️ 本番環境では絶対に 0.0.0.0 にバインドせず、127.0.0.1 または Unix ソケットを使用してください
⚠️ 推奨:利用可能な場合は、開発環境またはステージング環境の Sisense を使用してください。自律型 AI クライアントは多数の API 呼び出しを行う可能性があり、プロンプトが曖昧な場合もあります。本番環境以外を使用することで、ミスや予期しない事態の影響を軽減できます。
⚠️ 認証を有効にし、認証なしで実行しないでください
⚠️ すべてのツール呼び出しを承認し、実行前にすべてのパラメーターを確認してください
⚠️ 必要最小限の権限を付与した Sisense 専用サービスアカウントを作成してください
⚠️ 認証情報を定期的にローテーションしてください(90 日ごとを推奨)
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。