For the complete documentation index, see llms.txt. Markdown versions of all docs pages are available by appending .md to any docs URL.
エージェントから MCP サーバーへ
AccessPolicy を使用して、MCP サーバーのツールを呼び出せる kagent のエージェントデプロイを制御します。
始める前に
エージェントと MCP サーバーを Solo Enterprise for kagent にデプロイします。
MCP ツールへのアクセスを制限する
デフォルトでは、デプロイ済みのエージェントは MCP サーバー上のすべてのツールを呼び出せます。エージェントがランタイムで特定のツールだけにアクセスできるように制限するには、AccessPolicy リソースを作成します。適用すると、Solo Enterprise for agentregistry はそのポリシーを Kubernetes の AccessPolicy CRD として kagent に展開し、agentgateway がウェイポイントプロキシのレベルで適用します。
Note
AccessPolicy による適用は、ローカルの MCPServer リソースにのみ適用されます。Solo Enterprise for kagent ランタイムでは RemoteMCPServer をターゲットにできません。リモート MCP サーバーへのアクセスは、このポリシー機構では制限できません。
エージェントが特定の MCP サーバーツールにアクセスできるようにする AccessPolicy を作成します。次の例では、
myagentデプロイがmymcpMCP サーバーのexample_echoツールにアクセスできるようにします。mymcpサーバーにはexample_echoとexample_sumの 2 つのツールがあります。example_sumは記載していないため、そのツールへのアクセスは拒否されます。arctl apply -f - <<EOF apiVersion: ar.dev/v1alpha1 kind: AccessPolicy metadata: name: myagent-mymcp-echo spec: description: Allow myagent to invoke example_echo on mymcp. principals: - kind: Deployment name: myagent rules: - actions: - runtime:invoke resources: - kind: server name: mymcp subresources: - tool/example_echo EOF出力例:
✓ AccessPolicy/myagent-mymcp-echo createdフィールド 説明 spec.principals[].kind呼び出し元のエージェントデプロイを指定するには Deploymentに設定します。spec.principals[].nameこのポリシーがアウトバウンドアクセスを許可するエージェントデプロイの名前。 spec.rules[].actions認可する操作。ツールの呼び出しを許可するには runtime:invokeを設定します。spec.rules[].resources[].kindターゲットの種類。カタログの MCP サーバーには serverを使用します。spec.rules[].resources[].nameターゲットの MCP サーバーの名前。すべてのサーバーに一致させるには "*"を使用します。spec.rules[].resources[].subresources任意。エージェントが呼び出せるツール名のリスト。 tool/を接頭辞として指定します。省略すると、ターゲットサーバー上のすべてのツールが許可されます。ポリシーが Kubernetes の AccessPolicy CRD として kagent に伝播されたことを確認します。Solo Enterprise for agentregistry は、展開した各 CRD に
ar-<policyName>-r<ruleIndex>-res<resourceIndex>のパターンで名前を付けます。kubectl -n kagent get accesspolicy ar-myagent-mymcp-echo-r0-res0 -o yamlNote
CRD が表示されるまで数秒かかる場合があります。展開は、ポリシーがコミットされた後に非同期で実行されます。
UI で Instances ビューを開き、
myagentエージェントを選択します。Agent Details カードで Open Chat をクリックします。
エージェントとチャットし、何ができるか尋ねます。Enter を押してエージェントの応答を待ちます。MCP サーバーの
example_echoツールがエージェントから一覧表示されることを確認します。example_echoだけにアクセスを許可したため、example_sumMCP ツールは表示されません。
その他の構成
その他の一般的な構成例を確認します。
サーバー上のすべてのツールを許可する
myagent エージェントが mymcp MCP サーバー上のすべてのツールを呼び出せるようにし、他の MCP サーバーへのアクセスは制限します。
arctl apply -f- <<EOF
apiVersion: ar.dev/v1alpha1
kind: AccessPolicy
metadata:
name: myagent-mymcp-all
spec:
description: Allow myagent to invoke all tools on mymcp.
principals:
- kind: Deployment
name: myagent
rules:
- actions:
- runtime:invoke
resources:
- kind: server
name: mymcp
EOFすべてのサーバー上のすべてのツールを許可する
myagent エージェントがすべての MCP サーバー上のすべてのツールを呼び出せるようにします。
arctl apply -f- <<EOF
apiVersion: ar.dev/v1alpha1
kind: AccessPolicy
metadata:
name: myagent-all-servers
spec:
description: Allow myagent to invoke all tools on all MCP servers.
principals:
- kind: Deployment
name: myagent
rules:
- actions:
- runtime:invoke
resources:
- kind: server
name: "*"
EOF