lambda_handler.py•1.13 kB
"""AWS Lambda HTTP server for OpenAPI MCP Server.
This module runs the MCP server as a standard HTTP server using uvicorn.
AWS Lambda Web Adapter handles the Lambda integration transparently.
"""
import os
import uvicorn
from awslabs.openapi_mcp_server.api.config import load_config
from awslabs.openapi_mcp_server.server import create_mcp_server
DEFAULT_PORT = 8080
ROOT_PATH = "/"
HTTP_TRANSPORT = "http"
def create_application():
"""Create and configure the MCP ASGI application.
Returns:
Configured ASGI application ready for deployment
"""
server = create_mcp_server(load_config())
return server.http_app(
path=ROOT_PATH,
transport=HTTP_TRANSPORT,
stateless_http=True,
)
app = create_application()
def get_port_from_environment() -> int:
"""Extract port number from environment variables.
Returns:
Port number for HTTP server
"""
return int(os.getenv("PORT", str(DEFAULT_PORT)))
if __name__ == "__main__":
uvicorn.run(
app,
host="0.0.0.0",
port=get_port_from_environment(),
log_level="info",
)