mcpField
T
Turbot Guardrails Model Context Protocol (MCP) Server

Turbot Guardrails Model Context Protocol (MCP) Server

ローカル
turbot.comクラウド・インフラ426 週間前に更新

Turbot Guardrails Model Context Protocol (MCP) Server について

Turbot Guardrails MCP Serverは、AIアシスタントからGuardrailsワークスペースのクラウドガバナンスデータを調査・検索するサーバーです。GraphQLに加え、リソース、コントロール、ポリシーの操作やコントロールの実行に対応します。

主な機能

  1. 01読み取り専用GraphQLクエリ
  2. 02リソースとタイプの閲覧
  3. 03コントロールとポリシーの一覧・詳細表示
  4. 04コントロールの実行とコンプライアンス確認
  5. 05実行可能タイプのスキーマ調査
  6. 06Nunjucksテンプレートのレンダリング

活用シーン

  1. 01条件に合うクラウドリソースの検索
  2. 02非準拠リソースの確認
  3. 03ポリシーとコントロールタイプの調査

MCP 対応

MCPクライアントに、GuardrailsのGraphQLクエリと、リソース、コントロール、ポリシー、テンプレートを扱うツールを提供します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"guardrails": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/inspector"
]
}
}
}
起動コマンドnpx -y @modelcontextprotocol/inspector

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

パッケージ
npm@modelcontextprotocol/inspector

ツール

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

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

詳細

Turbot Guardrails Model Context Protocol(MCP)サーバー

Turbot Guardrailsで、AI を活用したクラウドガバナンスの力を引き出しましょう。この Model Context Protocol(MCP)サーバーは、Claude などの AI アシスタントを Guardrails のデータに接続し、クラウド環境全体を自然言語で探索、分析、自動化できるようにします。

Guardrails MCP は AI アシスタントと Guardrails 環境をつなぎ、自然言語で次のことを可能にします。

  • GraphQL を使用したクラウドリソースのクエリと分析
  • リソース、コントロール、ポリシーの種類の一覧表示とフィルタリング
  • コントロールの実行とコンプライアンスの確認
  • カスタムクエリ用の GraphQL スキーマの探索
  • 動的な設定のための Nunjucks を使用したテンプレート処理

インストール

前提条件
設定

Guardrails MCP は、2 種類の認証方法に対応しています。環境変数名は Turbot CLI と一致しているため、CLI の設定が済んでいるユーザーは認証情報を再定義する必要はありません。従来の v0.1.x の名前も別名として使用できます。

推奨:Turbot CLI プロファイル

Turbot CLI を使用している場合、名前付きプロファイルを含む credentials.yml ファイルがすでにあります。プロファイル名を指定してください。

{
  "mcpServers": {
    "turbot-guardrails": {
      "command": "npx",
      "args": ["-y", "@turbot/guardrails-mcp"],
      "env": {
        "TURBOT_PROFILE": "your-profile-name"
      }
    }
  }
}

デフォルトでは、MCP は ~/.config/turbot/credentials.yml を読み込みます。別の場所を使用するには TURBOT_CLI_CREDENTIALS_PATH を設定してください。~ は自動的に展開されるため、シェルを経由しない JSON 設定内でも ~/Documents/turbot.yml を使用できます。

credentials.yml の例:

demo-acme:
  workspace: https://demo-acme.cloud.turbot.com
  accessKey: abcdefgh-1234-0808-wxyz-123456789012
  secretKey: hgfedcba-1234-0101-aaaa-aabbccddee00
代替方法:環境変数を直接指定

MCP サーバーの設定で、3 つの認証情報変数をすべて直接設定してください。

{
  "mcpServers": {
    "turbot-guardrails": {
      "command": "npx",
      "args": ["-y", "@turbot/guardrails-mcp"],
      "env": {
        "TURBOT_WORKSPACE": "https://demo-acme.cloud.turbot.com",
        "TURBOT_ACCESS_KEY": "abcdefgh-1234-0808-wxyz-123456789012",
        "TURBOT_SECRET_KEY": "hgfedcba-1234-0101-aaaa-aabbccddee00"
      }
    }
  }
}

