
Time MCP Server
Provides current time and date information with timezone support and multiple formatting options. Enables AI assistants to answer time-related queries in different timezones with detailed temporal information.
README
Time MCP Server
A Model Context Protocol (MCP) server that provides time and date information for AI assistants like Claude in VSCode.
Features
- Current Time: Get the current time in various formats
- Timezone Support: Query time in different timezones
- Detailed Info: Get comprehensive time information including day of week, timestamp, etc.
- Multiple Formats: Support for 12-hour, 24-hour, and ISO formats
Available Tools
get_current_time
Get the current date and time with formatting options.
Parameters:
timezone
(optional): Timezone identifier (e.g., "America/New_York", "Europe/London", "Asia/Tokyo")format
(optional): Time format - "12hour" (default), "24hour", or "iso"
Examples:
- "What time is it?"
- "Get current time in Tokyo"
- "Show me the time in 24-hour format"
get_time_info
Get detailed time information including timezone data, day of week, and timestamps.
Parameters:
timezone
(optional): Timezone identifier
Examples:
- "Give me detailed time information"
- "Show time info for London timezone"
Prerequisites
- Node.js (v18 or higher)
- npm
- Docker Desktop (for Docker builds)
- Install via:
brew install --cask docker
- Or download from https://www.docker.com/products/docker-desktop/
- Important: You need Docker Desktop (full app), not just Docker CLI
- Install via:
Installation
Local Development
-
Clone or create the project:
mkdir time-mcp-server cd time-mcp-server
-
Install dependencies:
npm install
-
Build the project:
npm run build
Docker Deployment
Prerequisites: Ensure Docker Desktop is running
# Check Docker is running
docker ps
# If not running, start Docker Desktop
open -a Docker # or open -a "Docker Desktop"
-
Build and run with Docker Compose:
docker-compose up -d
-
Or build manually:
docker build -t time-mcp-server . docker run -d --name time-mcp-server time-mcp-server
-
View logs:
docker-compose logs -f time-mcp-server
Configuration
Configuration
Local Development - Claude in VSCode
For local Node.js execution:
{
"servers": {
"time-server": {
"command": "node",
"args": ["dist/index.js"],
"env": {},
"cwd": "."
}
}
}
Docker Deployment - Claude in VSCode
Option 1: Docker Exec (Recommended)
For a running Docker container:
{
"servers": {
"time-server": {
"command": "docker",
"args": ["exec", "-i", "time-mcp-server", "node", "dist/index.js"],
"env": {}
}
}
}
Option 2: Docker Run (Creates new container each time)
{
"servers": {
"time-server": {
"command": "docker",
"args": ["run", "--rm", "-i", "time-mcp-server"],
"env": {}
}
}
}
Combined Configuration (Both Docker and Local)
Use this configuration to have both options available simultaneously:
{
"servers": {
"time-server-docker": {
"command": "docker",
"args": ["exec", "-i", "time-mcp-server", "node", "dist/index.js"],
"env": {}
},
"time-server-local": {
"command": "node",
"args": ["dist/index.js"],
"env": {},
"cwd": "."
}
}
}
Benefits of combined configuration:
- ✅ Fallback options - If Docker is down, local still works
- ✅ Performance testing - Compare Docker vs local performance
- ✅ Development flexibility - Switch between deployment methods
- ✅ Redundancy - Multiple servers provide the same functionality
Note: Place your mcp.json
file in the project root directory (same level as package.json
) for relative paths to work correctly.
Configuration Steps
For Docker Setup:
-
Start your Docker container:
docker-compose up -d
-
Verify container is running:
docker ps | grep time-mcp-server
-
Update mcp.json with Docker configuration
For Local Setup:
-
Build the project:
npm run build # or ./ci.sh
-
Place mcp.json in project root (same directory as package.json)
-
Test it works:
npm test
For Combined Setup:
- Ensure both are working (Docker container running + local build exists)
- Place the mcp.json in your project root directory
- Use the combined mcp.json configuration above
Testing Your Configuration
Test Docker version:
echo '{"jsonrpc": "2.0", "id": 1, "method": "tools/list"}' | docker exec -i time-mcp-server node dist/index.js
Test local version:
echo '{"jsonrpc": "2.0", "id": 1, "method": "tools/list"}' | node dist/index.js
Check logs:
# Docker logs
docker-compose logs -f time-mcp-server
# Local logs appear in terminal when running
Quick Start Guide
-
Build everything with CI script:
chmod +x ci.sh ./ci.sh
-
For Docker deployment:
# Ensure Docker Desktop is running docker ps # Build with Docker BUILD_TYPE=docker ./ci.sh # Start the container docker-compose up -d
-
Configure Claude in VSCode with appropriate
mcp.json
Usage Examples
Once configured with Claude in VSCode, you can ask natural language questions:
- "What time is it?" → Returns current time
- "What time is it in New York?" → Returns time in EST/EDT
- "Show me the time in 24-hour format" → Returns time in 24-hour format
- "Get detailed time information" → Returns comprehensive time data
- "What day is today?" → Uses detailed info to show current day
Development
Project Structure
time-mcp-server/
├── src/
│ └── index.ts # Main server code
├── dist/ # Built JavaScript (generated)
├── ci.sh # CI/CD build script
├── Dockerfile # Docker image definition
├── docker-compose.yml # Docker orchestration
├── .dockerignore # Docker build exclusions
├── package.json
├── tsconfig.json
├── .gitignore
└── README.md
Local Development Scripts
npm run build
- Build TypeScript to JavaScriptnpm run dev
- Build and run the server (for MCP clients)npm start
- Run the built server (for MCP clients)npm test
- Quick test to verify server is working
CI/CD Build Script
Use the included ci.sh
script for automated building and testing:
# Make executable (first time only)
chmod +x ci.sh
# Basic build and test
./ci.sh
# Docker build only
BUILD_TYPE=docker ./ci.sh
# Full build (local + Docker)
BUILD_TYPE=all ./ci.sh
# Skip tests
RUN_TESTS=false ./ci.sh
# Custom Docker tag
BUILD_TYPE=docker DOCKER_TAG=v1.0.0 ./ci.sh
# CI environment
CI=true ./ci.sh
CI Script Features:
- ✅ Prerequisite checking (Node.js, Docker)
- ✅ Automated building (TypeScript + Docker)
- ✅ Comprehensive testing (tool listing, function calls)
- ✅ Cross-platform compatibility (macOS/Linux)
- ✅ Color-coded output and error handling
- ✅ Build artifact generation
Testing
Quick Test:
npm test
Manual Testing:
# Test tool listing
echo '{"jsonrpc": "2.0", "id": 1, "method": "tools/list"}' | node dist/index.js
# Test getting current time
echo '{"jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": {"name": "get_current_time", "arguments": {}}}' | node dist/index.js
Note: npm start
and npm run dev
will appear to "hang" - this is normal! The server is waiting for MCP protocol messages on stdin. Use the test commands above or configure with Claude to interact with it.
Supported Timezones
The server supports any valid IANA timezone identifier, including:
America/New_York
Europe/London
Asia/Tokyo
Australia/Sydney
UTC
Dependencies
@modelcontextprotocol/sdk
- Official MCP SDKtypescript
- TypeScript compiler@types/node
- Node.js type definitions
License
MIT
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Build and test:
npm run build
- Submit a pull request
Troubleshooting
Common Issues
"No inputs were found" error:
- Ensure the
src/index.ts
file exists - Run
npm run build
after creating the file
Docker not working:
- Ensure Docker Desktop is installed and running:
brew install --cask docker
- Start Docker Desktop:
open -a Docker
(wait for whale icon in menu bar) - Verify with:
docker ps
(should not show connection errors) - Docker Desktop takes 30-60 seconds to fully start after launching
Server appears to hang:
- This is normal behavior! The server waits for MCP protocol messages on stdin
- Use
npm test
for quick verification, or configure with Claude for actual usage - The server only responds when it receives proper JSON-RPC messages
TypeScript errors:
- Make sure all dependencies are installed:
npm install
- Check TypeScript version compatibility
Debug Mode
Add console logging by setting environment variables:
{
"servers": {
"time-server": {
"command": "node",
"args": ["/path/to/dist/index.js"],
"env": {
"DEBUG": "true"
}
}
}
}
Version History
- 0.1.0 - Initial release with basic time functionality
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.