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
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。
mcp-server-qdrant
这个仓库展示了如何为向量搜索引擎 Qdrant 创建一个 MCP (Managed Control Plane) 服务器的示例。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。