TURBOT_WORKSPACE には、ワークスペースのベース URL または完全修飾された GraphQL エンドポイントを指定できます。/api/latest/graphql のサフィックスがない場合は自動的に追加され、末尾のスラッシュや空白は正規化されます。

両方の方法が設定されている場合は、直接指定された認証情報が優先されます(Turbot CLI の優先順位と同じです)。直接指定された変数が 1 つ以上不足している場合は、プロファイルが使用されます。

後方互換性(v0.1.x の環境変数名)

既存の v0.1.x 設定は、変更なしで引き続き使用できます。従来の名前は次のように CLI に準拠した名前に対応します。

CLI に準拠した名前(推奨)従来の別名(引き続き使用可能)
TURBOT_PROFILETURBOT_CLI_PROFILE
TURBOT_WORKSPACETURBOT_GRAPHQL_ENDPOINT
TURBOT_ACCESS_KEYTURBOT_ACCESS_KEY_ID
TURBOT_SECRET_KEYTURBOT_SECRET_ACCESS_KEY

同じフィールドに両方の名前が設定されている場合は、CLI に準拠した名前が優先されます。新しい設定では、CLI に準拠した名前を使用してください。

AI アシスタントの設定
アシスタント設定ファイルの場所設定ガイド
Claude Desktopclaude_desktop_config.jsonClaude Desktop MCP ガイド →
Cursor~/.cursor/mcp.jsonCursor MCP ガイド →

設定ファイルを保存し、変更を反映するために AI アシスタントを再起動してください。

プロンプトガイド

まず、以下の例のように Guardrails 環境について質問します。

What AWS accounts can you see in Guardrails?

簡潔で具体的な質問が効果的です。

Show me all S3 buckets created in the last week

コンプライアンスとセキュリティのレポートを生成します。

List all EC2 instances that are non-compliant with our tagging standards

ポリシーとコントロールの種類を調べます。

Show me all policy types related to encryption
List all control types for S3 buckets

リソースの詳細を掘り下げます。

Show details for resource ID 1234567890

以下の点に注意してください。

  • 分析したいリソース、コントロール、ポリシーを具体的に指定します
  • カテゴリ、タイトル、タグでフィルターを使用します
  • 複雑な条件を追加する前に、簡単なクエリから始めます
  • 自然言語を使用します。LLM が GraphQL への変換を処理します

機能

ツール
コアクエリとテンプレートのツール
  • guardrails_query
    • Guardrails で読み取り専用の GraphQL クエリを実行します。
    • 入力:query(文字列、必須)、variables(オブジェクト、省略可)
  • guardrails_query_runnable
    • 特定の runnable タイプとリソースに対して GraphQL クエリを実行します。
    • 入力:runnableTypeUri(文字列)、resourceId(文字列)、query(文字列)、variables(オブジェクト、省略可)
  • guardrails_query_runnable_introspection
    • runnable タイプのスキーマをイントロスペクションします。
    • 入力:runnableTypeUri(文字列)、section(文字列、省略可:'queryType'、'types'、'type')、typeName(文字列、section が 'type' の場合は必須)
  • guardrails_process_template
    • 指定された入力を使用して Nunjucks テンプレートをレンダリングします。
    • 入力:template(文字列)、input(オブジェクト、省略可)
リソース操作
  • guardrails_resource_list
    • リソースの一覧を取得します。フィルターは省略可能です。
    • 入力:filter(文字列、省略可)
  • guardrails_resource_show
    • 特定のリソースの詳細を表示します。
    • 入力:id(文字列)
  • guardrails_resource_type_list
    • リソースタイプの一覧を取得します。フィルターは省略可能です。
    • 入力:filter(文字列、省略可)
  • guardrails_resource_type_show
    • 特定のリソースタイプの詳細を表示します。
    • 入力:id(文字列)
コントロール操作
  • guardrails_control_list
    • コントロールの一覧を取得します。フィルターは省略可能です。
    • 入力:filter(文字列、省略可)
  • guardrails_control_show
    • 特定のコントロールの詳細を表示します。
    • 入力:id(文字列)
  • guardrails_control_run
    • ID でコントロールを実行します。
    • 入力:controlId(文字列)
  • guardrails_control_type_list
    • コントロールタイプの一覧を取得します。フィルターは省略可能です。
    • 入力:filter(文字列、省略可)
  • guardrails_control_type_show
    • 特定のコントロールタイプの詳細を表示します。
    • 入力:id(文字列)
