

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# AWS MCP サーバーのセットアップ
<a name="aws-mcp-server"></a>

 AWS MCP サーバーは、 エージェントツールキットのマネージドモデルコンテキストプロトコルサーバーです AWS。これにより、AI エージェントは、ユーザーに代わって AWS API AWS コールを実行したり、サンドボックス環境でスクリプトを実行したり、オンデマンドで AWS スキル ( を含む[amazon-opensearch-service スキル](amazon-opensearch-service-skill.md)) を提供したりできます。これを使用して、エージェントの OpenSearch Service ドメインと OpenSearch Serverless コレクションを操作します。

**注記**  
 AWS MCP サーバーは、パブリック Amazon OpenSearch Service エンドポイントに接続します。VPC にデプロイされたドメインまたはコレクションはサポートされていません。OpenSearch Service ドメインまたは OpenSearch Serverless コレクションが VPC アクセスを使用している場合は、代わりにオープンソースの [opensearch-mcp-server-py](https://github.com/opensearch-project/opensearch-mcp-server-py) を使用します。これは、ローカル設定による VPC 接続をサポートします。

## 前提条件
<a name="aws-mcp-server-prerequisites"></a>
+ エージェントツールキットをサポートする AI コーディングエージェント AWS (Kiro、Claude Code、Cursor、Codex など）。
+ AWS 認証情報 (CLI AWS プロファイルや環境認証情報など) をローカルに設定し、実行する OpenSearch オペレーションのアクセス許可を付与します。ドメインについては、[アイデンティティベースのポリシー](ac.md#ac-types-identity)「」を参照してください。サーバーレスについては、「」を参照してください[Amazon OpenSearch Serverless のデータアクセスコントロール](serverless-data-access.md)。

## aws-data-analytics プラグインをインストールする (推奨)
<a name="aws-mcp-server-install-plugin"></a>

`aws-data-analytics` プラグインは AWS MCP サーバー設定と`amazon-opensearch-service`スキルを 1 回のインストールでバンドルするため、MCP エンドポイントを設定したり、スキルを個別にインストールしたりする必要はありません。

**Claude コード**

```
/plugin install aws-data-analytics@claude-plugins-official
/reload-plugins
```

**コーデック**

```
codex plugin marketplace add aws/agent-toolkit-for-aws
```

次に、Codex を起動し`/plugins`、 を実行して`aws-data-analytics`プラグインを参照およびインストールします。

## AWS MCP サーバーを直接設定する
<a name="aws-mcp-server-configure-directly"></a>

エージェントがプラグインをサポートしていない場合は、 AWS MCP サーバーを直接設定します。「 Agent Toolkit for AWS documentation」の[「Setting up the AWS MCP Server](https://docs.aws.amazon.com/agent-toolkit/latest/userguide/getting-started-aws-mcp-server.html)」に従い、エージェントに OpenSearch の質問をします。この質問は、サーバーを通じて実行時に`amazon-opensearch-service`スキルを検出します。

## スキルなしで AWS MCP サーバーを使用する
<a name="aws-mcp-server-without-skills"></a>

`amazon-opensearch-service` スキルを読み込むことなく AWS MCP サーバーを直接使用できます。このモードでは、エージェントはサーバーの組み込み`call_aws`ツールを使用して AWS API オペレーションを直接呼び出します。これは、アドホックオペレーションや、エージェントが行う API コールを正確に制御したい場合に役立ちます。

例えば、OpenSearch Serverless コレクションを作成するには:

```
Create an OpenSearch Serverless search collection named "my-collection" in us-east-1
```

エージェントは、設定された認証情報を使用して、ユーザーに代わって OpenSearch Serverless `CreateCollection` API を呼び出します。

```
{
  "name": "my-collection",
  "type": "SEARCH",
  "description": "My search collection"
}
```

スキルなしで既存のリソースに対してオペレーションを実行することもできます。例えば、次のようになります。

```
List all my OpenSearch Service domains in us-east-1
Show the cluster health for my domain named production-domain
Create an index called products in my collection endpoint
```

 AWS MCP サーバーは認証を処理し、自然言語リクエストを適切な AWS API または OpenSearch API コールに変換します。

## セットアップを確認する
<a name="aws-mcp-server-verify"></a>

インストール後、エージェントを再起動して新しい設定をロードします。次に、次の質問をします。

```
What AWS skills do you have available for OpenSearch?
```

エージェントは`amazon-opensearch-service`スキルを報告する必要があります。*OpenSearch Service ドメインを一覧表示する*」などのタスクを試す – エージェントは、設定された認証情報を使用して AWS MCP サーバー経由で呼び出しを実行します。

## セキュリティに関する考慮事項
<a name="aws-mcp-server-security"></a>

 AWS MCP サーバーは、指定した認証情報で実行されます。以下のプラクティスに従います。
+ **最小特権の認証情報を使用します。**専用 IAM プリンシパルを、エージェントが必要とする OpenSearch リソースとアクションにスコープします。管理者の認証情報は避けてください。
+ **開発と本番を分離します。**探索のために非本番稼働用リソースにサーバーを向け、本番稼働用の変更前に確認する必要があります。
+ **認証情報を保護します。**静的アクセスキーよりも IAM ロールと AWS CLI プロファイルを優先し、ソース管理の設定ファイルにシークレットをコミットしないでください。
+ **ツールの出力を確認します。**MCP ツールレスポンスは、コンテキストとしてモデルに返されます。モデルプロバイダーに公開したくない機密データを含むインデックスに対してサーバーを実行しないでください。

## トラブルシューティング
<a name="aws-mcp-server-troubleshooting"></a>
+ **エージェントに OpenSearch スキルやツールが表示されない** – プラグインまたは MCP 設定が有効であることを確認し、エージェントを完全に再起動します。ほとんどのエージェントは、起動時にのみ MCP サーバーをロードします。
+ **呼び出しは 403 Forbidden を返します** – 認証情報に呼び出される API に対するアクセス許可がありません。ドメインの場合は、ドメインアクセスポリシーとプリンシパルの IAM ポリシーを確認します。Serverless の場合は、コレクションのデータアクセスポリシーを確認します。

## エージェントフレームワークで を使用する
<a name="aws-mcp-server-frameworks"></a>

 AWS MCP サーバーをプログラムワークフロー用の Python エージェントフレームワークに統合できます。次の例は、OpenSearch およびその他の AWS サービスへの認証されたアクセスを提供する AWS MCP サーバーエンドポイントに接続します。

### Strands Agents
<a name="aws-mcp-server-strands"></a>

[Strands Agents](https://strandsagents.com) は、組み込み MCP サポートとデフォルトのモデルプロバイダーとしての Amazon Bedrock を備えた AWSネイティブエージェント SDK です。

```
from strands import Agent
from strands.tools.mcp import MCPClient
from mcp_proxy_for_aws.client import aws_iam_streamablehttp_client

ENDPOINT = "https://aws-mcp.us-east-1.api.aws/mcp"
AWS_REGION = "us-east-1"

opensearch_client = MCPClient(
    lambda: aws_iam_streamablehttp_client(
        endpoint=ENDPOINT,
        aws_service="aws-mcp",
        aws_region=AWS_REGION,
    )
)

with opensearch_client:
    agent = Agent(tools=opensearch_client.list_tools_sync())
    response = agent("What OpenSearch Service domains do I have?")
    print(response)
```

必要なパッケージをインストールします。

```
pip install strands-agents mcp-proxy-for-aws
```

### LangGraph
<a name="aws-mcp-server-langgraph"></a>

[LangGraph](https://github.com/langchain-ai/langgraph) は、ステートフルエージェントを構築するための低レベルのオーケストレーションフレームワークです。次の例では`mcp-proxy-for-aws`、 を使用して認証されたトランスポートを提供し`langchain-mcp-adapters`、Amazon Bedrock にバックアップされた LangChain エージェントに AWS MCP ツールをロードします。

```
import asyncio
from mcp import ClientSession
from mcp_proxy_for_aws.client import aws_iam_streamablehttp_client
from langchain_mcp_adapters.tools import load_mcp_tools
from langchain_aws import ChatBedrock
from langchain.agents import create_agent

ENDPOINT = "https://aws-mcp.us-east-1.api.aws/mcp"
AWS_REGION = "us-east-1"

async def main():
    async with aws_iam_streamablehttp_client(
        endpoint=ENDPOINT,
        aws_service="aws-mcp",
        aws_region=AWS_REGION,
    ) as (read_stream, write_stream, _get_session_id):
        async with ClientSession(read_stream, write_stream) as session:
            await session.initialize()
            tools = await load_mcp_tools(session)
            model = ChatBedrock(
                model_id="us.anthropic.claude-opus-4-8",
                region_name=AWS_REGION,
            )
            agent = create_agent(model, tools)
            result = await agent.ainvoke(
                {"messages": [{"role": "user", "content": "What OpenSearch Service domains do I have?"}]}
            )
            print(result["messages"][-1].content)

asyncio.run(main())
```

必要なパッケージをインストールします。

```
pip install mcp-proxy-for-aws langchain langchain-aws langchain-mcp-adapters langgraph
```

## 詳細情報
<a name="aws-mcp-server-more-information"></a>
+ [AWS コンポーネント用の エージェントツールキット](https://docs.aws.amazon.com/agent-toolkit/latest/userguide/components.html)