air-mcp-server
Allows sending booking confirmations via WhatsApp Cloud API.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@air-mcp-serverbook a haircut for John Doe on 2025-12-01 at 14:30"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
air-mcp-server
Template MCP server for AIR s2s agents, deployed on AWS Lambda via API Gateway and provisioned with AWS CDK. It exposes booking and date-utility tools that an AI agent can call over JSON-RPC.
Tools
Tool | Description |
| Saves a booking to DynamoDB and optionally sends a WhatsApp confirmation to the customer |
| Returns the current date and time (year, month, day, hour, minute, second, ISO string, timezone) |
| Validates that a |
Related MCP server: Serverless MCP Server
Architecture
API Gateway POST /mcp
│
▼
Lambda (Node.js 22, ESM)
air-mcp-handler-{stage}
│
├── DynamoDB air-bookings-{stage}
└── WhatsApp Cloud API (optional)The Lambda uses a custom HttpServerTransport (no external MCP middleware dependency) that wires JSON-RPC messages directly into @modelcontextprotocol/sdk.
Project structure
air-fiori-mcp/
├── __tests__/
│ ├── booking-tool/ # Jest tests for create_booking
│ └── tool-list/ # Snapshot test for the tool list
├── bin/
│ └── cdk-serverless-mcp-server.ts # CDK app entry point
├── lib/
│ └── cdk-serverless-mcp-server-stack.ts # CDK stack (Lambda + DynamoDB + API GW)
├── scripts/
│ ├── dev.sh # Local dev: cdk synth → SAM local start-api
│ └── generate-openapi.ts # Generates openapi.json from tool Zod schemas
├── src/
│ ├── index.ts # Lambda handler + MCP server bootstrap
│ ├── transport.ts # Custom HttpServerTransport
│ └── tool/
│ ├── booking/ # create_booking tool
│ └── date/ # get_current_date, validate_future_date tools
├── .env.example
├── cdk.json
└── package.jsonPrerequisites
Node.js v22+
AWS CDK v2:
npm install -g aws-cdkAWS SAM CLI (for local dev): install guide
Optionally: an AWS profile configured locally
Environment variables
Copy .env.example to .env and fill in the values:
STAGE_NAME=dev
BOOKINGS_TABLE_NAME=air-bookings-dev
WHATSAPP_ENABLED=0 # set to 1 to enable WhatsApp confirmations
WHATSAPP_API_TOKEN=
WHATSAPP_PHONE_NUMBER_ID=
AWS_REGION=eu-north-1Getting started
npm installRun tests
npm testLocal development
Starts a local API on http://localhost:3000 using SAM, pointing at the synthesized CDK template:
npm run devGenerate OpenAPI spec
Scans src/tool/ recursively, converts each tool's Zod schema to JSON Schema, and writes openapi.json at the project root. Re-run whenever you add a new tool — no manual changes needed.
npm run openapiDeploy
npm run deployAfter deployment the MCP endpoint is at the URL printed by CDK: https://<api-id>.execute-api.<region>.amazonaws.com/dev/mcp
Usage examples
List tools
curl -X POST http://127.0.0.1:3000/mcp \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-d '{"jsonrpc":"2.0","method":"tools/list","id":1}'Create a booking
curl -X POST http://127.0.0.1:3000/mcp \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-d '{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "create_booking",
"arguments": {
"customerName": "Mario Rossi",
"customerPhone": "+39 333 1234567",
"date": "2026-07-15",
"time": "10:00",
"serviceType": "flight",
"notes": "window seat please"
}
}
}'Get current date
curl -X POST http://127.0.0.1:3000/mcp \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-d '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"get_current_date","arguments":{}}}'Validate a date
curl -X POST http://127.0.0.1:3000/mcp \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-d '{"jsonrpc":"2.0","id":4,"method":"tools/call","params":{"name":"validate_future_date","arguments":{"date":"2026-07-15"}}}'License
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
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/eleva/air-stefauto-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server