mcpField
M
mcp-server-sigma

mcp-server-sigma

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

mcp-server-sigma について

mcp-server-sigmaは、Sigma Computingの分析業務を自動化するコミュニティ製MCPサーバーです。接続、ワークブック、データモデル、組織リソースを管理でき、テンプレートの展開やデータソースの切り替えにも対応します。

主な機能

  1. 01接続、ワークブック、データモデルの管理
  2. 02メンバーとチームの管理
  3. 03ワークブックテンプレートの展開とソース切り替え
  4. 04読み取り専用モードと破壊的操作の保護

活用シーン

  1. 01ワークブックテンプレートを顧客フォルダーに展開
  2. 02ワークブックのデータウェアハウスソースを変更
  3. 03読み取り専用でSigma組織のリソースを確認

MCP 対応

Sigma Computingの管理・分析操作をツールとしてMCP クライアントに公開します。stdioとStreamable HTTPのトランスポートに対応します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"christianclaudio-sigma": {
"command": "uvx",
"args": [
"mcp-server-sigma"
],
"env": {
"SIGMA_CLIENT_ID": "<SIGMA_CLIENT_ID>",
"SIGMA_CLIENT_SECRET": "<SIGMA_CLIENT_SECRET>",
"SIGMA_API_BASE_URL": "<SIGMA_API_BASE_URL>"
}
}
}
}
起動コマンドuvx mcp-server-sigma
設定が必要な環境変数
SIGMA_CLIENT_IDシークレットYour Sigma API client ID
SIGMA_CLIENT_SECRETシークレットYour Sigma API client secret
SIGMA_API_BASE_URLRegion-specific Sigma API host URL (e.g. https://api.us-a.aws.sigmacomputing.com)

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

パッケージ
pypimcp-server-sigma2.1.1

ツール

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

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

詳細

📊 mcp-server-sigma

CI PyPI Python License: Apache-2.0 Coverage CodeRabbit Reviews

AI エージェントに Sigma Computing のネイティブ機能を活用しましょう! ⚡
コネクション、ワークブック、データモデル、メンバー、チーム、デプロイ、Webhook、マルチテナント運用、そしてお好みの AI アシスタントですぐに使える複合ワークフローレシピを網羅する 257 個のツールを備えた、エンタープライズグレードの Model Context Protocol(MCP)サーバーです。


⚠️ 免責事項と安全上の警告

重要

コミュニティプロジェクトに関する免責事項
mcp-server-sigma は、独立したオープンソースのコミュニティプロジェクトです。Sigma Computing, Inc. との提携、同社による後援、承認、サポートは一切ありません。「Sigma Computing」 は Sigma Computing, Inc. の商標です。

警告

認証情報と安全に関するお知らせ
このサーバーは、Sigma 組織にスコープが設定された API 認証情報を使用します。ツールによっては、ワークブック、ユーザー、チーム、データモデルを変更できます。

  • 読み取り専用モード: 変更リスクなしで安全に実行するには、SIGMA_MCP_READONLY=1 または --profile readonly を設定してください(readOnlyHint=true が注釈された 120 個のツールを一覧表示し、それ以外のすべての呼び出しを拒否します)。
  • 破壊的操作に対する安全ゲート: 単一項目の削除ツールでは、すべて明示的に confirm=True を指定する必要があります。指定しない場合は何も変更せず、呼び出し側に confirm=true を付けて再呼び出しするよう求める通常の結果(isError: false)を返します。引数が不足している場合や無効な場合は、モデルが修正できるツールエラー(isError: true)を返します。メンバーが見つからない、エクスポートがタイムアウトする、一括無効化のパターンが拒否されるなど、その他の呼び出し失敗も同様です(docs/errors.md を参照)。バッチツールですべての項目が失敗した場合は、"type": "batch_failed" を含む isError: true を返します。一部が成功した場合は、"status": "partial_success"、<verb>_count、failed_count、results、errors を含む通常の結果を返します。各エントリーには id、status、result または error が含まれ、各ツールが以前に返したフィールド名も併せて含まれます。以前のリリースで results に記載されていた失敗項目も引き続き含まれます(docs/errors.md を参照)。一括破壊的操作(admin_bulk_deactivate_members、admin_bulk_remove_team_members)は full に一覧表示されますが、SIGMA_MCP_ALLOW_BULK_DESTRUCTIVE=1 が設定されていない限り、呼び出し時に拒否されます。
  • 本番環境にデプロイする前に、SECURITY.md をお読みください。

💡 これが存在する理由

Sigma Computingには、どのように自動化するかを左右する独自のアーキテクチャ上の非対称性があります。

  1. データモデルは100%コードで表現できます: データモデルの構築、列や結合、SQLロジックの定義、JSON仕様の更新、API経由でのウェアハウスソースの切り替えをプログラムで実行できます。
  2. ワークブックのレイアウトは主にUIで操作します: Sigmaではワークブック仕様用のベータ版エンドポイント(/v2/workbooks/spec)が導入されていますが、レイアウト要素をゼロからプログラムで構築するのは依然として非常に複雑です。

BIダッシュボードを自動化するための標準的な方法は次のとおりです:
SigmaのUIでレイアウトを一度構築してテンプレートとして保存し、その後はプログラムでテンプレートをインスタンス化し、ソースを切り替えます! 🎨 ➡️ 🤖

複合レシピツール(workbooks_deploy_template_to_folderやelements_swap_workbook_sourcesなど)は、この一連のパターンを1回のMCPツール呼び出しで自動化します(中間ステップが失敗した場合は、ステップの進捗状況または部分的な失敗の詳細を構造化して返します):

graph TD
    UI["Sigma UI"] -->|"1. Build Layout Once & Save"| TPL["Sigma Template"]
    Agent["AI Agent / LLM"] -->|"2. Call workbooks_deploy_template_to_folder"| MCP["mcp-server-sigma"]
    MCP -->|"POST /v2/templates/{id}/instantiate"| API1["Instantiate Workbook"]
    MCP -->|"POST /v2/workbooks/{id}/swap_sources"| API2["Swap Warehouse Sources"]
    API2 -->|"Delivered"| Dest["Target Customer Folder"]

📦 クイックスタートとインストール

1. pipまたはuvでインストールする
pip install mcp-server-sigma
# or with uv
uv pip install mcp-server-sigma
またはDockerで実行する
docker run --rm -i --env-file .env \
  ghcr.io/christianclaudio/mcp-server-sigma:latest

イメージのデフォルトコマンドはstdioです。コンテナからStreamable HTTPを提供するには、コンテナ内で0.0.0.0にバインドし、トークンを渡します。トークンをコマンドラインに記述しないでください(シェルの履歴やpsに表示されます)。.envにSIGMA_MCP_AUTH_TOKENを設定するか、環境変数としてエクスポートし、-eには名前だけを渡してください:

export SIGMA_MCP_AUTH_TOKEN="$(openssl rand -hex 32)"  # or read it from your secret store
docker run --rm -p 8000:8000 --env-file .env \
  -e SIGMA_MCP_AUTH_TOKEN \
  ghcr.io/christianclaudio/mcp-server-sigma:latest \
  --transport streamable-http --host 0.0.0.0 --port 8000 --allowed-host mcp.example.com
2. 環境変数を設定する
export SIGMA_CLIENT_ID="your-client-id"
export SIGMA_CLIENT_SECRET="your-client-secret"
export SIGMA_API_BASE_URL="https://api.us-a.aws.sigmacomputing.com"

ヒント

組織のリージョンに割り当てられたAPIベースURLを使用してください。

リージョンベースURL
AWS米国東部https://api.us-a.aws.sigmacomputing.com
AWS米国西部https://aws-api.sigmacomputing.com
AWSカナダhttps://api.ca.aws.sigmacomputing.com
AWS EUhttps://api.eu.aws.sigmacomputing.com
AWS英国https://api.uk.aws.sigmacomputing.com
AWSオーストラリアhttps://api.au.aws.sigmacomputing.com
Azure米国https://api.us.azure.sigmacomputing.com
Azure EUhttps://api.eu.azure.sigmacomputing.com
Azureカナダhttps://api.ca.azure.sigmacomputing.com
Azure英国https://api.uk.azure.sigmacomputing.com
Azureオーストラリアhttps://api.au.azure.sigmacomputing.com
GCP米国https://api.sigmacomputing.com
GCPサウジアラビアhttps://api.sa.gcp.sigmacomputing.com

🔌 AI アシスタントと IDE 向けの統合ガイド

mcp-server-sigma は、標準の stdio または streamable-http を介して、主要な AI アシスタント、IDE、CLI ツールすべてとシームレスに連携します。

🧡 Claude Desktop と Claude Code

~/Library/Application Support/Claude/claude_desktop_config.json(macOS)または %APPDATA%\Claude\claude_desktop_config.json(Windows)に追加します。

{
  "mcpServers": {
    "sigma": {
      "command": "sigma-mcp",
      "env": {
        "SIGMA_CLIENT_ID": "your-client-id",
        "SIGMA_CLIENT_SECRET": "your-client-secret",
        "SIGMA_API_BASE_URL": "https://api.us-a.aws.sigmacomputing.com"
      }
    }
  }
}

Claude Code CLI の場合:

claude mcp add sigma -- sigma-mcp
♊ Google Antigravity と Gemini CLI

プロジェクトの .agents/mcp_config.json(またはグローバル設定の ~/.gemini/config/mcp_config.json)に追加します。

{
  "mcpServers": {
    "sigma": {
      "command": "sigma-mcp",
      "args": [],
      "env": {
        "SIGMA_CLIENT_ID": "your-client-id",
        "SIGMA_CLIENT_SECRET": "your-client-secret",
        "SIGMA_API_BASE_URL": "https://api.us-a.aws.sigmacomputing.com"
      }
    }
  }
}
🤖 OpenAI Codex とローカル HTTP クライアント

ローカルの CLI とエージェント拡張機能でネットワークトランスポートモード(Streamable HTTP)を実行します。

# Source environment variables from a protected file or secret manager
source .env

# Launch server on HTTP localhost port 8000 for local clients
sigma-mcp --transport streamable-http --host 127.0.0.1 --port 8000

ローカルの Codex/Streamable HTTP クライアントを http://127.0.0.1:8000/mcp に接続します。SIGMA_MCP_AUTH_TOKEN が設定されている場合、クライアントは Authorization: Bearer <token> を送信する必要があります。これがないリクエスト、または異なるトークンを含むリクエストには、HTTP 401 が返されます。

HTTP トランスポートは、ローカルサーバーを localhost にバインドするという MCP のガイダンスに従い、サーバーがその範囲を超えて到達可能な場合はベアラートークンを必須とします。

  • 127.0.0.1、::1、または localhost(--host のデフォルトは 127.0.0.1)では、SIGMA_MCP_AUTH_TOKEN の有無にかかわらず HTTP が動作します。未設定の場合、リクエストが認証されていないことを警告するメッセージが表示されます。
  • それ以外のホスト(0.0.0.0、::、LAN アドレス)では、SIGMA_MCP_AUTH_TOKEN が設定されていない限り、サーバーは起動を拒否します(終了コード 2)。ただし、SIGMA_MCP_ALLOW_UNAUTHENTICATED_BIND=1 を設定すると、認証なしのバインドが許可され、警告としてログに記録されます。たとえば、認証を代行するゲートウェイの背後で使用する場合です。
  • トークンはサーバーのビルド時に設定されるため、fastmcp run src/sigma_mcp/server.py:mcp --transport http と、mcp.http_app() をマウントする ASGI ホストでもトークンが適用されます。これらのエントリポイントはバインド先のホストを把握しないため、パブリックなバインドを拒否できません。このポリシーを適用するには sigma-mcp を使用してください。
  • デフォルトの(ステートフル)HTTP モードでは、30 分間アイドル状態のセッションは期限切れになります。次のリクエストには HTTP 404 が返され、クライアントは新しいセッションを開始する必要があります。これを変更するには、FastMCP の session_idle_timeout(http_app() 上)または FASTMCP_HTTP_SESSION_IDLE_TIMEOUT(秒単位。期限切れにしない場合は none)を使用してください。FastMCP 4.1.0 のリリースと #5229 を参照してください。

ホスト型 ChatGPT Actions または Custom GPT 向けの注意: ホスト型クラウドサービスから localhost に接続することはできません。クラウドサービスに接続する前に、認証機能を備えた HTTPS プロキシ(例:ngrok、Cloudflare Tunnel、または TLS と認証を設定した Caddy)をサーバーの前段に配置してください。

⚡ VS Code(Cline、Roo Code、GitHub Copilot Agent Mode、Continue)
Cline/Roo Code の設定(cline_mcp_settings.json):
{
  "mcpServers": {
    "sigma": {
      "command": "sigma-mcp",
      "env": {
        "SIGMA_CLIENT_ID": "your-client-id",
        "SIGMA_CLIENT_SECRET": "your-client-secret",
        "SIGMA_API_BASE_URL": "https://api.us-a.aws.sigmacomputing.com"
      }
    }
  }
}
Continue.dev の設定(~/.continue/config.yaml):
mcpServers:
  - name: sigma
    command: sigma-mcp
    env:
      SIGMA_CLIENT_ID: "your-client-id"
      SIGMA_CLIENT_SECRET: "your-client-secret"
      SIGMA_API_BASE_URL: "https://api.us-a.aws.sigmacomputing.com"
💻 Cursor と Windsurf

~/.cursor/mcp.json に追加します。

{
  "mcpServers": {
    "sigma": {
      "command": "sigma-mcp",
      "env": {
        "SIGMA_CLIENT_ID": "your-client-id",
        "SIGMA_CLIENT_SECRET": "your-client-secret",
        "SIGMA_API_BASE_URL": "https://api.us-a.aws.sigmacomputing.com"
      }
    }
  }
}
🐙 GitHub Copilot CLI と Workspace Agent

リポジトリに .github/mcp.json を追加します。

{
  "mcpServers": {
    "sigma": {
      "type": "local",
      "command": "sigma-mcp",
      "env": {
        "SIGMA_CLIENT_ID": "${COPILOT_MCP_SIGMA_CLIENT_ID}",
        "SIGMA_CLIENT_SECRET": "${COPILOT_MCP_SIGMA_CLIENT_SECRET}",
        "SIGMA_API_BASE_URL": "https://api.us-a.aws.sigmacomputing.com",
        "SIGMA_MCP_READONLY": "1"
      },
      "tools": ["workbooks_get_workbook", "workbooks_list_workbooks", "datasets_get_data_model"]
    }
  }
}

Copilot Cloud Agents 向けの注意: クラウドのコードレビュー連携は、代わりに「Repository Settings > Copilot > MCP servers」から設定する必要があります。

❄️ Cortex Code(Snowflake/Enterprise CLI)

Cortex CLI から直接追加します。

cortex mcp add sigma-tools -- sigma-mcp

🛡️ 安全管理

環境変数を使用して動作を設定します。

VariableDefaultDescription
SIGMA_CLIENT_IDRequiredSigma API のクライアント ID です。
SIGMA_CLIENT_SECRETRequiredSigma API のクライアントシークレットです。
SIGMA_API_BASE_URLRequiredリージョン固有の Sigma API ホスト URL です。HTTPS であり、SIGMA_ALLOWED_HOSTS に含まれるホストである必要があります。
SIGMA_ALLOWED_HOSTSofficial regional API hostsSIGMA_API_BASE_URL と X-Sigma-Base-Url に使用できるホスト名の許可リストを、カンマ区切りで指定します。未設定または空の場合は、Sigma の公式リージョン別 API ホストが使用されます。ループバック、プライベート、リンクローカル、クラウドメタデータの宛先は常に拒否されます。
SIGMA_MCP_PROFILEfullプロファイル:full、readonly、analyst、author、modeler、embed、access_admin(プロファイルを参照)。不明な値を指定すると、起動時に失敗します。
SIGMA_MCP_READONLY01 に設定すると、readOnlyHint=true と注釈されたツールのみを一覧表示し、それ以外のすべての呼び出しを拒否します(full では 120 個のツール)。どのプロファイルとも併用できます。
SIGMA_MCP_ALLOW_BULK_DESTRUCTIVE01 に設定すると、一覧にある 2 つの一括操作ツール(admin_bulk_deactivate_members、admin_bulk_remove_team_members)を実行できるようになります。設定しない場合、呼び出し時に拒否されます。
SIGMA_MCP_ENABLE_TOOL_SEARCH01 に設定する(または --enable-tool-search を指定する)と、full でのみ Tool Search が有効になります。
SIGMA_MCP_TOOL_SEARCH_BACKENDregexTool Search のバックエンド:regex または bm25(または --tool-search-backend)。
SIGMA_MCP_ENABLE_CODE_MODE01 に設定する(または --enable-code-mode を指定する)と、full でのみ実験的な Code Mode が有効になります。Tool Search との併用はできません。
SIGMA_MCP_AUTH_TOKEN(unset)streamable-http と sse では、すべての MCP リクエストに Authorization: Bearer <token> が必要になります(FastMCP サーバー認証。トークンがない、または間違っている場合は HTTP 401 が返されます)。先頭と末尾の空白は削除されます。未設定または空白のみの場合、HTTP リクエストは認証されず、サーバーに警告が記録されます。すべての HTTP エントリーポイント(sigma-mcp、fastmcp run、http_app())で適用されます。stdio では無視されます。
SIGMA_MCP_ALLOW_UNAUTHENTICATED_BIND01(または true/yes/on)に設定すると、トークンなしで HTTP トランスポートが 127.0.0.1、::1、localhost 以外のホストにバインドできるようになります。設定しない場合、そのようなバインドは起動時に終了コード 2 で終了します。
SIGMA_ALLOWED_TENANTS""RFC 8693 トークン交換で許可されるテナント組織 ID の許可リストを、カンマ区切りで指定します。
SIGMA_STRICT_TENANT_ALLOWLIST01 に設定すると、明示的な許可リスト項目なしでテナントリクエストが行われた場合、フェイルクローズし(HTTP 403)、リクエストを拒否します。
SIGMA_MAX_RETRIES3HTTP 429 の場合の再試行回数です(0~10)。
SIGMA_BASE_DELAY1.0429 に Retry-After がない場合の指数バックオフの基本遅延(秒)です(base_delay * 2**attempt、ジッターは 0.5~1.5 倍)。
SIGMA_MAX_RETRY_DELAY60.0このバックオフの上限(秒)です。Retry-After の待機時間には適用されません。
SIGMA_MAX_RETRY_AFTER300.0適用される Retry-After の最長待機時間(秒)です。指定された待機時間がこれを超える場合、再試行せず、待機時間を示す 429 エラーを直ちに返します。
SIGMA_MCP_LOG_FORMATtextjson に設定すると、所要時間メトリクス(duration_ms)を含む構造化 JSON ログが出力されます。

🧭 プロファイル

--profile または SIGMA_MCP_PROFILE でプロファイルを選択します(デフォルトは full)。すべてのプロファイルで、5つのドメイン(workbooks、datasets、elements、workspace、admin)がマウントされます。ジョブプロファイルでは、特定のジョブ向けに明示的に列挙されたツール名のみが公開されます。プロンプトとリソースは、すべてのプロファイルで引き続き利用できます。サーバーのビルド時に、列挙された各名前が全カタログと照合されるため、プロファイルが不明な場合やリストに誤記がある場合は、起動時に ValueError が発生します。

プロファイル対象ジョブツールSIGMA_MCP_READONLY=1 の場合
full省略なしの完全なカタログです。一括ツールも列挙されていますが、呼び出し時に SIGMA_MCP_ALLOW_BULK_DESTRUCTIVE=1 が設定されていない限り拒否されます。Tool Search と Code Mode はこのプロファイルでのみ有効になります。257120
readonly監査担当者/安全な探索向け:すべてのマウントにある readOnlyHint=true と注釈されたツールすべてです。120120
analystビジネスユーザーがワークブックやレポートを検索、閲覧、エクスポート、スケジュールし、ビューをブックマークして、ワークブックエージェントに質問します。5033
authorワークブック作成者がワークブック、レポート、テンプレートを作成、バージョン管理、検証し、編集中に要素を確認します。5337
modelerデータモデラーが接続とデータモデルを管理し、ワークブック、レポート、モデルのソースを切り替え、要素をマテリアライズします。4230
embed組み込みアナリティクスエンジニアがテナントとテナントダッシュボードをプロビジョニングします:テンプレート、デプロイ、ソースの切り替え、埋め込み、テナントのユーザー属性、接続の同期を行います。7231
access_admin組織管理者がメンバーのオンボーディングとオフボーディングを行い、チーム、権限付与、ユーザー属性、ワークスペース/ワークブック/接続へのアクセス、組織のセキュリティ設定を管理します。7026

22個のツールはどのジョブプロファイルにも含まれておらず、full でのみ利用できます:workspace_delete_file、workspace_update_file、workspace_create_tag、workspace_delete_tag、admin_list_translations、admin_bulk_deactivate_members、admin_bulk_remove_team_members、admin_api_capabilities、admin_list_recent_webhooks、workspace_update_tag、admin_list_api_credentials、admin_get_api_credential、admin_create_api_credential、admin_update_api_credential、admin_delete_api_credential、admin_get_translation、admin_get_translation_variant、admin_create_translation、admin_update_translation、admin_update_translation_variant、admin_delete_translation、admin_delete_translation_variant。

読み取り専用の動作
  • MCP の readOnlyHint 注釈だけで、ツールが読み取り専用かどうかが決まります。すべてのツールに明示的な宣言があります。読み取り120件は true、書き込み137件は false です。注釈がないツールや readOnlyHint がないツールは、書き込みとして扱われます。
  • --profile readonly または SIGMA_MCP_READONLY=1(任意のプロファイルで指定)を設定すると、読み取り専用ツールのみが一覧表示されます。また、ReadOnlyGateMiddleware は、フィルターで非表示にされた書き込みを含め、読み取り専用ではない実際のツールへの呼び出しを拒否します。拒否された場合は、isError: true を含むツール結果が返されます。
  • サーバー上に存在しない名前を指定した場合は、直接呼び出す場合も call_tool 経由の場合も、FastMCP の通常の Unknown tool エラーが返されるため、誤記がブロックされたツールとして報告されることはありません。
  • Tool Search が有効な場合、ゲートは call_tool がラップするツールを確認します。call_tool 経由の読み取りは成功し、書き込みは拒否されます。Tool Search が無効な場合、call_tool はサーバー上のツールではないため、呼び出すと Unknown tool: 'call_tool' が返されます。
  • ゲートがサービングサーバーを確認できない場合、呼び出しは拒否されます。
一括処理ゲート

admin_bulk_deactivate_members と admin_bulk_remove_team_members は full に列挙されています。SIGMA_MCP_ALLOW_BULK_DESTRUCTIVE=1 が設定されていない限り、admin ドメインガードは呼び出し時にこれらを拒否します(isError: true)。また、ハンドラーには独自の confirm/dry_run セーフガードがあります。読み取り専用モードでは、これらは非表示になり、呼び出しも拒否されます。

ツール検索とコードモード

tools/list はデフォルトではフラットです。検出はオプトイン方式で、full の場合にのみ追加されます。

  • --enable-tool-search / SIGMA_MCP_ENABLE_TOOL_SEARCH=1 を指定すると、tools/list が search_tools と call_tool に置き換わります。バックエンドは regex(デフォルト)または bm25(--tool-search-backend / SIGMA_MCP_TOOL_SEARCH_BACKEND)です。
  • --enable-code-mode / SIGMA_MCP_ENABLE_CODE_MODE=1 を指定すると、FastMCP の実験的なコードモード(search、get_schema、execute)が追加されます。コードモードには、パッケージの code-mode エクストラ(pydantic-monty を同梱する fastmcp[code-mode])に含まれるサンドボックスが必要です。pip install "mcp-server-sigma[code-mode]" または uvx "mcp-server-sigma[code-mode]" --enable-code-mode を実行してください。サンドボックスがない場合、警告が表示されてコードモードはスキップされ、フラットなカタログが提供されます。
  • 両方を有効にすると ValueError が発生します。別のプロファイルでいずれかを指定すると、警告が記録され、フラットなリストが維持されます。
  • search_tools、search、get_schema はカタログの読み取りのみを行い、readOnlyHint=true と注釈されています。読み取り専用モードでは、コードモードの execute は拒否されます。

📊 機能とツールの概要

full プロファイルには257 個のツールが一覧表示されます。すべてのツール名は、ツールが属するドメイン名から始まります。

ドメインツール数対象
workbooks78ワークブック、レポート、テンプレート:コンテンツ/仕様、ページ、バージョン、ブックマーク、スケジュール、エクスポートと単発送信、タグ、権限付与、埋め込み、組織間共有、レポートのページ/要素/列/コントロール、ワークブックエージェント、テンプレートのデプロイ
datasets34接続とデータモデル:接続の作成/削除、接続パスとパスの権限付与、接続の権限付与、テストとスキーマ同期、テナント間の接続同期、データモデル仕様、列、リネージ、ソース、タグ、マテリアライゼーション、ソースの切り替え
elements24ワークブックの要素、列、コントロール、クエリ、ソース、リネージ、マテリアライゼーション、ソース切り替えポリシー、Sigma ドキュメント検索、数式リファレンス
workspace24ワークスペースとその権限付与、ファイルとフォルダー、メンバーのファイル、最近使った項目とお気に入り、タグ
admin97メンバー、チーム、ユーザー属性、テナント、デプロイ、権限付与、組織設定、AI 設定、IP 許可リスト、API コネクターと認証情報、翻訳、テナントのデプロイ機能、メンバーのスケジュール、OAuth トークンの失効、最近の Webhook イベント
合計257

scripts/check_tool_contract.py は、ライブレジストリとの件数のずれがあると CI を失敗させます。破壊的な一括操作ツール 2 個(admin_bulk_deactivate_members、admin_bulk_remove_team_members)は admin の件数に含まれており、SIGMA_MCP_ALLOW_BULK_DESTRUCTIVE=1 が設定されていない場合、呼び出し時に拒否されます。


🍳 複合ワークフローのレシピ

これらの高レベルツールは、複数ステップの API シーケンスを単一のアトミックな呼び出しにまとめます。

レシピツール機能
workbooks_deploy_template_to_folder1 回の呼び出しでテンプレートをインスタンス化し、ウェアハウスのデータソースを置き換えます
elements_materialize_and_waitデータのマテリアライズを開始し、タイムアウトまで完了をポーリングします
admin_onboard_memberメンバーを作成し、複数のチームに割り当てる処理をアトミックに実行します
admin_bulk_assign_team_members1 回のリクエストで $N$ 人のメンバーをチームに一括追加します
admin_bulk_remove_team_membersメンバーのメールアドレスを特定し、チームから一括削除します
admin_bulk_deactivate_membersメンバーを正規表現で照合し、ドライランレポートを作成して無効化します
datasets_bulk_sync_tenant_connectionsテナントごとに RFC 8693 のトークン交換を行い、すべての接続を同期します
workbooks_copy_workbook_to_memberワークブックをユーザーのホームフォルダーに直接複製します
workbooks_promote_workbookバージョン昇格用のタグをワークブックに付けます(存在しない場合はタグを作成します)
workbooks_export_and_downloadワークブック/要素をエクスポートし、204 のポーリングを処理して、最終的なコンテンツを返します
datasets_sync_all_tables_in_schemaSigma の接続全体で、データベースとスキーマのパス全体を同期します
workbooks_reassign_workbook_ownershipあるメンバーのメールアドレスから別のメンバーへ、ワークブックの所有権を一括移管します

📐 MCP 2.0 のヒントと安全性アノテーション

すべてのツールには、AI クライアントがユーザー権限の確認を行う際に役立つ、構造化された MCP ヒントが含まれています。

アノテーション件数説明
readOnlyHint=true120変更を行わない想定であることを示します。クライアントによっては、明示的なユーザー承認が必要な場合があります
destructiveHint=true43削除、無効化、または取り消しを行います。クライアントは確認を求めてください
idempotentHint=true10安全に再試行できます。同じ入力であれば結果も同じです
openWorldHint=true257すべてのツールが外部 API を呼び出します

🧮 Sigma の数式を書く

AI モデルは Sigma の数式を書く際に、SQL や Excel の関数を頻繁に幻覚します(例:List() の代わりに ArrayAgg() を使用するなど)。
Sigma の数式を書く前に、組み込みのリファレンスツールを呼び出してください。

# Model prompt helper
Use tool `elements_formula_pitfalls` to check formula syntax rules.

構文の詳細については、docs/formulas.md をご覧ください。


👩‍💻 ローカルでの開発とテスト

# Install dev tools
pip install -e ".[dev]"

# Run full test suite with 100% statement line coverage enforcement
pytest --cov=src/sigma_mcp --cov-fail-under=100 --cov-report=term-missing

# Run OpenAPI drift check
python scripts/check_openapi_drift.py

# Run MCP tool contract validation
python scripts/check_tool_contract.py

# Code formatting & type checking
ruff check src/
ruff format --check .
mypy --strict src/

メモ

自動ドリフトチェック:CI ワークフロー(ci.yml)には check-drift ジョブがあります。このジョブは毎週日曜日の東部時間の午後と手動実行時に動作し、クライアントメソッドを Sigma の最新の OpenAPI 仕様と照合します。ドリフトスキャンが main で実行され、ドリフトが見つかった場合、またはエラーで終了した場合、ジョブはリポジトリに Issue を自動的に作成します。先行するセットアップ手順が失敗した場合は、Issue を作成せずに実行が失敗します。


🤝 貢献とコミュニティ

貢献を歓迎します。開発ルールについては CONTRIBUTING.md、セキュリティに関する報告については SECURITY.md、コミュニティの行動規範については CODE_OF_CONDUCT.md をお読みください。


📜 ライセンス

MIT License。
Copyright (c) 2026 Christian Claudio.

免責事項:Sigma Computing, Inc. との提携、支援、または承認を受けたものではありません。

コメント

MCP は初めてですか?

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

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