mcpField
S
Stackql

Stackql

ローカル
stackql.ioクラウド・インフラ1.1k1 日前に更新

Stackql について

StackQL は、SQL のセマンティクスでクラウドや SaaS サービスのリソース状態を照会・変更するオープンソースのエンジンです。単一の署名付きバイナリとして提供され、複数のクラウド基盤を管理する開発者や DevOps チーム向けです。

主な機能

  1. 01SQL によるクラウドおよび SaaS リソースの照会と構成
  2. 02Windows、macOS、Linux 向けの単一署名付きバイナリ
  3. 03プロバイダー検索やスキーマ探索の MCP ツール
  4. 04shell、exec、Postgres プロトコルのサーバーモード

活用シーン

  1. 01SQL で複数のクラウドプラットフォームのリソース状態を照会
  2. 02CI 上で AI エージェントによる読み取り専用の基盤監査を実行
  3. 03MCP クライアントからリソースのライフサイクル操作を実行

MCP 対応

StackQL は stackql mcp コマンドで stdio 経由に起動する MCP サーバーです。Claude、VS Code、Cursor などの MCP クライアントに、クラウドリソースの照会とプロビジョニングのツールを提供します。

設定

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

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ
パッケージ
mcpbstackql-mcp-linux-x64.mcpb0.12.824
mcpbstackql-mcp-linux-arm64.mcpb0.12.824
mcpbstackql-mcp-windows-x64.mcpb0.12.824
mcpbstackql-mcp-darwin-universal.mcpb0.12.824
mcpbstackql-mcp-windows-arm64.mcpb0.12.824
ocidocker.io/stackql/stackql-mcp:0.12.824
npm@stackql/mcp-server0.12.824
pypistackql-mcp-server0.12.824

ツール

16

掲載時のツール一覧 · 3 週間前に更新

パラメーター型必須説明
formatstringいいえテキストコンテンツのレンダリング形式:markdown(デフォルト)または json
methodstringいいえ
providerstringいいえ
resourcestringいいえ
row_limitintegerいいえ
servicestringいいえ

詳細

logo

platforms license build MCP Toplist MCP Registry MCP Server GitHub Release GitHub Downloads Docker Pulls stars

SQL を使用してクラウドリソースをデプロイ、管理、クエリし、API を操作する

エージェント時代のユニバーサルインターフェース。データとしての構成。コンテキストとしてのインフラストラクチャ。

ドキュメントを読む »
問題を報告 · 機能をリクエスト · 開発者ガイド · BYO プロバイダー

目次
  1. プロジェクトについて
  2. MCP サーバー
  3. インストール
  4. 使い方
  5. 貢献
  6. ライセンス
  7. お問い合わせ
  8. 謝辞

プロジェクトについて

StackQL は、Golang で構築されたオープンソースプロジェクトです。SQL のセマンティクスを使用して、さまざまなローカルおよびリモートインターフェースを介し、サービスやリソースの状態を作成、変更、クエリできます。このようなインターフェースには通常、クラウドや SaaS プロバイダー(Google、AWS、Azure、Okta、GitHub など)が含まれますが、これらに限定されません。

stackql-shell stackql-shell

仕組み

StackQL はスタンドアロンアプリケーションです。クライアントモード(exec または shell 経由)で使用するか、Postgres ワイヤープロトコルクライアント(psycopg2 など)を使用してサーバーモード(srv)でアクセスできます。

StackQL は SQL ステートメントを解析し、(クラウド)リソースプロバイダーへの API リクエストに変換します。API 呼び出しが実行され、その結果がユーザーに返されます。

StackQL プロバイダーインターフェースは通常、プロバイダー仕様の OpenAPI 拡張として定義されています。これらの定義を使用して、SQL スキーマと API クライアントを生成します。プロバイダー定義のソースはStackQL Registryに保存されています。プロバイダーとのやり取りのセマンティクスは、私たちの any-sdk ライブラリで定義されています。内部の詳細については、ローカルの AGENTS.md ファイルとany-sdk の AGENTS.mdを参照してください。

StackQL のコンテキスト図
以下のコンテキスト図は、StackQL のアーキテクチャを大まかに示しています。
flowchart LR
  subgraph StackQL
    direction BT
    subgraph ProviderDefs
        Registry[Provider Registry Docs]    
    end
    subgraph App
        Proc[$ stackql exec\n$ stackql shell\n$ stackql srv]
        style Proc fill:#000,stroke:#000,color:#fff,text-align:left;

        %% ,font-family:'Courier New', Courier, monospace
    end
  end
  User((User)) <--> StackQL <--> Provider[Cloud Provider API]
  ProviderDefs --> App

より詳細な設計ドキュメントはこちらにあります。

MCP サーバー

StackQL はMCPサーバーです。40 以上のクラウドおよび SaaS プロバイダーに対して、AI エージェントが SQL を使用できます。MCP 対応クライアント(Claude、VS Code、Cursor など)を StackQL に接続すると、SQL を使用してクラウドリソースをクエリおよびプロビジョニングできます。

stdio 経由で実行します。

stackql mcp --mcp.server.type=stdio

StackQL MCP は公式 MCP レジストリに io.github.stackql/stackql-mcp として公開されており、npm、PyPI、Docker、GitHub Action、.mcpb バンドルを通じて配布されています。インストール方法を選び、対応するブロックを MCP クライアントの設定に追加してください。

