TimeMCP
Golang MCP server to replace modelcontextprotocol/time MCP server
Documentation
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:452. `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_YorkUsage
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:
1. Discover the available tools
2. Call the tools with the appropriate arguments
3. Receive formatted responses
Dependencies
- `github.com/mark3labs/mcp-go`: Implementation of the Model Control Protocol
- `github.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` (matches `example.com` and any subdomain)
- With `TIME_AUTH_ENABLED=true`, using `*` in `TIME_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`
Frequently asked questions
What is TimeMCP?
TimeMCP is Golang MCP server to replace modelcontextprotocol/time MCP server
How do I install TimeMCP?
Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.
Is TimeMCP open source?
Yes — it is hosted on GitHub at https://github.com/chew-z/TimeMCP and has 1 stars.
Related MCP tools
eBPF-powered network observability for Kubernetes. Indexes L4/L7 traffic with full K8s context, decrypts TLS without keys. Queryable by AI agents via MCP and humans via dashboard.
GOWA - WhatsApp REST API with support for UI, Multi Account, Webhooks, and MCP, and Chatwoot. Built with Golang for efficient memory use.
The missing open-source Kubernetes UI with a built-in MCP server for AI agents. See what's broken, why, and what changed. Issues, Topology, event timeline, Helm, GitOps, live service traffic, and cluster audits - all in one Go binary.
mcp-language-server gives MCP enabled clients access semantic tools like get definition, references, rename, and diagnostics.
Run MATLAB® using AI applications with the official MATLAB MCP Server from MathWorks®. This MCP server for MATLAB supports a wide range of coding agents like Claude Code® and Visual Studio® Code.
One place to manage & connect to all your MCP servers
Run your own MCP server? See who uses it and what to fix.
Measure it with TrackMCP