Skip to main content
Glama

invoke_lambda_function_impl

Execute AWS Lambda functions with JSON payloads to access private resources, real-time data, or custom computations through the MCP2Lambda server.

Instructions

Tool that invokes an AWS Lambda function with a JSON payload. Before using this tool, list the functions available to you.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
function_nameYes
parametersYes

Implementation Reference

  • main.py:94-120 (handler)
    The core handler function for the 'invoke_lambda_function_impl' tool. Validates the function name, invokes the AWS Lambda function using boto3, handles errors, and formats the response payload.
    def invoke_lambda_function_impl(function_name: str, parameters: dict, ctx: Context) -> str:
        """Tool that invokes an AWS Lambda function with a JSON payload.
        Before using this tool, list the functions available to you."""
        
        if not validate_function_name(function_name):
            return f"Function {function_name} is not valid"
    
        ctx.info(f"Invoking {function_name} with parameters: {parameters}")
    
        response = lambda_client.invoke(
            FunctionName=function_name,
            InvocationType="RequestResponse",
            Payload=json.dumps(parameters),
        )
    
        ctx.info(f"Function {function_name} returned with status code: {response['StatusCode']}")
    
        if "FunctionError" in response:
            error_message = f"Function {function_name} returned with error: {response['FunctionError']}"
            ctx.error(error_message)
            return error_message
    
        payload = response["Payload"].read()
        
        # Format the response payload
        return format_lambda_response(function_name, payload)
  • main.py:126-126 (registration)
    Registration of the invoke_lambda_function_impl tool using the mcp.tool() decorator in the generic tools strategy.
    mcp.tool()(invoke_lambda_function_impl)
  • main.py:182-182 (registration)
    Fallback registration of the invoke_lambda_function_impl tool using the mcp.tool() decorator when dynamic registration fails.
    mcp.tool()(invoke_lambda_function_impl)
  • main.py:35-38 (helper)
    Helper function used by the handler to validate Lambda function names based on prefix or explicit list.
    def validate_function_name(function_name: str) -> bool:
        """Validate that the function name is valid and can be called."""
        return function_name.startswith(FUNCTION_PREFIX) or function_name in FUNCTION_LIST
  • main.py:56-65 (helper)
    Helper function used by the handler to format the Lambda response, preferring JSON pretty-printing.
    def format_lambda_response(function_name: str, payload: bytes) -> str:
        """Format the Lambda function response payload."""
        try:
            # Try to parse the payload as JSON
            payload_json = json.loads(payload)
            return f"Function {function_name} returned: {json.dumps(payload_json, indent=2)}"
        except (json.JSONDecodeError, UnicodeDecodeError):
            # Return raw payload if not JSON
            return f"Function {function_name} returned payload: {payload}"

Tool Definition Quality

Score is being calculated. Check back soon.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/danilop/MCP2Lambda'

If you have feedback or need assistance with the MCP directory API, please join our Discord server