Claude DesktopからAWS MCPサーバ経由でAWS公式ドキュメントを検索してみた

## はじめに
- 正直MCPサーバがよくわかっていない状態で、見よう見まねでやってみた
- Claude Desktopは有料版ではなく、無償版の範囲で利用
- Windowの端末から構築した際の手順を整理

## 参照
[AWS Documentation MCP Server](https://github.com/awslabs/mcp/blob/main/src/aws-documenttion-mcp-server/README.md)

## 環境
- Windows 11
- [Claude for Windows](https://claude.ai/download)
    - 「Windows」ボタンの方
    - 「Windows (arm64)」はARM64アーキテクチャ向けの特殊なバージョンで、Surface ProやWindows on ARMデバイスなど特定のハードウェア向け

## 事前準備
###  Python のインストール（推奨：**Python 3.10 以降**）
- [公式サイト](https://www.python.org/downloads/windows/)にアクセス
- 最新の Windows Installer (64-bit) をダウンロード
- インストーラーを起動し、「Add Python to PATH」にチェックしてから「Install Now」をクリック
- インストール完了後、以下を実行して確認
```powershell
python --version
```

### uv のインストール（Python モジュール実行環境）
- [Astral](https://docs.astral.sh/uv/getting-started/installation/)または[GitHubのREADMEuv](https://github.com/astral-sh/uv#installation)からインストールす
- インストール完了後、以下を実行して確認
```powershell
uv --version
```
※古いPythonはアンインストール
※パスが通っていないとバージョンが表記されない

## 環境構築手順
### 1. Claude Desktop設定ファイルにMCPサーバー情報を追記
- ハンバーガーマーク　＞　ファイル　＞　設定
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4045441/2f62e81e-85b9-4781-b3b5-aee0ca93f2ac.png)

- 開発者　＞　構成を編集
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4045441/ef3477eb-44d7-462f-94cf-2aad09ad6fd0.png)

- エクスプローラー(C:\Users\ユーザ名\AppData\Roaming\Claude)が展開されるので、**claude_desktop_config.json**を開く

- 以下のように編集して保存
```
{
  "mcpServers": {
    "awslabs.aws-documentation-mcp-server": {
      "command": "uvx",
      "args": ["--from", "awslabs-aws-documentation-mcp-server", "awslabs.aws-documentation-mcp-server.exe"],
      "env": {
        "FASTMCP_LOG_LEVEL": "ERROR",
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}
```

- 設定変更の反映（Claude for Desktopの設定ファイルを編集した後、変更反映されないことがある）の為以下の手順で終了させる
- ハンバーガーマーク　＞　ファイル　＞　終了
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4045441/1f95e31d-bc3a-442f-b038-fa8fa5d4626b.png)


## Claude Desktop起動
- Claude Desktop起動し、ハンマーマークが表示されていたら**成功！**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4045441/c1240bd5-decb-4e98-a5ec-c820e6b8344b.png)

      
## MCPサーバに接続できているか試してみる    
- 「S3 バケットの命名ルールに関するドキュメントを参照してください。ソースを引用してください。」を入力
- ↑これは、[awslabsが公開しているAWSドキュメントMCPサーバ](https://github.com/awslabs/mcp/blob/main/src/aws-documentation-mcp-server/README.md)に記載の文章をそのまま
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4045441/a8706241-cee0-4524-92e0-f4f0a03d7b79.png)

- 以下のような画面が表示されるのでどちらかの許可を押下し、ツール利用を許可する


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4045441/2a93cc6f-0193-4f75-ab51-ab21f5baba71.png)

- AWS公式ドキュメントからの最終的な出力結果を待って完了となる

- ※もし拒否するとAWS公式ドキュメントに接続せず、通常のClaudeの機能として回答をする
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4045441/412d6e96-924f-4eb1-9137-e805e055ebe0.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4045441/92fe77e2-77c2-4204-9aa2-ea21733d2a1a.png)



## さいごに
- 作成してみて、形となってMCPサーバを理解したところがある
- ツールの[許可][拒否]の箇所で切り替える事ができ、出力の差を確認することができた
- 本ツールを活用することで、AWS公式ドキュメントからの回答を取得できるので安心感あり
- Claude Desktopは無償版を利用していることもあり、長文や大きなファイルの入力・出力は制限されることもある
- AWS MCPからは他にも複数のMCPサーバーが提供されているので、作成してみたい
- 本環境に、他のサービスを追加することで以下のMCP連携のイメージ図に近づく
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4045441/48b1e6b0-4dd1-4ff2-be11-686d4c7fd70e.png)