"""
Example Lambda Function: Data Lookup Tool
This Lambda function can be wrapped as an MCP tool via the gateway
"""
import json
import logging
logger = logging.getLogger()
logger.setLevel(logging.INFO)
def lambda_handler(event, context):
"""
Data lookup Lambda function
Expected input:
{
"query": "user_id",
"value": "12345"
}
Returns:
{
"query": "user_id",
"value": "12345",
"data": {...}
}
"""
try:
# Parse input
if isinstance(event, str):
event = json.loads(event)
query = event.get('query', '')
value = event.get('value', '')
logger.info(f"Data lookup: {query} = {value}")
# Mock data lookup (in production, query actual database)
mock_data = {
'user_id': {
'12345': {
'id': '12345',
'name': 'John Doe',
'email': 'john.doe@example.com',
'status': 'active'
}
},
'order_id': {
'ORD-001': {
'id': 'ORD-001',
'user_id': '12345',
'total': 99.99,
'status': 'completed'
}
}
}
data = None
if query in mock_data and value in mock_data[query]:
data = mock_data[query][value]
else:
data = {'message': f'No data found for {query}={value}'}
return {
'statusCode': 200,
'body': json.dumps({
'query': query,
'value': value,
'data': data
})
}
except Exception as e:
logger.error(f"Error in data lookup: {e}")
return {
'statusCode': 500,
'body': json.dumps({
'error': str(e)
})
}