Skip to main content
Glama
mfang0126

Hello MCP Server

by mfang0126

Hello MCP Server

Simple MCP (Model Context Protocol) server with AWS Lambda deployment.

๐Ÿš€ Quick Start

Local Development

npm install
npm run dev

Connect to Claude Desktop by adding to config:

{
  "mcpServers": {
    "hello-mcp": {
      "command": "npx",
      "args": ["tsx", "/Users/mingfang/Code/hello-mcp/index.ts"]
    }
  }
}

Deploy to AWS Lambda

# 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

Related MCP server: Hello World MCP Server

๐Ÿ”‘ Authentication

Bearer token: mcp-secret-token-12345

Change it:

sam deploy --parameter-overrides BearerToken="your-new-token"

๐Ÿงช Test Deployment

# 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

{
  "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:

# โœ… 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

Available Tools

1 tool
sayHelloA

Say hello to someone

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesThe name of the person to greet

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. The tool's behavior (saying hello) is trivial and non-destructive, so the description is sufficient. It does not disclose any hidden side effects, but none are expected. A higher score is not warranted because the description does not explicitly state that the tool is read-only or harmless.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence of four words: 'Say hello to someone.' It is maximally concise with zero unnecessary words. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one parameter, no output schema, no annotations), the description is adequately complete. It covers the essence of the tool. However, it could be slightly more specific, such as stating that the greeting is returned or that the tool has no side effects.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema covers the single parameter 'name' with a description. Since schema description coverage is 100%, the baseline is 3. The tool's description adds no additional meaning beyond what the schema already provides. No improvement is necessary for this simple parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (say hello) and the target (someone). The verb 'say hello' and resource 'someone' are specific enough for such a simple tool. No sibling tools exist, so differentiation is not needed.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives. However, due to the tool's simplicity and lack of siblings, the usage context is implied: use it to greet a person. The description does not provide any exclusions, which is acceptable for this straightforward intent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool updatev1.0.0
    • First observedsayHello

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

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • -
    license
    Not graded
    quality
    Not graded
    maintenance
    A simple demonstration MCP server that provides basic greeting functionality and server information. Enables users to generate hello messages and retrieve server details through tools and resources.
    -
  • -
    license
    C
    quality
    Not graded
    maintenance
    A simple boilerplate MCP server that provides a basic greeting tool for demonstration purposes. Serves as a starting template for developers to quickly create and deploy custom MCP servers.
    1
    6
    -
  • A
    license
    C
    quality
    D
    maintenance
    A simple MCP server that provides a basic greeting tool for saying hello with customizable names. Serves as a boilerplate template for developers to quickly create and deploy new MCP servers.
    1
    6
    MIT