mcp-simple-server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-simple-server echo hello world"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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
Related MCP server: simple-mcp
Installation
npm installBuilding
npm run buildRunning the Server
stdio Mode (Default - Local Development)
npm start
# or
MCP_MODE=stdio node dist/index.jsHTTP/WebSocket Mode (Remote Access)
MCP_MODE=http PORT=3000 node dist/index.jsOnce running in HTTP mode, access:
Health check:
http://localhost:3000/healthServer 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.shIncludes:
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 pushDeploy 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-serverrepositorySmithery will automatically detect
Dockerfileandsmithery.yamlClick "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 guideAdding New Tools
To add new tools, modify src/index.ts:
Add the tool definition to the
TOOLSarrayAdd a new case in the
CallToolRequestSchemahandler switch statementRebuild the project:
npm run build
License
MIT
Available Tools
3 toolsaddA
Adds two numbers together
Inputs: a (required), b (required).
echoA
Echoes back the provided message
Inputs: message (required).
get_timestampA
Returns the current timestamp in ISO 8601 format
Inputs: no named parameters.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 3 tools
Each tool performs a completely distinct function: echo returns input, add computes a sum, and get_timestamp returns time. There is no overlap or ambiguity between them.
All tool names are lowercase imperative verbs, with 'get_timestamp' following a verb_noun pattern while 'echo' and 'add' are single verbs. The style is coherent and predictable.
Three tools is an appropriate size for a simple utility server. Each tool serves a clear purpose without unnecessary bloat or redundancy.
As a general-purpose simple server, there is no single domain requiring full CRUD coverage. The provided tools cover a reasonable set of basic operations for a lightweight utility.
Maintenance
Related MCP Connectors
Read-only developer, date, finance, and text utilities. Authless remote MCP server by Clean.tools.
Tools for charts, PDFs, tables, webpages, temporary sharing, webhooks, forms, and feeds.
Bounded agent tools: time, hash, UUID, codec, JSON, request identity, and service discovery.
Generate Discord timestamps and manage your HammerTime bot settings.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceProvides a hello and echo tool for basic interaction.22 npm1MIT
- FlicenseNot gradedqualityDmaintenanceA minimal MCP server providing basic tools for arithmetic, text echoing, and timezone-aware current time retrieval.-
- AlicenseNot gradedqualityDmaintenanceProvides basic tools for testing MCP functionality: echo, greet, and calculate.8 npmISC
- FlicenseBqualityDmaintenanceEnables MCP-compliant clients to run simple utility tools, including dice rolling and number addition.2-