mcp-simple-server
Provides basic tools for echoing messages, adding numbers, and getting the current timestamp.
README
MCP Simple Server
A simple Model Context Protocol (MCP) server with three basic tools: echo, add numbers, and get timestamp.
Supports both stdio and HTTP/WebSocket transport modes for flexible deployment options.
Features
- echo: Echoes back any message you provide
- add: Adds two numbers together
- get_timestamp: Returns the current timestamp in ISO 8601 format
- Dual Mode Support: Run in stdio mode (local) or HTTP/WebSocket mode (remote)
- HTTP REST API: Health checks and server info endpoints
- WebSocket Support: Real-time MCP protocol communication
Installation
npm install
Building
npm run build
Running the Server
stdio Mode (Default - Local Development)
npm start
# or
MCP_MODE=stdio node dist/index.js
HTTP/WebSocket Mode (Remote Access)
MCP_MODE=http PORT=3000 node dist/index.js
Once running in HTTP mode, access:
- Health check:
http://localhost:3000/health - Server info:
http://localhost:3000/ - WebSocket:
ws://localhost:3000/
Tools
echo
Echoes back the provided message.
Arguments:
message(string, required): The message to echo back
Example:
{
"message": "Hello, World!"
}
add
Adds two numbers together.
Arguments:
a(number, required): The first numberb(number, required): The second number
Example:
{
"a": 5,
"b": 3
}
get_timestamp
Returns the current timestamp in ISO 8601 format.
Arguments: None
Deployment
AWS EC2 Deployment
Deploy to AWS EC2 with automated setup using AWS CloudShell. See AWS_DEPLOYMENT.md for detailed instructions.
Quick Start:
# From AWS CloudShell
curl -O https://raw.githubusercontent.com/joeleesuh/mcp-simple-server/main/scripts/deploy-to-ec2.sh
chmod +x deploy-to-ec2.sh
./deploy-to-ec2.sh
Includes:
- Automated EC2 instance provisioning (t3.micro - Free Tier eligible)
- Auto-install Node.js and dependencies
- Runs in HTTP mode on port 3000 with WebSocket support
- Security group configured for port 3000 access
- Systemd service setup with environment variables
- AWS Session Manager access (no SSH keys required)
After deployment, access the server at:
http://<PUBLIC_IP>:3000/health- Health checkhttp://<PUBLIC_IP>:3000/- Server infows://<PUBLIC_IP>:3000/- WebSocket endpoint
Deployment to smithery.ai
This project is configured for deployment on Smithery.ai with:
Dockerfile- Multi-stage Docker build for optimized container imagesmithery.yaml- Smithery configuration for stdio-based MCP server.dockerignore- Excludes unnecessary files from Docker build
Prerequisites
- Create a GitHub repository for this project
- Push your code to GitHub (including Dockerfile and smithery.yaml)
- Create an account on smithery.ai
- (Optional) Test Docker build locally:
docker build -t mcp-simple-server .
Steps to Deploy
-
Push to GitHub (if not already done):
git add . git commit -m "Add Smithery deployment configuration" git push -
Deploy on smithery.ai:
- Go to smithery.ai
- Sign in with your GitHub account
- Click "New Server" or "Deploy Server"
- Connect your GitHub repository
- Select the
mcp-simple-serverrepository - Smithery will automatically detect
Dockerfileandsmithery.yaml - Click "Deploy"
-
Use Your Server:
- Once deployed, Smithery will provide installation instructions
- You can install it with:
npx @smithery/cli install <your-server-name> - Or use it directly in Claude Desktop or other MCP clients
Example Claude Desktop Configuration
After deployment, add this to your Claude Desktop configuration:
{
"mcpServers": {
"simple-server": {
"command": "npx",
"args": ["-y", "@smithery/mcp-simple-server"]
}
}
}
Or if testing locally:
{
"mcpServers": {
"simple-server": {
"command": "node",
"args": ["C:/Users/User/mcp-simple-server/dist/index.js"]
}
}
}
Development
Project Structure
mcp-simple-server/
├── src/
│ └── index.ts # Main server implementation
├── scripts/
│ ├── deploy-to-ec2.sh # AWS CloudShell deployment script
│ └── user-data.sh # EC2 instance initialization script
├── dist/ # Compiled JavaScript (generated)
├── Dockerfile # Docker container configuration
├── smithery.yaml # Smithery deployment configuration
├── .dockerignore # Docker build exclusions
├── package.json # Dependencies and scripts
├── tsconfig.json # TypeScript configuration
├── README.md # This file
└── AWS_DEPLOYMENT.md # AWS EC2 deployment guide
Adding New Tools
To add new tools, modify src/index.ts:
- Add the tool definition to the
TOOLSarray - Add a new case in the
CallToolRequestSchemahandler switch statement - Rebuild the project:
npm run build
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.