chrono-mcp
MCP server for parsing natural language date/time expressions using chrono-node, with timezone-aware and configurable parsing. Deployed on Cloudflare Workers.
README
chrono-mcp
MCP (Model Context Protocol) server for parsing natural language date/time expressions using chrono-node.
Features
- 🌍 Timezone-aware parsing with simple offset values
- 📅 Supports relative dates, absolute dates, and date ranges
- 🔄 Configurable reference date and forward/backward preference
- 🎯 Returns both certain and implied components
- ⚡ Stateless HTTP transport for Cloudflare Workers
Deployment
This server is designed to be deployed on Cloudflare Workers with Routes:
# Install dependencies
bun install
# Type check
bun run type-check
# Run tests
bun test
# Deploy to Cloudflare
bun run deploy
MCP Tool: chrono_parse
Query Parameters
You can set a default timezone offset for all requests using a query parameter:
POST https://mcp.srz.me/chrono?timezone_offset=540
Benefits:
- The default value will be used if
timezone_offsetis not specified in tool arguments - Tool description and parameter hints are automatically updated to reflect the current default
- Example: When
?timezone_offset=540is set, the tool description shows: "Default timezone: +09:00 (540 minutes from UTC)"
Input Parameters
Required
text(string): Text containing date/time expressions to parse
Optional
-
reference(string): Reference date/time as ISO 8601 string- Example:
"2025-10-05T10:00:00Z"or"2025-10-05T10:00:00+09:00" - Default: Current time
- Example:
-
timezone_offset(number): Timezone offset in minutes from UTC- Example:
540for JST (+09:00),-300for EST (-05:00) - Default: Query parameter value, or
0(UTC)
- Example:
-
forwardOnly(boolean): Prefer future dates when ambiguous- Default:
true
- Default:
-
mode(enum:"first"|"all"): Parse mode"first": Return first match only (default)"all": Return all matches
Output Schema
{
results: [
{
text: string // Matched text
isRange: boolean
start: {
iso: string // ISO 8601 in specified timezone
unix: number // Unix timestamp (ms)
timezoneOffset: number | null
certain: string[] // Explicit components
implied: string[] // Filled-in components
}
end?: { ... } // For ranges
}
]
summary: string // Brief description
}
Example Usage
Basic parsing
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "chrono_parse",
"arguments": {
"text": "tomorrow at 3pm"
}
}
}
With timezone offset in arguments
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "chrono_parse",
"arguments": {
"text": "明日の17時",
"reference": "2025-10-05T10:00:00+09:00",
"timezone_offset": 540
}
}
}
With timezone offset in query parameter
# Set default timezone_offset via query parameter
POST https://mcp.srz.me/chrono?timezone_offset=540
{
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
"name": "chrono_parse",
"arguments": {
"text": "明日の17時"
// timezone_offset not specified, uses query parameter default (540)
}
}
}
Parse all matches
{
"jsonrpc": "2.0",
"id": 4,
"method": "tools/call",
"params": {
"name": "chrono_parse",
"arguments": {
"text": "Meeting on Monday at 10am and deadline on Friday at 5pm",
"mode": "all",
"timezone_offset": 540
}
}
}
Date range
{
"jsonrpc": "2.0",
"id": 5,
"method": "tools/call",
"params": {
"name": "chrono_parse",
"arguments": {
"text": "from Monday to Friday",
"timezone_offset": 0
}
}
}
Timezone Offset Reference
| Region | Offset (minutes) | UTC Offset |
|---|---|---|
| JST (Japan) | 540 | +09:00 |
| EST (US Eastern) | -300 | -05:00 |
| PST (US Pacific) | -480 | -08:00 |
| UTC | 0 | +00:00 |
| IST (India) | 330 | +05:30 |
| ACST (Australia Central) | 570 | +09:30 |
Routes Configuration
The server is configured to run at https://mcp.srz.me/chrono* using Cloudflare Routes.
License
MIT
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.