Hello MCP Server
A simple Python MCP (Model Context Protocol) server that provides a greeting tool.
Features
greet tool: Responds to greeting messages, especially "how are you" with "I am great"
Dual mode: Runs in stdio mode for local development or HTTP mode for remote access
Docker ready: Fully containerized with Docker and docker-compose support
Installation
Local Development
Make sure you have Python installed
Install the required dependencies:
Or using uv:
Docker Deployment
Make sure you have Docker and Docker Compose installed.
Running the Server
Local Development (stdio mode)
Using Python directly:
Using uv:
Local HTTP Mode
To run the server in HTTP mode locally:
The server will be available at http://localhost:8000/mcp
Docker Deployment
Using Docker Compose (Recommended)
Using Docker directly
Testing the Server
Testing HTTP Endpoint
Once running in HTTP mode, the server exposes an MCP endpoint at:
Local:
http://localhost:8000/mcp
Container:
http://localhost:8000/mcp
You can connect to it using any MCP client that supports HTTP transport.
With MCP Inspector
With Claude Desktop (Local stdio mode)
Add this configuration to your Claude Desktop config file:
Location: %AppData%\Claude\claude_desktop_config.json
Then restart Claude Desktop and you should see the tool available!
With Claude.ai (HTTP mode)
If you're running the server in HTTP mode (locally or in Docker), you can connect to it from Claude.ai:
Go to Claude.ai settings
Add a custom connector
Enter the URL:
http://localhost:8000/mcp
(or your server's public URL)
With VS Code (HTTP mode)
Update your .vscode/mcp.json
:
With VS Code
The server is already configured in .vscode/mcp.json
for use with VS Code's MCP support.
Usage
Once connected to the server, you can use the greet
tool:
Deployment Options
Running Locally
Best for: Development and testing
Transport: stdio or HTTP
Access: Local machine only
Running in Docker (Local)
Best for: Testing containerization, isolated environment
Transport: HTTP
Access:
http://localhost:8000/mcp
Running in Production
For production deployment, you can:
Deploy to cloud providers: AWS ECS, Google Cloud Run, Azure Container Apps
Use Kubernetes: Deploy the container with proper ingress configuration
Add reverse proxy: Use nginx or Traefik for SSL/TLS termination
Set up monitoring: Add health checks and logging aggregation
Environment Variables
Variable | Default | Description |
|
| Transport mode:
or
|
|
| Host to bind to (use
for containers) |
|
| Port to listen on |
Project Structure
Security Considerations
When deploying in production:
Use HTTPS: Always use TLS/SSL in production
Authentication: Consider adding authentication (OAuth, API keys)
Rate limiting: Implement rate limiting to prevent abuse
CORS: Configure CORS appropriately for browser-based clients
Monitoring: Set up proper logging and monitoring
Secrets: Never commit secrets; use environment variables or secret management
Learn More
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
A simple greeting server that responds to messages, particularly answering 'how are you' with 'I am great'. Supports both local stdio and HTTP deployment modes with Docker containerization.