Skip to main content
Glama
mfang0126

Hello MCP Server

by mfang0126
README.md
# 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/)

TDQS

A4.2/5.0

Scored across 1 tool

Disambiguation5/5

Only one tool exists, so there is no risk of confusion between tools.

Naming Consistency5/5

With a single tool named 'sayHello', naming is trivially consistent.

Tool Count5/5

One tool is exactly right for a server whose sole purpose is greeting.

Completeness5/5

The server fully covers its intended purpose: saying hello.

Maintenance

ActivityInactive
ResponsivenessNo issues