MCP Time Server
ISO 8601解析、タイムゾーン変換、営業日、期間計算、相対時間フォーマット、および完全なカレンダー生成をサポートする高精度の時間計算エンジン。
ドキュメント
BrainyCalc Docs — MCP Date & Time Tools
MCP Date & Time Tools
High-precision temporal calculation engine supporting ISO 8601 parsing, timezone conversions, business days, duration math, relative time formatting, and full calendar generation.
All 50 date & time calculation tools are available as a standalone Model Context Protocol (MCP) server. Install via npx -y @brainycalc/mcptimeserver to empower AI assistants (LM Studio, Claude Desktop) with deterministic temporal operations.
1. Core & Formatting
now
Get current date and time, optionally formatted or adjusted for a target timezone.
coremcp tool
| Parameter | Type | Required | Description |
|---|---|---|---|
format | string | optional | Output format token string (e.g. YYYY-MM-DD HH:mm:ss) |
timezone | string | optional | Target IANA timezone (e.g. America/New_York) |
{ "format": "YYYY-MM-DD HH:mm:ss", "timezone": "America/New_York" }
"2026-08-11 14:02:00"
LLMs Samples Queries
- What is the current date and time?
- What is the time right now in New York formatted as YYYY-MM-DD HH:mm:ss?
- Give me today's date and current time.
format_date
Format an incoming date into a custom localized token string.
formattingmcp tool
| Parameter | Type | Required | Description |
|---|---|---|---|
date | string | required | Date string or now |
format | string | required | Format pattern (e.g. dddd, MMMM D, YYYY) |
inputFormat | string | optional | Parse format for non-standard date inputs |
timezone | string | optional | Target IANA timezone |
{ "date": "2026-08-11T14:02:00Z", "format": "dddd, MMMM D, YYYY" }
"Tuesday, August 11, 2026"
LLMs Samples Queries
- Show only the month from 2026-08-11.
- Can you reformat '2026/08/11' into 'DD/MM/YYYY'?
- Display this timestamp in full written words: 2026-08-11.
parse_date
Deconstruct a date string into structured components (year, month, ISO week, quarter, Unix, etc.).
parsermcp tool
| Parameter | Type | Required | Description |
|---|---|---|---|
date | string | required | Date string to parse |
inputFormat | string | optional | Parse format for non-standard input strings |
{ "date": "2026-08-11" }
{
"year": 2026,
"month": 8,
"day": 11,
"dayOfWeek": 2,
"dayOfWeekName": "Tuesday",
"weekOfYear": 33,
"quarter": 3,
"unix": 1786406400,
"iso": "2026-08-11T00:00:00.000Z"
}
LLMs Samples Queries
- Break down '2026-08-11' into its calendar components.
- What day of the week and week number was August 11, 2026?
- Extract the quarter, year, and ISO week from '2026-08-11'.
adjust_time
Add or subtract specified time units from a base date.
mathmcp tool
| Parameter | Type | Required | Description |
|---|---|---|---|
date | string | optional | Base date or now |
amount | number | required | Quantity to shift |
unit | string | required | Unit (millisecond, second, minute, hour, day, week, month, quarter, year) |
operation | enum | optional | add or subtract (default: add) |
format | string | optional | Output format pattern |
{ "date": "2026-08-11", "amount": 3, "unit": "months" }
"2026-11-11T00:00:00.000Z"
LLMs Samples Queries
- What date will it be 3 months from August 11, 2026?
- Subtract 45 minutes from 10:00 AM today.
- Add 3 weeks to 2026-08-11.
boundary_of
Get start or end boundary of a unit (year, quarter, month, week, isoWeek, day, hour) for a date.
boundarymcp tool
| Parameter | Type | Required | Description |
|---|---|---|---|
date | string | optional | Date or now |
unit | enum | required | year | quarter | month | week | isoWeek | day | hour | minute | second |
edge | enum | optional | start or end (default: start) |
format | string | optional | Output format string |
{ "date": "2026-08-11", "unit": "month", "edge": "end" }
"2026-08-31T23:59:59.999Z"
LLMs Samples Queries
- What is the end of August 2026?
- When does the current week end?.
- When does Q3 2026 end?
get_date_format
Resolve English date component terms ('month name', 'unix milliseconds') into format tokens or compose format strings.
utilitymcp tool
| Parameter | Type | Required | Description |
|---|---|---|---|
part | string | array | required | Plain English part name(s) or __list__ |
verbose | boolean | optional | Return full descriptors (token, description, example) |
compose | boolean | optional | Join array of parts into a ready format string |
separator | string | optional | Separator when compose is true (default: '') |
{ "part": ["full year", "month", "day"], "compose": true, "separator": "-" }
"YYYY-MM-DD"
LLMs Samples Queries
- What format tokens should I use for 'year-month-day'?
- Compose a format string with full year, month name, and day.
- What is the formatting token for full month name?
format_standard
Format date according to standardized specifications: ISO 8601, ISO 9075, RFC 3339, or RFC 7231 (HTTP).
standardmcp tool
| Parameter | Type | Required | Description |
|---|---|---|---|
date | string | optional | Date or now |
standard | enum | optional | iso | iso9075 | rfc3339 | rfc7231 (default: iso) |
representation | enum | optional | For ISO mode: complete | date | time |
{ "date": "2026-08-11T14:30:00Z", "standard": "rfc7231" }
"Tue, 11 Aug 2026 14:30:00 GMT"
LLMs Samples Queries
- Format August 11, 2026 into HTTP RFC 7231 header date format.
- Convert this date into standard ISO 8601 string format.
- Generate an RFC 3339 timestamp for right now.
parse_strict
Strictly parse inputs from ISO strings, JSON date strings, Unix seconds, or Unix milliseconds.
parsermcp tool
| Parameter | Type | Required | Description |
|---|---|---|---|
input | string | number | required | Value to parse |
inputType | enum | optional | iso | json | unix_s | unix_ms (default: iso) |
format | string | optional | Optional format pattern for output string |
{ "input": 1786406400, "inputType": "unix_s" }
{
"input": 1786406400,
"inputType": "unix_s",
"iso": "2026-08-11T00:00:00.000Z",
"unix": 1786406400,
"unixMs": 1786406400000
}
LLMs Samples Queries
- Parse this Unix timestamp 1786406400 in seconds into an ISO date.
- Strictly parse "2026-08-11" and convert it to an ISO timestamp.
- Convert Unix epoch milliseconds 1786406400000 into a human readable date.
to_representation
Convert a date object into alternate representations: array, object, JSON, UTC string, or ISO string.
conversionmcp tool
| Parameter | Type | Required | Description |
|---|---|---|---|
date | string | optional | Date string or now |
output | enum | required | array | object | json | utcString | isoString |
{ "date": "2026-08-11", "output": "array" }
[2026, 7, 11, 0, 0, 0, 0]
LLMs Samples Queries
- Convert '2026-08-11' into an array of date numbers.
- Export this date as a raw JavaScript date object representation.
- Give me '2026-08-11' as a UTC string.
utc_date
Parse or convert a date in UTC mode, preserving or converting local wall clock values.
utcmcp tool
| Parameter | Type | Required | Description |
|---|---|---|---|
date | string | optional | Date string or now |
format | string | optional | Output format pattern |
keepLocalTime | boolean | optional | Retain local time numbers when converting to UTC |
{ "date": "2026-08-11T12:00:00", "keepLocalTime": true }
"2026-08-11T12:00:00.000Z"
LLMs Samples Queries
- Convert local time 12:00 to UTC while keeping the local time numbers.
- Get the UTC date representation for August 11, 2026.
- Parse '2026-08-11T12:00:00' directly in UTC.
2. Difference & Comparison
date_diff
Calculate exact differences between two dates (returns scalar value or detailed breakdown).
mathmcp tool
| Parameter | Type | Required | Description |
|---|---|---|---|
date1 | string | required | First date (ISO format or now) |
date2 | string | required | Second date to compare against |
unit | string | optional | Unit for scalar diff (omit for full breakdown) |
float | boolean | optional | Return floating-point scalar diff |
{ "date1": "2026-08-11", "date2": "2026-12-25" }
{
"date1": "2026-08-11",
"date2": "2026-12-25",
"days": 136,
"weeks": 19.43,
"months": 4.47,
"years": 0.3723,
"formatted": "19 weeks and 3 days"
}
LLMs Samples Queries
- How many days are between August 11, 2026 and December 25, 2026?
- Calculate the difference in weeks and days between these two dates.
calc_age
Calculate exact age in years, months, days, total weeks, and total days relative to target date.
humanmcp tool
| Parameter | Type | Required | Description |
|---|---|---|---|
birthDate | string | required | Birth date string (YYYY-MM-DD). Alias: birth_date |
targetDate | string | optional | Comparison reference date (defaults to today). Alias: reference_date |
{ "birthDate": "1995-05-15", "targetDate": "2026-08-11" }
{
"birthDate": "1995-05-15",
"years": 31,
"months": 2,
"days": 27,
"totalDays": 11411,
"totalWeeks": 1630,
"formatted": "31 years, 2 months, 27 days"
}
LLMs Samples Queries
- How old is someone born on May 15, 1995 as of August 11, 2026?
- Calculate exact age in years, months, and days for May 15, 1995.
- How many total weeks old is a person born on 1995-05-15?
compare_dates
Evaluate boolean date comparison predicates: isBefore, isAfter, isSame, isSameOrBefore, isSameOrAfter.
comparisonmcp tool
| Parameter | Type | Required | Description |
|---|---|---|---|
date1 | string | optional | First date or now |
date2 | string | required | Second date to compare against |
comparison | enum | required | isBefore | isAfter | isSame | isSameOrBefore | isSameOrAfter |
unit | string | optional | Comparison unit granularity (e.g. month, day) |
{ "date1": "2026-08-11", "date2": "2026-08-15", "comparison": "isBefore" }
true
LLMs Samples Queries
- Is August 11, 2026 before August 15, 2026?
- Check if date A is equal to date B ignoring time.
- Is 2026-08-11 after 2026-08-01?
is_between
Check if a date falls between start and end boundaries with configurable inclusivity options.
comparisonmcp tool
| Parameter | Type | Required | Description |
|---|---|---|---|
date | string | optional | Target date or now |
start | string | required | Range start date |
end | string | required | Range end date |
unit | string | optional | Comparison unit granularity |
inclusivity | enum | optional | () | (] | [) | [] (default: ()) |
{ "date": "2026-08-11", "start": "2026-08-01", "end": "2026-08-31", "inclusivity": "[]" }
true
LLMs Samples Queries
- Is today between 2025-01-01 and 2025-12-31?
- Does August 11, 2026 fall within the range August 1 to August 31, 2026?
- Check if '2026-08-11' is strictly between two boundary dates.
date_compare
Run complete date comparison matrix across all unit granularities simultaneously.
comparisonmcp tool
| Parameter | Type | Required | Description |
|---|---|---|---|
date1 | string | required | First date string or now |
date2 | string | required | Second date string or now |
{ "date1": "2026-08-11", "date2": "2026-08-15" }
{
"compareAsc": -1,
"compareDesc": 1,
"isSameDay": false,
"isSameWeek": true,
"isSameMonth": true,
"isSameQuarter": true,
"isSameYear": true
}
LLMs Samples Queries
- Compare two dates across all units like same week, same month, same year.
- Are August 11, 2026 and August 15, 2026 in the same month and week?
- Get full comparative breakdown between 2026-08-11 and 2026-08-15.
relative_time
Get a human-readable relative time expression (e.g. '3 days ago', 'in 2 months').
relativemcp tool
| Parameter | Type | Required | Description |
|---|---|---|---|
date | string | optional | Date or now |
relativeTo | string | optional | Reference date instead of current time |
withoutSuffix | boolean | optional | Omit 'ago' / 'in' suffix |
direction | enum | optional | from or to (default: from) |
{ "date": "2026-08-01", "relativeTo": "2026-08-11" }
"10 days ago"
LLMs Samples Queries
- How long ago was August 1, 2026 compared to August 11, 2026?
- Format August 1, 2026 as relative time (e.g. '10 days ago').
- Express the date difference human-readably without suffixes.
intl_format_distance
Locale-aware relative time formatting utilizing standard Intl.RelativeTimeFormat.
i18nmcp tool
| Parameter | Type | Required | Description |
|---|---|---|---|
date | string | optional | Target date (default: now) |
baseDate | string | optional | Reference comparison date (default: now) |
locale | string | optional | BCP 47 locale tag (e.g. en, fr, es) |
numeric | enum | optional | auto or always |
style | enum | optional | long | short | narrow |
unit | string | optional | Explicit unit (second, minute, hour, day, week, month, year) |
{ "date": "2026-08-14", "baseDate": "2026-08-11", "locale": "es" }
{
"formatted": "dentro de 3 días",
"unit": "day",
"value": 3,
"locale": "es"
}
LLMs Samples Queries
- Show relative time distance in Spanish ('dentro de 3 días') for August 14.
- Get localized relative time distance between August 11 and August 14, 2026.
closest_date
Find which date in an array of candidates is nearest to a reference date.
searchmcp tool
| Parameter | Type | Required | Description |
|---|---|---|---|
date | string | optional | Reference date (defaults to now) |
dates | array | required | Array of candidate date strings |
format | string | optional | Output formatting string |
{
"date": "2026-08-11",
"dates": ["2026-01-01", "2026-08-10", "2026-12-31"]
}
{
"closestIndex": 1,
"closestDate": "2026-08-10T00:00:00.000Z",
"diffMs": 86400000
}
LLMs Samples Queries
- Which date in this list [2026-01-01, 2026-08-10, 2026-12-31] is closest to August 11, 2026?
interval_overlap
Determine if two date intervals overlap and calculate overlapping days count.
intervalmcp tool
| Parameter | Type | Required | Description |
|---|---|---|---|
start1 | string | required | Start of interval 1 |
end1 | string | required | End of interval 1 |
start2 | string | required | Start of interval 2 |
end2 | string | required | End of interval 2 |
inclusive | boolean | optional | Include boundary touching as overlap |
mode | enum | optional | overlapping or days |
{
"start1": "2026-08-01", "end1": "2026-08-15",
"start2": "2026-08-10", "end2": "2026-08-20",
"mode": "days"
}
{
"overlaps": true,
"overlapDays": 5,
"overlapStart": "2026-08-10T00:00:00.000Z",
"overlapEnd": "2026-08-15T00:00:00.000Z"
}
LLMs Samples Queries
- Do the date ranges Aug 1-15 and Aug 10-20 overlap?
- Calculate how many days overlap between two event schedules.
- Check if interval 2026-08-01 to 2026-08-15 intersects with 2026-08-10 to 2026-08-20.
3. Business & Calendar
business_days
Count work days (Mon–Fri) between dates or add/subtract business days from a starting date.
businessmcp tool
| Parameter | Type | Required | Description |
|---|---|---|---|
mode | enum | optional | diff | add | subtract (default: diff) |
startDate | string | optional | Start date string |
endDate | string | optional | End date (for diff mode) |
amount | number | optional | Business days count (for add / subtract) |
format | string | optional | Output formatting pattern |
{ "mode": "add", "startDate": "2026-08-07", "amount": 5 }
{
"original": "2026-08-07",
"amount": 5,
"result": "2026-08-14"
}
LLMs Samples Queries
- Add 5 business days to Friday, August 7, 2026.
- How many work days are there between August 1 and August 15, 2026?
- Subtract 10 business days from August 11, 2026.
work_days
Calculate working days between two dates with optional weekend inclusion flags.
workmcp tool
| Parameter | Type | Required | Description |
|---|---|---|---|
startDate | string | required | Start date (YYYY-MM-DD) |
endDate | string | required | End date (YYYY-MM-DD) |
includeWeekends | boolean | optional | Include Saturday and Sunday (default: false) |
{ "startDate": "2026-08-01", "endDate": "2026-08-11" }
{
"startDate": "2026-08-01",
"endDate": "2026-08-11",
"workDaysCount": 7,
"weekendsIncluded": false
}
LLMs Samples Queries
- Count the total working days between 2026-08-01 and 2026-08-11.
- How many days excluding weekends are in the first half of August 2026?
calendar_month
Generate a complete month calendar matrix structured into week arrays for calendar UI displays.
calendarmcp tool
| Parameter | Type | Required | Description |
|---|---|---|---|
date | string | optional | Reference date in target month |
weekStart | enum | optional | 0 (Sunday) or 1 (Monday) |
format | string | optional | Date string output format pattern |
{ "date": "2026-08-01", "weekStart": 1 }
{
"month": "August 2026",
"year": 2026,
"daysInMonth": 31,
"weeks": [ /* Arrays containing week objects */ ]
}
LLMs Samples Queries
- Generate a full month calendar matrix for August 2026 starting on Monday.
- Get all weeks and dates in August 2026 structured for UI calendar layout.
- Build a monthly calendar view grid for August 2026.
each_weekend_of
Get array of all weekend dates (Saturday and Sunday) within a specified interval, month, or year.
calendarmcp tool
| Parameter | Type | Required | Description |
|---|---|---|---|
mode | enum | optional | interval | month | year (default: interval) |
date | string | optional | Reference date for month or year mode |
start | string | optional | Start date for interval mode |
end | string | optional | End date for interval mode |
{ "mode": "month", "date": "2026-08-01" }
{
"mode": "month",
"count": 10,
"weekends": ["2026-08-01", "2026-08-02", "2026-08-08", "..."]
}
LLMs Samples Queries
- List all weekend dates (Saturdays and Sundays) in August 2026.
- Get every weekend day date in the year 2026.
- Find all weekend dates between August 1 and August 31, 2026.
day_of_week
Get day name, month name, year, weekend flag, day of year, and week number for any date.
metadatamcp tool
| Parameter | Type | Required | Description |
|---|---|---|---|
date | string | required | Date string (YYYY-MM-DD) |
{ "date": "2026-08-11" }
{
"date": "2026-08-11",
"dayName": "Tuesday",
"month": "August",
"dayNumber": 11,
"year": 2026,
"isWeekend": false,
"dayOfYear": 223,
"weekNumber": 2
}
LLMs Samples Queries
- What day of the week is August 11, 2026?
- Is August 11, 2026 a weekend or weekday?
- What is the day of year number for August 11, 2026?
last_day_of
Return the last day of a period (month, year, quarter, week, isoWeek, decade).
boundarymcp tool
| Parameter | Type | Required | Description |
|---|---|---|---|
date | string | optional | Reference date or now |
unit | enum | required | month | year | quarter | week | isoWeek | isoWyear | decade |
format | string | optional | Output format pattern |
{ "date": "2026-08-11", "unit": "quarter" }
{
"input": "2026-08-11",
"unit": "quarter",
"lastDay": "2026-09-30"
}
LLMs Samples Queries
- What is the last day of Q3 2026?
- Find the last day of the month for August 2026.
- What is the last day of the decade for 2026-08-11?
countdown
Generate structured remaining time or elapsed time breakdowns relative to a target timestamp.
timermcp tool
| Parameter | Type | Required | Description |
|---|---|---|---|
date | string | required | Target date or timestamp |
format | string | optional | Formatting string for target date output |
{ "date": "2027-01-01T00:00:00Z" }
{
"target": "2027-01-01T00:00:00.000Z",
"isFuture": true,
"breakdown": {
"days": 142,
"hours": 9,
"minutes": 58,
"seconds": 0
},
"formatted": "142d 9h 58m 0s"
}
LLMs Samples Queries
- How many days, hours, and minutes remain until New Year 2027?
- Generate a live countdown breakdown to 2027-01-01T00:00:00Z.
- How much time is left until midnight on January 1, 2027?
4. Timezones & World Clock
convert_timezone
Project timestamps across world IANA timezones while handling DST transitions seamlessly.
timezonesmcp tool
| Parameter | Type | Required | Description |
|---|---|---|---|
date | string | optional | Date string or now |
fromTimezone | string | optional | Origin IANA timezone (e.g. UTC) |
toTimezone | string | required | Destination IANA timezone (e.g. Asia/Tokyo) |
format | string | optional | Output formatting pattern |
{
"date": "2026-08-11T12:00:00",
"fromTimezone": "UTC",
"toTimezone": "Asia/Tokyo"
}
"2026-08-11T21:00:00+09:00"
LLMs Samples Queries
- What time is 12:00 PM UTC in Tokyo (Asia/Tokyo)?
- Convert 2026-08-11 14:00 from America/New_York to Europe/London.
- Project a UTC timestamp into Tokyo local time.
local_time
Get current local time, date, timezone name, and offset for the runtime execution environment.
systemmcp tool
Takes no required parameters. Inspects local system environment clock and locale settings.
{}
{
"local_time": "15:28:00",
"local_date": "Tuesday, August 11, 2026",
"timezone": "America/New_York",
"timezone_offset_mins": 240
}
LLMs Samples Queries
- What is my system's local time, date, and timezone offset?
- Show current local time and timezone for this server.
- Get the local system clock and UTC offset in minutes.
world_time
Query active local time, country flags, and offsets across major cities or global world regions.
worldmcp tool
| Parameter | Type | Required | Description |
|---|---|---|---|
query | string | optional | City or country name (e.g. Tokyo, Germany) |
region | enum | optional | Filter region (All | Africa | Americas | Asia | Europe | Oceania) |
timezone | string | optional | Direct IANA timezone string |
offset_hours | number | optional | UTC offset hours fallback |
{ "query": "Tokyo" }
{
"query": "Tokyo",
"match_count": 1,
"results": [
{
"flag": "🇯🇵",
"country": "Japan",
"city": "Tokyo",
"timezone": "Asia/Tokyo",
"time": "23:02:00",
"offset_string": "GMT+9"
}
]
}
LLMs Samples Queries
- What time is it in Japan right now?
- Show the current time and GMT offset for Tokyo.
- Search local time for major cities in Europe.
time_duration
Calculate duration between two wall clock time strings (HH:MM or HH:MM:SS), handling overnight shifts automatically.
timemcp tool
| Parameter | Type | Required | Description |
|---|---|---|---|
start | string | required | Start time (e.g. 22:00) |
end | string | required | End time (e.g. 06:30) |
{ "start": "22:00", "end": "06:30" }
{
"start": "22:00",
"end": "06:30",
"hours": 8,
"minutes": 30,
"total_seconds": 30600,
"display": "8h 30m 0s"
}
LLMs Samples Queries
- How many hours and minutes passed between 10:00 PM and 6:30 AM next morning?
- Calculate duration between start time 09:00 and end time 17:30.
- What is the time difference in hours between 22:00 and 06:30?
5. Intervals & Durations
each_of_interval
Generate an array of step dates/times across an interval boundary.
generatormcp tool
| Parameter | Type | Required | Description |
|---|---|---|---|
start | string | required | Interval start ISO string |
end | string | required | Interval end ISO string |
unit | enum | optional | day | hour | minute | month | quarter | week | year (default: day) |
step | number | optional | Step increment size (default: 1) |
format | string | optional | Output formatting pattern |
{ "start": "2026-08-01", "end": "2026-08-03", "unit": "day" }
{
"count": 3,
"dates": [
"2026-08-01T00:00:00.000Z",
"2026-08-02T00:00:00.000Z",
"2026-08-03T00:00:00.000Z"
]
}
LLMs Samples Queries
- List every daily step date between August 1, 2026 and August 3, 2026.
- Generate hourly intervals between 2026-08-01T00:00 and 2026-08-01T12:00.
- Create an array of weekly dates across August 2026.
duration
Create and inspect durations from ISO strings, millisecond numbers, or unit object descriptors.
durationmcp tool
| Parameter | Type | Required | Description |
|---|---|---|---|
input | string | number | object | required | ISO 8601 string (P1Y2M), ms number, or unit object |
unit | string | optional | Unit when input is a scalar number |
outputFormat | enum | optional | iso | humanize | milliseconds | object |
{ "input": "P1Y2M3D", "outputFormat": "object" }
{
"years": 1,
"months": 2,
"days": 3,
"hours": 0,
"minutes": 0,
"totalMilliseconds": 36979200000
}
LLMs Samples Queries
- Parse ISO duration 'P1Y2M3D' into structured years, months, and days.
- Convert 36979200000 milliseconds into human readable duration.
- Create a duration object from 2 hours and 30 minutes.
interval_to_duration
Convert start and end dates into a structured duration object broken down into years, months, days, etc.
durationmcp tool
| Parameter | Type | Required | Description |
|---|---|---|---|
start | string | required | Interval start ISO string |
end | string | required | Interval end ISO string |
{ "start": "2025-01-01", "end": "2026-08-11" }
{
"years": 1,
"months": 7,
"days": 10,
"humanized": "a year"
}
LLMs Samples Queries
- Convert interval from 2025-01-01 to 2026-08-11 into years, months, and days.
- How many years and months are between two specific dates?
- Get structured breakdown duration between start date and end date.
format_duration_string
Build a formatted English text string from duration component numbers.
durationmcp tool
| Parameter | Type | Required | Description |
|---|---|---|---|
years, months, weeks, days, hours, minutes, seconds | number | optional | Individual numeric duration parts |
format | array | optional | Limit units shown (e.g. ["hours", "minutes"]) |
delimiter | string | optional | Unit separator (default: , ) |
zero | boolean | optional | Include zero value units (default: false) |
{ "hours": 2, "minutes": 30 }
{
"formatted": "2 hours, 30 minutes",
"humanized": "in 3 hours",
"iso": "PT2H30M"
}
LLMs Samples Queries
- Format 90 minutes as hour, minutes..
- Convert duration parts (2 hours, 30 mins) into an ISO string or English phrase.
parse_iso_duration
Parse an ISO 8601 duration string (e.g. 'P1Y2M3DT4H') into an object with all components.
durationmcp tool
| Parameter | Type | Required | Description |
|---|---|---|---|
iso | string | required | ISO 8601 duration string (e.g. P1Y6M, PT2H30M) |
{ "iso": "PT2H30M" }
{
"hours": 2,
"minutes": 30,
"seconds": 0,
"totalMilliseconds": 9000000,
"humanized": "in 3 hours"
}
LLMs Samples Queries
- Parse the ISO 8601 duration string 'PT2H30M'.
- Extract hours, minutes, and total milliseconds from 'P1Y6M'.
- Decode ISO duration 'PT1H45M' into standard component object.
clamp_date
Clamp a date within start and end interval boundaries.
mathmcp tool
| Parameter | Type | Required | Description |
|---|---|---|---|
date | string | optional | Date to clamp (defaults to now) |
start | string | required | Lower bound date |
end | string | required | Upper bound date |
format | string | optional | Output formatting pattern |
{ "date": "2026-12-31", "start": "2026-01-01", "end": "2026-08-31" }
{
"clamped": "2026-08-31T00:00:00.000Z",
"wasClamped": true
}
LLMs Samples Queries
- Clamp '2026-12-31' within bounds '2026-01-01' and '2026-08-31'.
- Ensure date does not exceed maximum allowable deadline August 31, 2026.
- Check if date was clamped when constrained between range boundaries.
round_to_nearest
Round date/time to nearest N minutes or N hours using floor, ceil, or standard rounding.
mathmcp tool
| Parameter | Type | Required | Description |
|---|---|---|---|
date | string | optional | Target date or now |
unit | enum | optional | minutes or hours (default: minutes) |
nearestTo | number | optional | Step increment (e.g. 15 for quarter hour) |
roundingMethod | enum | optional | round | floor | ceil |
{ "date": "2026-08-11T14:23:00Z", "nearestTo": 15 }
{
"result": "2026-08-11T14:30:00.000Z"
}
LLMs Samples Queries
- Round 14:23:00 to the nearest 15 minutes.
- Floor current time to nearest 30 minute interval.
6. Components & Setters
date_part
Extract a specific date part: week, isoWeek, isoWeekday, quarter, dayOfYear, or weekday.
componentmcp tool
| Parameter | Type | Required | Description |
|---|---|---|---|
date | string | optional | Date or now |
part | enum | required | week | isoWeek | isoWeekday | quarter | dayOfYear | weekday |
{ "date": "2026-08-11", "part": "dayOfYear" }
223
LLMs Samples Queries
- Get the day of year number for August 11, 2026.
- What quarter of the year is August 11 in?
- Extract the ISO week number for 2026-08-11.
date_components_all
Retrieve every numeric and calendar component at once (year, month, date, hour, ISO week, quarter, Unix, decade, etc.).
componentmcp tool
| Parameter | Type | Required | Description |
|---|---|---|---|
date | string | optional | Date string or now |
{ "date": "2026-08-11" }
{
"year": 2026,
"month": 8,
"date_": 11,
"dayOfWeek": 2,
"isoDay": 2,
"dayOfYear": 223,
"daysInMonth": 31,
"quarter": 3,
"unix": 1786406400
}
LLMs Samples Queries
- Retrieve every component (year, month, date, quarter, day of year) for August 11, 2026.
- Get full numeric and text date breakdown for 2026-08-11.
- Show all temporal values for current date.
set_components
Set specific numeric date/time components on a base date and return the resulting timestamp.
settermcp tool
| Parameter | Type | Required | Description |
|---|---|---|---|
date | string | optional | Base date or now |
year, month, day, hour, minute, second, millisecond | number | optional | Specific field values to modify |
dayOfYear, quarter, week, isoWeek, isoDay, isoWeekYear, weekYear | number | optional | Calendar field modifications |
{ "date": "2026-08-11", "month": 12, "day": 25 }
{
"original": "2026-08-11T00:00:00.000Z",
"result": "2026-12-25T00:00:00.000Z"
}
LLMs Samples Queries
- Set month to December and day to 25 on date '2026-08-11'.
- Modify year to 2028 for date '2026-08-11'.
- Set time to 15:30:00 on August 11, 2026.
days_in_month
Return total number of days in the month for a given date.
calendarmcp tool
| Parameter | Type | Required | Description |
|---|---|---|---|
date | string | optional | Date string or now |
{ "date": "2024-02-15" }
29
LLMs Samples Queries
- How many days are in February 2024?
- What is the total day count in August 2026?
- Check how many days are in the month for '2026-02-15'.
convert_units
Convert a numeric value between time units (seconds, minutes, hours, days, weeks, months, years).
conversionmcp tool
| Parameter | Type | Required | Description |
|---|---|---|---|
value | number | required | Numeric quantity to convert |
from | string | required | Source unit (e.g. hours, days) |
to | string | required | Target unit (e.g. minutes, weeks) |
{ "value": 36, "from": "hours", "to": "days" }
{
"value": 36,
"from": "hours",
"to": "days",
"result": 1.5
}
LLMs Samples Queries
- Convert 36 hours into days.
- How many minutes are in 2.5 hours?
- Convert 14 days into weeks.
time_add
Add or subtract hours, minutes, and/or seconds to a wall clock time string.
timemcp tool
| Parameter | Type | Required | Description |
|---|---|---|---|
time | string | required | Base wall clock time (e.g. 14:30:00) |
add_hours | number | optional | Hours to add (negative to subtract) |
add_minutes | number | optional | Minutes to add |
add_seconds | number | optional | Seconds to add |
{ "time": "14:30:00", "add_minutes": 45 }
{
"original": "14:30:00",
"result": "15:15:00"
}
LLMs Samples Queries
- Add 45 minutes to 14:30:00.
- Subtract 2 hours from wall time 01:15:00.
- Add 3 hours and 15 minutes to 09:00:00.
7. Validation & Predicates
is_valid
Check whether a date string represents a valid, parseable calendar date.
validationmcp tool
| Parameter | Type | Required | Description |
|---|---|---|---|
date | string | required | Date string to validate |
inputFormat | string | optional | Expected parsing format pattern |
{ "date": "2026-02-31" }
false
LLMs Samples Queries
- Is '2026-02-31' a valid calendar date?
- Check if string '2026-08-11' is a valid date.
- Validate if '2025-13-40' can be parsed as a real date.
date_predicate
Test specific boolean predicates on a date: isLeapYear, isToday, isTomorrow, isYesterday.
predicatemcp tool
| Parameter | Type | Required | Description |
|---|---|---|---|
date | string | optional | Target date string or now |
predicate | enum | required | isLeapYear | isToday | isTomorrow | isYesterday |
{ "date": "2024-08-11", "predicate": "isLeapYear" }
true
LLMs Samples Queries
- Is 2024 a leap year?
- Is August 11, 2026 today?
- Check if '2026-08-10' is yesterday.
date_predicates
Run all calendar and temporal boolean predicates simultaneously for a date.
predicatemcp tool
| Parameter | Type | Required | Description |
|---|---|---|---|
date | string | optional | Target date or now |
{ "date": "2026-08-11" }
{
"isTuesday": true,
"isWeekend": false,
"isWeekday": true,
"isLeapYear": false,
"isThisMonth": true,
"isThisYear": true
}
LLMs Samples Queries
- Check all boolean flags (isTuesday, isWeekend, isLeapYear, isThisMonth) for August 11, 2026.
- Run all calendar predicates on '2026-08-11'.
- Is 2026-08-11 a weekday, weekend, or leap year?
unix_convert
Convert between date strings and Unix timestamps (seconds & milliseconds).
conversionmcp tool
| Parameter | Type | Required | Description |
|---|---|---|---|
date | string | optional | Date string (for to_unix mode) |
fromUnix | number | optional | Unix timestamp in seconds (shorthand conversion) |
mode | enum | optional | to_unix or from_unix (default: to_unix) |
{ "fromUnix": 1786406400 }
"2026-08-11T00:00:00.000Z"
LLMs Samples Queries
- Convert Unix timestamp 1786406400 to an ISO date string.
- Get the Unix epoch seconds timestamp for '2026-08-11'.
- Convert 1786406400 seconds into standard UTC date.
min_max
Find the earliest (min) or latest (max) date from an array of date strings.
searchmcp tool
| Parameter | Type | Required | Description |
|---|---|---|---|
dates | array | required | Array of candidate date strings |
operation | enum | required | min (earliest) or max (latest) |
format | string | optional | Output formatting pattern |
{
"dates": ["2026-01-01", "2026-08-11", "2026-12-25"],
"operation": "max"
}
"2026-12-25T00:00:00.000Z"
LLMs Samples Queries
- Find the latest date among ['2026-01-01', '2026-08-11', '2026-12-25'].
- Which date is earliest in this array of date strings?
- Get maximum (latest) date from my list of project milestones.
locale_data
Retrieve locale metadata arrays (months, short months, weekday names, first day of week).
i18nmcp tool
| Parameter | Type | Required | Description |
|---|---|---|---|
part | enum | required | months | monthsShort | weekdays | weekdaysShort | weekdaysMin | firstDayOfWeek |
locale | string | optional | Target locale code (default: en) |
{ "part": "months" }
[
"January", "February", "March", "April", "May", "June",
"July", "August", "September", "October", "November", "December"
]
LLMs Samples Queries
- Get array of full month names in English.
- Get short weekday names for English locale.
- What is the first day of week in English locale data?
next_prev_weekday
Find the next or previous occurrence of a specific weekday relative to a start date.
calendarmcp tool
| Parameter | Type | Required | Description |
|---|---|---|---|
date | string | optional | Start reference date (default: now) |
weekday | string | number | required | Target day: 0–6 or weekday name (monday, friday) |
direction | enum | optional | next or previous (default: next) |
format | string | optional | Output formatting pattern |
{ "date": "2026-08-11", "weekday": "friday", "direction": "next" }
{
"from": "2026-08-11",
"direction": "next",
"weekdayRequested": "friday",
"result": "2026-08-14"
}
LLMs Samples Queries
- When is the next Friday relative to August 11, 2026?
- Find the previous Monday before August 11, 2026.
- What date will be the next Sunday?