AWS Lambda MCP Serverを試してみた

AWS Lambda MCP Serverを試してみた

Clock Icon2025.04.12

大阪オフィスの小倉です。

AWSのMCPサーバに、AWS Lambda MCP ServerAWS Diagram MCP Serverが追加されていました。

https://github.com/awslabs/mcp

今回はLambda MCP Serverを試してみました。

AWS Lambda MCP Server

以下の図によると、MCPクライアントとLambda関数のブリッジとなる、と記載されています。

(https://github.com/awslabs/mcp/blob/main/src/lambda-mcp-server/README.md より引用)

vscode-drop-1744416731194-gh8k56nkm1.png

それでは、以下のドキュメントに従って試していきます

AWS Lambda MCP Server - AWS MCP Servers

まず、lambda-mcp-server内のexamplesディレクトリの中に、サンプルとなるLambda関数のコードが格納されているので、AWS SAMを使ってデプロイします。
私は東京リージョンにデプロイしました。

デプロイされた関数は、メールアドレスから顧客IDを返す関数CustomerIdFromEmailと、顧客IDから顧客情報を返す関数CustomerInfoFromIdのようです。

CustomerInfoFromIdは以下のような応答を返すようになっていますね。

        # Simulate database lookup
        match customer_id:
            case '12345':
                return {
                    'customerId': '12345',
                    'name': 'John Doe',
                    'email': 'john.doe@example.com',
                    'phone': '+1-555-123-4567',
                    'address': {
                        'street': '123 Main St',
                        'city': 'Anytown',
                        'state': 'CA',
                        'zipCode': '12345',
                    },
                    'accountCreated': '2022-01-15',
                }
            case '54321':
                return {
                    'customerId': '54321',
                    'name': 'Jane Smith',
                    'email': 'jane.smith@example.com',
                    'phone': '+1-555-987-6543',
                    'address': {
                        'street': '456 Oak Ave',
                        'city': 'Othertown',
                        'state': 'NY',
                        'zipCode': '67890',
                    },
                    'accountCreated': '2022-02-20',
                }

mcp/src/lambda-mcp-server/examples/sample_functions/customer-info-from-id/app.py at 2f59ad9f5c61ba19458a1b6c0332608db9f285f2 · awslabs/mcp · GitHub

それではClaude Desktopからアクセスを試します。設定ファイルに以下を追記しました。

    "awslabs.lambda-mcp-server": {
      "command": "uvx",
      "args": ["awslabs.lambda-mcp-server@latest"],
      "env": {
        "AWS_PROFILE": "<profileの名前>",
        "AWS_REGION": "ap-northeast-1",
        "FUNCTION_PREFIX": "sam-app-Customer"
      }
    }

AWS_REGIONはAWS SAMでデプロイしたリージョンを指定します。
FUNCTION_PREFIXはSAMでデプロイされたLambdaの物理IDのPrefixです。
私の場合は、sam-app-CustomerIdFromEmail-xxxx,sam-app-CustomerInfoFromId-yyyyの名前でデプロイされたので、
2つの物理関数名に共通なprefixを指定しました。
FUNCTION_LISTで指定すれば、直接関数名を複数指定することもできるようです。

準備ができたので、Claude Desktopから問い合わせてみます。

vscode-drop-1744416824940-6zc7f3b6zu6.png

Lambda MCP Serverが呼び出され、Lambda関数が返した顧客の情報が回答されました!

まとめ

MCPクライアントとLambda MCP Serverを通してLambda関数を呼び出すことができました。
Lambda関数を呼び出せるということで、LLMからMCPを通して、AWS上でできることが大きく広がるのではないかと思います。
ぜひ皆さんも試してみてください!

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.