npm(npx)
{
  "mcpServers": {
    "stackql": {
      "command": "npx",
      "args": ["-y", "@stackql/mcp-server"]
    }
  }
}
PyPI(uvx)
{
  "mcpServers": {
    "stackql": {
      "command": "uvx",
      "args": ["stackql-mcp-server"]
    }
  }
}
Docker
{
  "mcpServers": {
    "stackql": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "stackql/stackql-mcp"]
    }
  }
}
.mcpb バンドル

ご利用のプラットフォーム用のバンドルを最新リリースからダウンロードし、MCP クライアントにインストールしてください(.mcpb に対応しているクライアントではワンクリックでインストールできます)。

  • stackql-mcp-linux-x64.mcpb
  • stackql-mcp-linux-arm64.mcpb
  • stackql-mcp-windows-x64.mcpb
  • stackql-mcp-darwin-universal.mcpb
GitHub Actions

StackQL MCP をエージェント型 CI ワークフローに組み込みます。デフォルトは read_only モードで、CI に適した安全な設定です。

- uses: stackql/setup-stackql-mcp@v1
  with:
    mode: read_only

クライアントごとのセットアップ、認証、サーバーモードについては、MCP のインストールと使い方に関する完全なドキュメントを参照してください。

インストール

StackQL は Windows、MacOS、Linux、Docker、GitHub Actions などで利用できます。お使いのプラットフォームに応じたインストール手順を以下でご確認ください。

MacOS へのインストール
  • Homebrew(amd64 および arm64)
    • brew install stackql または brew tap stackql/tap && brew install stackql/tap/stackql
  • MacOS PKG インストーラー(amd64 および arm64)
Windows へのインストール
  • MSI インストーラー
  • Chocolatey
    • Chocolatey をインストールします
    • choco install stackql を実行します
  • ZIP アーカイブ
    • 最新の StackQL 用 Windows ZIP アーカイブをダウンロードします
    • アーカイブ(コード署名済みの stackql.exe ファイル)を任意のディレクトリに展開します
    • ディレクトリを PATH 環境変数に追加します(任意)
Linux へのインストール
  • ZIP アーカイブ
    • 最新の StackQL 用 Linux ZIP アーカイブをダウンロードします
      • または、curl -L https://bit.ly/stackql-zip -O && unzip stackql-zip を実行します
    • アーカイブ(stackql ファイル)を任意のディレクトリに展開します
    • ディレクトリを PATH 環境変数に追加します(任意)
DockerHub から StackQL を取得する

DockerHub で利用可能な StackQL イメージをすべて確認できます。利用可能なイメージには stackql、stackql-jupyter-demo などがあります。次のコマンドで最新の StackQL ベースイメージを取得できます。

docker pull stackql/stackql

インフラストラクチャではなく、監査結果が必要ですか?標準イメージを使って、読み取り専用のクロスクラウドセキュリティおよび FinOps 監査を 1 つのコマンドで実行できます。Docker 監査クイックスタートをご覧ください。

GitHub Actions で StackQL を使う

GitHub Actions のワークフローで StackQL を使い、クラウドインフラストラクチャのプロビジョニング、IaC の保証、コンプライアンス/セキュリティを自動化できます。利用可能な GitHub Actions には、setup-stackql、stackql-exec などがあります。

使い方

StackQL は、対話型の REPL シェル、exec コマンド、または Postgres ワイヤプロトコルを使ったサーバーとして利用できます。

ℹ️ StackQL はデータベースを必要とせず、インストールもしません。

  • 対話型シェル

    # run interactive stackql queries
    stackql shell --auth="${AUTH}"
    
  • ステートメントまたはファイルを実行

    stackql exec --auth="${AUTH}" -i myscript.iql --iqldata vars.jsonnet --output json
    
    # or
    
    stackql exec --auth="${AUTH}" "SELECT id, status FROM aws.ec2.instances WHERE region = 'us-east-1'"
    

    ℹ️ exec コマンドでは、--output フラグを使って json、csv、table、text の出力形式を指定できます。

    ℹ️ StackQL は jsonnet または json を使ったパラメーターの受け渡しに対応しています。詳しくは変数の使用をご覧ください。

  • サーバー

    # serve client requests over the Postgres wire protocol (psycopg2, etc.) 
    # clients are not authenticated unless mTLS is configured via --pgsrv.tls, so keep the listener on loopback otherwise
    stackql srv --pgsrv.address=127.0.0.1 --auth="${AUTH}"
    

その他の例については、ブログをご覧ください。

コントリビューション

コントリビューションを歓迎し、奨励しています。コントリビューションの方法については、コントリビューションガイドをご覧ください。

ライセンス

MIT ライセンスのもとで配布されています。詳しくは LICENSE をご覧ください。使用しているサードパーティソフトウェアのライセンスは、/docs/licenses ディレクトリに含まれています。

お問い合わせ

Twitter の @stackql からご連絡いただくか、[email protected] までメールをお送りください。または、ディスカッションで会話を始めてください。

謝辞

以下のフォークが、私たちの取り組みを支えています。

これらの成果に心より感謝いたします。

コメント

MCP は初めてですか?

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

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