chrono-mcp

chrono-mcp

MCP server for parsing natural language date/time expressions using chrono-node, with timezone-aware and configurable parsing. Deployed on Cloudflare Workers.

Category
Visit Server

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_offset is not specified in tool arguments
  • Tool description and parameter hints are automatically updated to reflect the current default
  • Example: When ?timezone_offset=540 is 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
  • timezone_offset (number): Timezone offset in minutes from UTC

    • Example: 540 for JST (+09:00), -300 for EST (-05:00)
    • Default: Query parameter value, or 0 (UTC)
  • forwardOnly (boolean): Prefer future dates when ambiguous

    • Default: true
  • 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

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured