# Hello MCP Server
Simple MCP (Model Context Protocol) server with AWS Lambda deployment.
## π Quick Start
### Local Development
```bash
npm install
npm run dev
```
Connect to Claude Desktop by adding to config:
```json
{
"mcpServers": {
"hello-mcp": {
"command": "npx",
"args": ["tsx", "/Users/mingfang/Code/hello-mcp/index.ts"]
}
}
}
```
### Deploy to AWS Lambda
```bash
# Build and deploy
npm run deploy
# Or step by step
npm run build:lambda
sam deploy --guided
```
**First time setup:**
- Stack Name: `hello-mcp-stack`
- Region: `ap-southeast-2`
- Bearer Token: `mcp-secret-token-12345`
- Confirm all: `Y`
## π Authentication
Bearer token: `mcp-secret-token-12345`
Change it:
```bash
sam deploy --parameter-overrides BearerToken="your-new-token"
```
## π§ͺ Test Deployment
```bash
# Health check
curl https://gjt4ggcz76.execute-api.ap-southeast-2.amazonaws.com/health
# List available tools
curl -H "Authorization: Bearer mcp-secret-token-12345" \
https://gjt4ggcz76.execute-api.ap-southeast-2.amazonaws.com/mcp
# Call sayHello tool
curl -X POST \
-H "Authorization: Bearer mcp-secret-token-12345" \
-H "Content-Type: application/json" \
-d '{"tool": "sayHello", "params": {"name": "World"}}' \
https://gjt4ggcz76.execute-api.ap-southeast-2.amazonaws.com/mcp
```
## π Connect Claude to Lambda
Edit: `~/Library/Application Support/Claude/claude_desktop_config.json`
```json
{
"mcpServers": {
"hello-mcp-lambda": {
"url": "https://gjt4ggcz76.execute-api.ap-southeast-2.amazonaws.com/mcp",
"transport": "http",
"headers": {
"Authorization": "Bearer mcp-secret-token-12345"
}
}
}
}
```
**Important:** Use `"transport": "http"` for Lambda.
## π οΈ Tools
- **sayHello** - Greet someone by name
## π Deployment Record
**Stack Name:** `hello-mcp-stack`
**Region:** `ap-southeast-2`
**Deployed:** 2025-10-17
**Status:** β
Tested and working
**Outputs:**
- **API URL:** `https://gjt4ggcz76.execute-api.ap-southeast-2.amazonaws.com/`
- **Lambda ARN:** `arn:aws:lambda:ap-southeast-2:670326884047:function:hello-mcp-server`
- **Authentication:** Bearer token with 'http' transport
**Test Results:**
```bash
# β
Health check working
# β
Tool listing: ["sayHello"]
# β
sayHello execution: "Hello, AWS Lambda! π"
```
## π Project Structure
```
hello-mcp/
βββ index.ts # Local development (stdio)
βββ lambda.ts # AWS Lambda handler
βββ template.yaml # AWS SAM template
βββ samconfig.toml # SAM configuration
βββ package.json # Dependencies
βββ tsconfig.json # TypeScript config
```
## π° Cost
Lambda free tier: 1M requests/month
Expected cost: $0-5/month
## π Learn More
- [FastMCP](https://github.com/punkpeye/fastmcp)
- [MCP Protocol](https://modelcontextprotocol.io/)
- [AWS Lambda](https://docs.aws.amazon.com/lambda/)