コンテンツにスキップ
これは最新の機能を備えた最新リリースですが、長期サポートは提供されません。サポートを継続するには、新しいリリースごとにアップグレードするか、四半期ごとの安定版リリースをご利用ください。

For the complete documentation index, see llms.txt. Markdown versions of all docs pages are available by appending .md to any docs URL.

エージェントから MCP サーバーへ

Page as Markdown

AccessPolicy を使用して、どのエージェントが MCP サーバーのツールを呼び出せるかを制御します。

始める前に

クイックスタートガイドに従って Solo Enterprise for agentregistry をインストールし、最初のエージェントをデプロイしてください。クイックスタートでは、OIDC プロバイダーとして Keycloak もセットアップし、このガイドで AccessPolicy の作成に使用する管理者ユーザーを作成します。

MCP ツールアクセスを制限する

デフォルトでは、デプロイされたすべてのエージェントが MCP サーバー上のすべてのツールを呼び出せます。エージェントが実行時に特定のツールのみアクセスできるよう制限するには、AccessPolicy リソースを作成します。

  1. myagent エージェントが mymcp MCP サーバーの echo MCP ツールにアクセスできる AccessPolicy を作成します。mymcp サーバーには echosum の 2 つのツールが含まれています。sum ツールは AccessPolicy に記載されていないため、そのツールへのアクセスは拒否されます。

    cat <<EOF | arctl apply -f -
    apiVersion: ar.dev/v1alpha1
    kind: AccessPolicy
    metadata:
      name: access-myagent-mymcp
    spec:
      description: Allow the myagent agent to invoke the echo MCP server tool, but not the sum tool at runtime.
      principals:
        - kind: Deployment
          name: myagent
      rules:
        - actions:
            - runtime:invoke
          resources:
            - kind: server
              name: mymcp
              subresources:
                - tool/example_echo
    EOF

    出力例:

    ✓ AccessPolicy/access-myagent-mymcp created
    
  2. UI の Instances ビューを開き、myagent エージェントを選択します。

  3. Agent Details カードで Open Chat をクリックします。

  4. エージェントとチャットし、何ができるか尋ねてください。Enter を押してエージェントの返答を待ちます。エージェントが組み込みツール(roll-die および check-prime)と MCP サーバーの example_echo ツールを一覧表示することを確認します。example_echo ツールのみアクセスを許可したため、example_sum MCP ツールは表示されません。

その他の設定

その他の一般的な設定例を確認してください。

すべてのツールアクセスを許可する

myagent エージェントが everything MCP サーバーでホストされているすべてのツールを呼び出せるようにしますが、他の MCP サーバーへのアクセスは制限します。

arctl apply -f- <<EOF
apiVersion: ar.dev/v1alpha1
kind: AccessPolicy
metadata:
  name: access-policy
spec:
  description: "Runtime access policy"
  principals:
    - kind: Deployment
      name: myagent
  rules:
    - actions:
        - "runtime:invoke"
      resources:
        - kind: server
          name: everything
EOF