TimeMCP
A server for time and timezone conversion tools.
TimeMCP
A simple Model Control Protocol (MCP) server that provides time and timezone conversion tools.
Features
The server provides the following tools:
1. get_current_time
Gets the current time in a specific timezone or the system timezone.
Arguments:
timezone
(string, optional): The timezone to get the current time in. If not provided, the system timezone is used.
Example Response:
Current time in Europe/Warsaw: 2025-04-09 15:30:45
2. convert_time
Converts time between different timezones.
Arguments:
source_timezone
(string, optional): Source timezone. Defaults to system timezone if not provided.time
(string, optional): Time in 24-hour format (HH:MM). Defaults to current time if not provided.target_timezone
(string, required): Target timezone to convert the time to.
Example Response:
Time conversion: 15:30 in Europe/Warsaw → 09:30 in America/New_York
Usage
Build
go build -o ./bin/mcp-time .
Add to claude_desktop_config.json
{ "mcpServers": {
"time": {
"command": "/Path/To/Your/Bin/mcp-time"
}
}
}
Using with MCP-compatible Clients
The server implements the Model Control Protocol, which means it can be used with any MCP-compatible client. The client will be able to:
- Discover the available tools
- Call the tools with the appropriate arguments
- Receive formatted responses
Dependencies
github.com/mark3labs/mcp-go
: Implementation of the Model Control Protocolgithub.com/araddon/dateparse
: Flexible date parsing library
Supported Timezones
The server supports all IANA time zone database entries like:
Europe/Warsaw
America/New_York
Asia/Tokyo
Australia/Sydney
Africa/Cairo
- etc.
Examples
Getting Current Time in Tokyo
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "get_current_time",
"arguments": {
"timezone": "Asia/Tokyo"
}
}
}
Converting Time
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "convert_time",
"arguments": {
"source_timezone": "Europe/Warsaw",
"time": "14:30",
"target_timezone": "America/Los_Angeles"
}
}
}
HTTP Transport and CORS
- Run HTTP transport:
go run . --transport=http [--auth-enabled]
- Health:
GET /health
, Capabilities:GET /capabilities
, MCP:POST {TIME_HTTP_PATH}/*
(default"/mcp"
)
CORS Behavior
- Default: CORS is disabled (
TIME_HTTP_CORS_ENABLED=false
). - When enabled, no origins are allowed unless explicitly listed in
TIME_HTTP_CORS_ORIGINS
. TIME_HTTP_CORS_ORIGINS
accepts a comma-separated allowlist. Supported forms:- Hostname:
example.com
- Host:port:
localhost:3000
,127.0.0.1:8080
- Full URL:
https://app.example.com
(normalized to its host) - Wildcard subdomain:
*.example.com
(matchesexample.com
and any subdomain)
- Hostname:
- With
TIME_AUTH_ENABLED=true
, using*
inTIME_HTTP_CORS_ORIGINS
is rejected at startup. - Preflight and response headers are returned only for allowed origins.
Configuration Examples
- Development:
TIME_HTTP_CORS_ENABLED=true
TIME_HTTP_CORS_ORIGINS="http://localhost:3000,http://127.0.0.1:5173"
- Production:
TIME_HTTP_CORS_ENABLED=true
TIME_HTTP_CORS_ORIGINS="https://yourdomain.com,https://app.yourdomain.com,*.trusted-partner.com"
- Avoid
*
; if possible, disable CORS for server-to-server use.
Environment Variables
TIME_HTTP_CORS_ENABLED
(default:false
)TIME_HTTP_CORS_ORIGINS
(default: empty, meaning no allowed origins)TIME_AUTH_ENABLED
(default:false
)TIME_AUTH_SECRET_KEY
(required if auth enabled; ≥32 chars)TIME_HTTP_ADDRESS
(default:":8080"
)TIME_HTTP_PATH
(default:"/mcp"
)
Quick HTTP Checks
curl -i http://localhost:8080/health
- With JWT:
curl -i -H "Authorization: Bearer $TOKEN" http://localhost:8080/capabilities
Related Servers
FullScope-MCP
An MCP server for content summarization, supporting web scraping, file reading, and direct model calls.
Asana
Interact with the Asana API to manage tasks, projects, and workspaces.
MCP Notes
A simple note-taking server for recording and managing notes with AI models, using AWS DynamoDB for storage.
JIRA
Integrate with JIRA to allow AI assistants to directly interact with JIRA issues.
Notemd MCP
A backend server for the Notemd Obsidian plugin, offering AI-powered text processing and knowledge management.
YOURLS-MCP
Integrates the YOURLS URL shortening service with Claude Desktop.
OmniFocus MCP Server
Integrate OmniFocus with Claude Desktop for AI-powered task management and weekly reviews.
Omnispindle
A todo management system designed for coordinating tasks across multiple projects, utilizing MongoDB and MQTT.
Cursor Task Manager
An MCP server for task management, time tracking, and workflow automation, integrated with Cursor IDE and a Directus backend.
Adfin
The only platform you need to get paid - all payments in one place, invoicing and accounting reconciliations with Adfin.