ポリシー操作
  • guardrails_policy_type_list
    • ポリシータイプの一覧を取得します。フィルターは省略可能です。
    • 入力:filter(文字列、省略可)
  • guardrails_policy_type_show
    • 特定のポリシータイプの詳細を表示します。
    • 入力:id(文字列)
  • guardrails_policy_setting_list
    • ポリシー設定の一覧を取得します。フィルターは省略可能です。
    • 入力:filter(文字列、省略可)
  • guardrails_policy_setting_show
    • 特定のポリシー設定の詳細を表示します。
    • 入力:id(文字列)

開発

クローンとセットアップ
  1. リポジトリをクローンし、ディレクトリに移動します。

    git clone https://github.com/turbot/guardrails-mcp.git
    cd guardrails-mcp
    
  2. 依存関係をインストールします。

    npm install
    
  3. 認証情報を記載した .env ファイルを作成します。次のいずれかの方法を使用できます。

    推奨 — Turbot CLI プロファイル:

    echo "TURBOT_PROFILE=your-profile-name" > .env
    

    代替 — 認証情報を直接指定:

    cat > .env <<'EOF'
    TURBOT_WORKSPACE=https://demo-acme.cloud.turbot.com
    TURBOT_ACCESS_KEY=your-access-key
    TURBOT_SECRET_KEY=your-secret-key
    EOF
    
  4. プロジェクトをビルドします。

    npm run build
    
  5. 自動再コンパイルを有効にして開発する場合:

    npm run watch
    
  6. Claude Desktop でローカルの開発バージョンを使用するには、ビルド済みの dist/index.js を参照するように設定を更新します。

    {
      "mcpServers": {
        "turbot-guardrails": {
          "command": "node",
          "args": ["/full/path/to/guardrails-mcp/dist/index.js"],
          "env": {
            "TURBOT_PROFILE": "your-profile-name"
          }
        }
      }
    }
    

    /full/path/to/guardrails-mcp を、ローカルの開発ディレクトリの絶対パスに置き換えます。

デバッグ

  • MCP Inspector
    • MCP Inspector でサーバーをテストします。
      npm run build
      npx @modelcontextprotocol/inspector node dist/index.js
      

トラブルシューティング

サーバーは起動時に、どの認証情報の取得方法が選択されたかをログに記録します。これにより、適切な方法が選ばれたことを確認できます。

Authenticated via Turbot CLI profile 'demo-acme' (from /Users/you/.config/turbot/credentials.yml)

または

Authenticated via direct environment variables

選択されたエンドポイントが HTTPS を使用していない場合、Basic 認証の認証情報が平文で送信されるため、警告がログに記録されます。

  • 認証情報が不足している場合: TURBOT_PROFILE を設定するか、3 つの認証情報変数(TURBOT_WORKSPACE、TURBOT_ACCESS_KEY、TURBOT_SECRET_KEY)をすべて設定してください。従来の v0.1.x の名前(TURBOT_CLI_PROFILE、TURBOT_GRAPHQL_ENDPOINT、TURBOT_ACCESS_KEY_ID、TURBOT_SECRET_ACCESS_KEY)も使用できます。
  • プロファイルが見つからない場合: プロファイル名が認証情報ファイルのエントリと一致していること、およびファイルパスが正しいことを確認してください(デフォルトは ~/.config/turbot/credentials.yml です)。
  • プロファイルのフィールドが不足している場合: credentials.yml 内の各プロファイルには、workspace、accessKey、secretKey を含める必要があります。
  • 認証エラーの場合: API キーが正しく、必要な権限があることを確認してください。AI アシスタントに返されるエラーメッセージでは、認証情報の値はすべてマスキングされます。
  • 接続に問題がある場合: Guardrails エンドポイントの URL が正しいことを確認してください。
  • API エラーの場合: 詳細な GraphQL エラーメッセージについては、サーバーのログを確認してください。

コメント

MCP は初めてですか?

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

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