
AWS Lambda MCP Serverを試してみた
大阪オフィスの小倉です。
AWSのMCPサーバに、AWS Lambda MCP Server
とAWS Diagram MCP Server
が追加されていました。
今回はLambda MCP Serverを試してみました。
AWS Lambda MCP Server
以下の図によると、MCPクライアントとLambda関数のブリッジとなる、と記載されています。
(https://github.com/awslabs/mcp/blob/main/src/lambda-mcp-server/README.md より引用)
それでは、以下のドキュメントに従って試していきます
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',
}
それでは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から問い合わせてみます。
Lambda MCP Serverが呼び出され、Lambda関数が返した顧客の情報が回答されました!
まとめ
MCPクライアントとLambda MCP Serverを通してLambda関数を呼び出すことができました。
Lambda関数を呼び出せるということで、LLMからMCPを通して、AWS上でできることが大きく広がるのではないかと思います。
ぜひ皆さんも試してみてください!