MCP Time Server

Motor de cálculo temporal de alta precisión que admite parseo de ISO 8601, conversiones de zona horaria, días hábiles, operaciones con duraciones, formato de tiempo relativo y generación completa de calendarios.

Documentación

BrainyCalc Docs — MCP Date & Time Tools

Getting Started

Descripción general Inicio rápido

Core & Formatting

now format_date parse_date adjust_time boundary_of get_date_format format_standard parse_strict to_representation utc_date

Difference & Compare

date_diff calc_age compare_dates is_between date_compare relative_time intl_format_distance closest_date interval_overlap

Business & Calendar

business_days work_days calendar_month each_weekend_of day_of_week last_day_of countdown

Timezones & World

convert_timezone local_time world_time time_duration

Intervals & Durations

each_of_interval duration interval_to_duration format_duration_string parse_iso_duration clamp_date round_to_nearest

Components & Setters

date_part date_components_all set_components days_in_month convert_units time_add

Validation & Predicates

is_valid date_predicate date_predicates unix_convert min_max locale_data next_prev_weekday

Other Modules

Mathematics Conversions

Docs/ MCP Date & Time Tools

Referencia de API · 50 herramientas

MCP Date & Time Tools

Motor de cálculo temporal de alta precisión compatible con análisis ISO 8601, conversiones de zona horaria, días hábiles, operaciones con duraciones, formato de tiempo relativo y generación completa de calendarios.

MCP Time Server · v1.0.7

Las 50 herramientas de cálculo de fecha y hora están disponibles como un servidor de Model Context Protocol (MCP) independiente. Instala mediante npx -y @brainycalc/mcptimeserver para dotar a los asistentes de IA (LM Studio, Claude Desktop) de operaciones temporales deterministas.

Copiar configuración de MCP Copiar configuración local de MCP

now format_date parse_date adjust_time boundary_of get_date_format format_standard parse_strict to_representation utc_date date_diff calc_age compare_dates is_between date_compare relative_time intl_format_distance closest_date interval_overlap business_days work_days calendar_month each_weekend_of day_of_week last_day_of countdown convert_timezone local_time world_time time_duration each_of_interval duration interval_to_duration format_duration_string parse_iso_duration clamp_date round_to_nearest date_part date_components_all set_components days_in_month convert_units time_add is_valid date_predicate date_predicates unix_convert min_max locale_data next_prev_weekday

1. Núcleo y formato

now

Obtiene la fecha y hora actuales, opcionalmente formateadas o ajustadas a una zona horaria de destino.

coremcp tool

ParámetroTipoRequeridoDescripción
formatstringopcionalCadena de token de formato de salida (p. ej. YYYY-MM-DD HH:mm:ss)
timezonestringopcionalZona horaria IANA de destino (p. ej. America/New_York)

Solicitud / Respuesta Copiar

{ "format": "YYYY-MM-DD HH:mm:ss", "timezone": "America/New_York" }

"2026-08-11 14:02:00"

Consultas de muestra para LLMs

  • ¿Cuál es la fecha y hora actuales?
  • ¿Cuál es la hora actual en Nueva York formateada como YYYY-MM-DD HH:mm:ss?
  • Dame la fecha de hoy y la hora actual.

format_date

Formatea una fecha entrante en una cadena de token localizada personalizada.

formattingmcp tool

ParámetroTipoRequeridoDescripción
datestringrequeridoCadena de fecha o now
formatstringrequeridoPatrón de formato (p. ej. dddd, MMMM D, YYYY)
inputFormatstringopcionalFormato de análisis para entradas de fecha no estándar
timezonestringopcionalZona horaria IANA de destino

{ "date": "2026-08-11T14:02:00Z", "format": "dddd, MMMM D, YYYY" }

"Tuesday, August 11, 2026"

  • Muestra solo el mes de 2026-08-11.
  • ¿Puedes reformatear '2026/08/11' a 'DD/MM/YYYY'?
  • Muestra esta marca de tiempo en palabras completas: 2026-08-11.

parse_date

Descompone una cadena de fecha en componentes estructurados (año, mes, semana ISO, trimestre, Unix, etc.).

parsermcp tool

ParámetroTipoRequeridoDescripción
datestringrequeridoCadena de fecha a analizar
inputFormatstringopcionalFormato de análisis para cadenas de entrada no estándar

{ "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" }

  • Desglosa '2026-08-11' en sus componentes de calendario.
  • ¿Qué día de la semana y número de semana fue el 11 de agosto de 2026?
  • Extrae el trimestre, el año y la semana ISO de '2026-08-11'.

adjust_time

Suma o resta unidades de tiempo especificadas a una fecha base.

mathmcp tool

ParámetroTipoRequeridoDescripción
datestringopcionalFecha base o now
amountnumberrequeridoCantidad a desplazar
unitstringrequeridoUnidad (millisecond, second, minute, hour, day, week, month, quarter, year)
operationenumopcionaladd o subtract (predeterminado: add)
formatstringopcionalPatrón de formato de salida

{ "date": "2026-08-11", "amount": 3, "unit": "months" }

"2026-11-11T00:00:00.000Z"

  • ¿Qué fecha será 3 meses después del 11 de agosto de 2026?
  • Resta 45 minutos a las 10:00 AM de hoy.
  • Suma 3 semanas a 2026-08-11.

boundary_of

Obtiene el límite de inicio o fin de una unidad (year, quarter, month, week, isoWeek, day, hour) para una fecha.

boundarymcp tool

ParámetroTipoRequeridoDescripción
datestringopcionalFecha o now
unitenumrequeridoyear | quartermonthweekisoWeekdayhourminutesecond
edgeenumopcionalstart o end (predeterminado: start)
formatstringopcionalCadena de formato de salida

{ "date": "2026-08-11", "unit": "month", "edge": "end" }

"2026-08-31T23:59:59.999Z"

  • ¿Cuál es el final de agosto de 2026?
  • ¿Cuándo termina la semana actual?.
  • ¿Cuándo termina el tercer trimestre de 2026?

get_date_format

Resuelve términos de componentes de fecha en inglés ('month name', 'unix milliseconds') en tokens de formato o compone cadenas de formato.

utilitymcp tool

ParámetroTipoRequeridoDescripción
partstring | arrayrequeridoNombre(s) de parte en inglés simple o list
verbosebooleanopcionalDevuelve descriptores completos (token, description, example)
composebooleanopcionalUne el array de partes en una cadena de formato lista
separatorstringopcionalSeparador cuando compose es true (predeterminado: '')

{ "part": ["full year", "month", "day"], "compose": true, "separator": "-" }

"YYYY-MM-DD"

  • ¿Qué tokens de formato debo usar para 'year-month-day'?
  • Compón una cadena de formato con año completo, nombre del mes y día.
  • ¿Cuál es el token de formato para el nombre completo del mes?

format_standard

Formatea la fecha según especificaciones estandarizadas: ISO 8601, ISO 9075, RFC 3339 o RFC 7231 (HTTP).

standardmcp tool

ParámetroTipoRequeridoDescripción
datestringopcionalFecha o now
standardenumopcionaliso | iso9075rfc3339rfc7231 (predeterminado: iso)
representationenumopcionalPara modo ISO: complete | datetime

{ "date": "2026-08-11T14:30:00Z", "standard": "rfc7231" }

"Tue, 11 Aug 2026 14:30:00 GMT"

  • Formatea el 11 de agosto de 2026 al formato de fecha de cabecera HTTP RFC 7231.
  • Convierte esta fecha al formato de cadena ISO 8601 estándar.
  • Genera una marca de tiempo RFC 3339 para ahora mismo.

parse_strict

Analiza estrictamente entradas desde cadenas ISO, cadenas de fecha JSON, segundos Unix o milisegundos Unix.

parsermcp tool

ParámetroTipoRequeridoDescripción
inputstring | numberrequeridoValor a analizar
inputTypeenumopcionaliso | jsonunix_sunix_ms (predeterminado: iso)
formatstringopcionalPatrón de formato opcional para la cadena de salida

{ "input": 1786406400, "inputType": "unix_s" }

{ "input": 1786406400, "inputType": "unix_s", "iso": "2026-08-11T00:00:00.000Z", "unix": 1786406400, "unixMs": 1786406400000 }

  • Analiza esta marca de tiempo Unix 1786406400 en segundos a una fecha ISO.
  • Analiza estrictamente "2026-08-11" y conviértela a una marca de tiempo ISO.
  • Convierte los milisegundos de época Unix 1786406400000 en una fecha legible.

to_representation

Convierte un objeto de fecha en representaciones alternativas: array, object, JSON, UTC string o ISO string.

conversionmcp tool

ParámetroTipoRequeridoDescripción
datestringopcionalCadena de fecha o now
outputenumrequeridoarray | objectjsonutcStringisoString

{ "date": "2026-08-11", "output": "array" }

[2026, 7, 11, 0, 0, 0, 0]

  • Convierte '2026-08-11' en un array de números de fecha.
  • Exporta esta fecha como una representación de objeto de fecha JavaScript sin procesar.
  • Dame '2026-08-11' como una cadena UTC.

utc_date

Analiza o convierte una fecha en modo UTC, conservando o convirtiendo los valores locales de reloj de pared.

utcmcp tool

ParámetroTipoRequeridoDescripción
datestringopcionalCadena de fecha o now
formatstringopcionalPatrón de formato de salida
keepLocalTimebooleanopcionalConserva los números de hora local al convertir a UTC

{ "date": "2026-08-11T12:00:00", "keepLocalTime": true }

"2026-08-11T12:00:00.000Z"

  • Convierte la hora local 12:00 a UTC conservando los números de hora local.
  • Obtén la representación de fecha UTC para el 11 de agosto de 2026.
  • Analiza '2026-08-11T12:00:00' directamente en UTC.

2. Diferencia y comparación

date_diff

Calcula diferencias exactas entre dos fechas (devuelve un valor escalar o un desglose detallado).

mathmcp tool

ParámetroTipoObligatorioDescripción
date1stringobligatorioPrimera fecha (formato ISO o now)
date2stringobligatorioSegunda fecha para comparar
unitstringopcionalUnidad para diferencia escalar (omitir para desglose completo)
floatbooleanopcionalDevolver diferencia escalar en punto flotante

{ "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" }

  • ¿Cuántos días hay entre el 11 de agosto de 2026 y el 25 de diciembre de 2026?
  • Calcula la diferencia en semanas y días entre estas dos fechas.

calc_age

Calcula la edad exacta en años, meses, días, semanas totales y días totales en relación con la fecha objetivo.

humanmcp tool

ParámetroTipoObligatorioDescripción
birthDatestringobligatorioCadena de fecha de nacimiento (YYYY-MM-DD). Alias: birth_date
targetDatestringopcionalFecha de referencia para comparar (por defecto: hoy). 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" }

  • ¿Qué edad tiene alguien nacido el 15 de mayo de 1995 al 11 de agosto de 2026?
  • Calcula la edad exacta en años, meses y días para el 15 de mayo de 1995.
  • ¿Cuántas semanas totales tiene una persona nacida el 1995-05-15?

compare_dates

Evalúa predicados booleanos de comparación de fechas: isBefore, isAfter, isSame, isSameOrBefore, isSameOrAfter.

comparisonmcp tool

ParámetroTipoObligatorioDescripción
date1stringopcionalPrimera fecha o now
date2stringobligatorioSegunda fecha para comparar
comparisonenumobligatorioisBefore | isAfterisSameisSameOrBeforeisSameOrAfter
unitstringopcionalGranularidad de la unidad de comparación (p. ej. month, day)

{ "date1": "2026-08-11", "date2": "2026-08-15", "comparison": "isBefore" }

true

  • ¿Es el 11 de agosto de 2026 anterior al 15 de agosto de 2026?
  • Comprueba si la fecha A es igual a la fecha B ignorando la hora.
  • ¿Es 2026-08-11 posterior a 2026-08-01?

is_between

Comprueba si una fecha cae entre los límites de inicio y fin con opciones de inclusividad configurables.

ParámetroTipoObligatorioDescripción
datestringopcionalFecha objetivo o now
startstringobligatorioFecha de inicio del rango
endstringobligatorioFecha de fin del rango
unitstringopcionalGranularidad de la unidad de comparación
inclusivityenumopcional() | (][)[] (por defecto: ())

{ "date": "2026-08-11", "start": "2026-08-01", "end": "2026-08-31", "inclusivity": "[]" }

true

  • ¿Está hoy entre 2025-01-01 y 2025-12-31?
  • ¿Cae el 11 de agosto de 2026 dentro del rango del 1 de agosto al 31 de agosto de 2026?
  • Comprueba si '2026-08-11' está estrictamente entre dos fechas límite.

date_compare

Ejecuta una matriz completa de comparación de fechas en todas las granularidades de unidad simultáneamente.

ParámetroTipoObligatorioDescripción
date1stringobligatorioPrimera cadena de fecha o now
date2stringobligatorioSegunda cadena de fecha o now

{ "date1": "2026-08-11", "date2": "2026-08-15" }

{ "compareAsc": -1, "compareDesc": 1, "isSameDay": false, "isSameWeek": true, "isSameMonth": true, "isSameQuarter": true, "isSameYear": true }

  • Compara dos fechas en todas las unidades como misma semana, mismo mes, mismo año.
  • ¿Están el 11 de agosto de 2026 y el 15 de agosto de 2026 en el mismo mes y semana?
  • Obtén el desglose comparativo completo entre 2026-08-11 y 2026-08-15.

relative_time

Obtén una expresión de tiempo relativo legible por humanos (p. ej. '3 days ago', 'in 2 months').

relativemcp tool

ParámetroTipoObligatorioDescripción
datestringopcionalFecha o now
relativeTostringopcionalFecha de referencia en lugar de la hora actual
withoutSuffixbooleanopcionalOmitir sufijo 'ago' / 'in'
directionenumopcionalfrom o to (por defecto: from)

{ "date": "2026-08-01", "relativeTo": "2026-08-11" }

"10 days ago"

  • ¿Hace cuánto tiempo fue el 1 de agosto de 2026 en comparación con el 11 de agosto de 2026?
  • Formatea el 1 de agosto de 2026 como tiempo relativo (p. ej. '10 days ago').
  • Expresa la diferencia de fechas de forma legible sin sufijos.

intl_format_distance

Formato de tiempo relativo con reconocimiento de configuración regional que utiliza Intl.RelativeTimeFormat estándar.

i18nmcp tool

ParámetroTipoObligatorioDescripción
datestringopcionalFecha objetivo (por defecto: now)
baseDatestringopcionalFecha de referencia para comparar (por defecto: now)
localestringopcionalEtiqueta de configuración regional BCP 47 (p. ej. en, fr, es)
numericenumopcionalauto o always
styleenumopcionallong | shortnarrow
unitstringopcionalUnidad explícita (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" }

  • Muestra la distancia de tiempo relativo en español ('dentro de 3 días') para el 14 de agosto.
  • Obtén la distancia de tiempo relativo localizada entre el 11 y el 14 de agosto de 2026.

closest_date

Encuentra qué fecha en una matriz de candidatas está más cerca de una fecha de referencia.

searchmcp tool

ParámetroTipoObligatorioDescripción
datestringopcionalFecha de referencia (por defecto: now)
datesarrayobligatorioMatriz de cadenas de fecha candidatas
formatstringopcionalCadena de formato de salida

{ "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 }

  • ¿Qué fecha en esta lista [2026-01-01, 2026-08-10, 2026-12-31] está más cerca del 11 de agosto de 2026?

interval_overlap

Determina si dos intervalos de fechas se superponen y calcula el número de días de superposición.

intervalmcp tool

ParámetroTipoObligatorioDescripción
start1stringobligatorioInicio del intervalo 1
end1stringobligatorioFin del intervalo 1
start2stringobligatorioInicio del intervalo 2
end2stringobligatorioFin del intervalo 2
inclusivebooleanopcionalIncluir contacto de límites como superposición
modeenumopcionaloverlapping o 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" }

  • ¿Se superponen los rangos de fechas del 1 al 15 de agosto y del 10 al 20 de agosto?
  • Calcula cuántos días se superponen entre dos horarios de eventos.
  • Comprueba si el intervalo 2026-08-01 a 2026-08-15 se cruza con 2026-08-10 a 2026-08-20.

3. Negocios y Calendario

business_days

Cuenta días laborables (lun–vie) entre fechas o suma/resta días laborables desde una fecha de inicio.

businessmcp tool

ParámetroTipoObligatorioDescripción
modeenumopcionaldiff | addsubtract (por defecto: diff)
startDatestringopcionalCadena de fecha de inicio
endDatestringopcionalFecha de fin (para modo diff)
amountnumberopcionalRecuento de días laborables (para add/subtract)
formatstringopcionalPatrón de formato de salida

{ "mode": "add", "startDate": "2026-08-07", "amount": 5 }

{ "original": "2026-08-07", "amount": 5, "result": "2026-08-14" }

  • Suma 5 días laborables al viernes 7 de agosto de 2026.
  • ¿Cuántos días laborables hay entre el 1 y el 15 de agosto de 2026?
  • Resta 10 días laborables del 11 de agosto de 2026.

work_days

Calcula días laborables entre dos fechas con indicadores opcionales de inclusión de fines de semana.

workmcp tool

ParámetroTipoObligatorioDescripción
startDatestringobligatorioFecha de inicio (YYYY-MM-DD)
endDatestringobligatorioFecha de fin (YYYY-MM-DD)
includeWeekendsbooleanopcionalIncluir sábado y domingo (por defecto: false)

{ "startDate": "2026-08-01", "endDate": "2026-08-11" }

{ "startDate": "2026-08-01", "endDate": "2026-08-11", "workDaysCount": 7, "weekendsIncluded": false }

  • Cuenta el total de días laborables entre 2026-08-01 y 2026-08-11.
  • ¿Cuántos días excluyendo fines de semana hay en la primera mitad de agosto de 2026?

calendar_month

Genera una matriz de calendario mensual completa estructurada en matrices de semanas para visualizaciones de calendario en UI.

calendarmcp tool

ParámetroTipoObligatorioDescripción
datestringopcionalFecha de referencia en el mes objetivo
weekStartenumopcional0 (domingo) o 1 (lunes)
formatstringopcionalPatrón de formato de salida de cadena de fecha

{ "date": "2026-08-01", "weekStart": 1 }

{ "month": "August 2026", "year": 2026, "daysInMonth": 31, "weeks": [ /* Arrays containing week objects */ ] }

  • Genera una matriz de calendario mensual completa para agosto de 2026 comenzando en lunes.
  • Obtén todas las semanas y fechas de agosto de 2026 estructuradas para el diseño de calendario en UI.
  • Construye una cuadrícula de vista de calendario mensual para agosto de 2026.

each_weekend_of

Obtén una matriz de todas las fechas de fin de semana (sábado y domingo) dentro de un intervalo, mes o año especificado.

calendarmcp tool

ParámetroTipoRequeridoDescripción
modeenumopcionalinterval | monthyear (predeterminado: interval)
datestringopcionalFecha de referencia para modo month o year
startstringopcionalFecha de inicio para modo interval
endstringopcionalFecha de fin para modo interval

{ "mode": "month", "date": "2026-08-01" }

{ "mode": "month", "count": 10, "weekends": ["2026-08-01", "2026-08-02", "2026-08-08", "..."] }

  • Listar todas las fechas de fin de semana (sábados y domingos) en agosto de 2026.
  • Obtener cada fecha de fin de semana en el año 2026.
  • Encontrar todas las fechas de fin de semana entre el 1 de agosto y el 31 de agosto de 2026.

day_of_week

Obtener nombre del día, nombre del mes, año, indicador de fin de semana, día del año y número de semana para cualquier fecha.

metadatamcp tool

ParámetroTipoRequeridoDescripción
datestringrequeridoCadena de fecha (YYYY-MM-DD)

{ "date": "2026-08-11", "dayName": "Tuesday", "month": "August", "dayNumber": 11, "year": 2026, "isWeekend": false, "dayOfYear": 223, "weekNumber": 2 }

  • ¿Qué día de la semana es el 11 de agosto de 2026?
  • ¿Es el 11 de agosto de 2026 un fin de semana o un día laborable?
  • ¿Cuál es el número de día del año para el 11 de agosto de 2026?

last_day_of

Devuelve el último día de un período (mes, año, trimestre, semana, isoWeek, década).

boundarymcp tool

ParámetroTipoRequeridoDescripción
datestringopcionalFecha de referencia o ahora
unitenumrequeridomonth | yearquarterweekisoWeekisoWyeardecade
formatstringopcionalPatrón de formato de salida

{ "date": "2026-08-11", "unit": "quarter" }

{ "input": "2026-08-11", "unit": "quarter", "lastDay": "2026-09-30" }

  • ¿Cuál es el último día del tercer trimestre de 2026?
  • Encontrar el último día del mes para agosto de 2026.
  • ¿Cuál es el último día de la década para 2026-08-11?

countdown

Generar desgloses estructurados de tiempo restante o tiempo transcurrido en relación con una marca de tiempo objetivo.

timermcp tool

ParámetroTipoRequeridoDescripción
datestringrequeridoFecha objetivo o marca de tiempo
formatstringopcionalCadena de formato para salida de fecha objetivo

{ "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" }

  • ¿Cuántos días, horas y minutos quedan hasta el Año Nuevo 2027?
  • Generar un desglose de cuenta regresiva en vivo hasta 2027-01-01T00:00:00Z.
  • ¿Cuánto tiempo queda hasta la medianoche del 1 de enero de 2027?

4. Zonas horarias y reloj mundial

convert_timezone

Proyectar marcas de tiempo a través de zonas horarias IANA del mundo manejando transiciones de horario de verano sin problemas.

timezonesmcp tool

ParámetroTipoRequeridoDescripción
datestringopcionalCadena de fecha o ahora
fromTimezonestringopcionalZona horaria IANA de origen (p. ej. UTC)
toTimezonestringrequeridoZona horaria IANA de destino (p. ej. Asia/Tokyo)
formatstringopcionalPatrón de formato de salida

{ "date": "2026-08-11T12:00:00", "fromTimezone": "UTC", "toTimezone": "Asia/Tokyo" }

"2026-08-11T21:00:00+09:00"

  • ¿Qué hora es a las 12:00 PM UTC en Tokio (Asia/Tokyo)?
  • Convertir 2026-08-11 14:00 de America/New_York a Europe/London.
  • Proyectar una marca de tiempo UTC a la hora local de Tokio.

local_time

Obtener la hora local actual, fecha, nombre de zona horaria y desplazamiento para el entorno de ejecución.

systemmcp tool

No requiere parámetros. Inspecciona el reloj del sistema local y la configuración regional.

{}

{ "local_time": "15:28:00", "local_date": "Tuesday, August 11, 2026", "timezone": "America/New_York", "timezone_offset_mins": 240 }

  • ¿Cuál es la hora local, fecha y desplazamiento de zona horaria de mi sistema?
  • Mostrar la hora local actual y la zona horaria de este servidor.
  • Obtener el reloj del sistema local y el desplazamiento UTC en minutos.

world_time

Consultar la hora local activa, banderas de países y desplazamientos en ciudades principales o regiones mundiales.

worldmcp tool

ParámetroTipoRequeridoDescripción
querystringopcionalNombre de ciudad o país (p. ej. Tokyo, Germany)
regionenumopcionalFiltrar región (All | AfricaAmericasAsiaEuropeOceania)
timezonestringopcionalCadena de zona horaria IANA directa
offset_hoursnumberopcionalRespaldo de horas de desplazamiento UTC

{ "query": "Tokyo" }

{ "query": "Tokyo", "match_count": 1, "results": [ { "flag": "🇯🇵", "country": "Japan", "city": "Tokyo", "timezone": "Asia/Tokyo", "time": "23:02:00", "offset_string": "GMT+9" } ] }

  • ¿Qué hora es en Japón ahora mismo?
  • Mostrar la hora actual y el desplazamiento GMT para Tokio.
  • Buscar la hora local en ciudades principales de Europa.

time_duration

Calcular la duración entre dos cadenas de hora de reloj (HH:MM o HH:MM:SS), manejando cambios nocturnos automáticamente.

timemcp tool

ParámetroTipoRequeridoDescripción
startstringrequeridoHora de inicio (p. ej. 22:00)
endstringrequeridoHora de fin (p. ej. 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" }

  • ¿Cuántas horas y minutos pasaron entre las 10:00 PM y las 6:30 AM de la mañana siguiente?
  • Calcular la duración entre la hora de inicio 09:00 y la hora de fin 17:30.
  • ¿Cuál es la diferencia horaria en horas entre las 22:00 y las 06:30?

5. Intervalos y duraciones

each_of_interval

Generar una matriz de fechas/horas de paso a través de un límite de intervalo.

generatormcp tool

ParámetroTipoRequeridoDescripción
startstringrequeridoCadena ISO de inicio del intervalo
endstringrequeridoCadena ISO de fin del intervalo
unitenumopcionalday | hourminutemonthquarterweekyear (predeterminado: day)
stepnumberopcionalTamaño de incremento de paso (predeterminado: 1)
formatstringopcionalPatrón de formato de salida

{ "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" ] }

  • Listar cada fecha de paso diario entre el 1 de agosto de 2026 y el 3 de agosto de 2026.
  • Generar intervalos por hora entre 2026-08-01T00:00 y 2026-08-01T12:00.
  • Crear una matriz de fechas semanales a lo largo de agosto de 2026.

duration

Crear e inspeccionar duraciones a partir de cadenas ISO, números de milisegundos o descriptores de objetos de unidad.

durationmcp tool

ParámetroTipoRequeridoDescripción
inputstring | numberobjectrequeridoCadena ISO 8601 (P1Y2M), número de ms, u objeto de unidad
unitstringopcionalUnidad cuando la entrada es un número escalar
outputFormatenumopcionaliso | humanizemillisecondsobject

{ "input": "P1Y2M3D", "outputFormat": "object" }

{ "years": 1, "months": 2, "days": 3, "hours": 0, "minutes": 0, "totalMilliseconds": 36979200000 }

  • Analizar la duración ISO 'P1Y2M3D' en años, meses y días estructurados.
  • Convertir 36979200000 milisegundos en una duración legible para humanos.
  • Crear un objeto de duración a partir de 2 horas y 30 minutos.

interval_to_duration

Convertir fechas de inicio y fin en un objeto de duración estructurado desglosado en años, meses, días, etc.

durationmcp tool

ParámetroTipoRequeridoDescripción
startstringrequeridoCadena ISO de inicio del intervalo
endstringrequeridoCadena ISO de fin del intervalo

{ "start": "2025-01-01", "end": "2026-08-11" }

{ "years": 1, "months": 7, "days": 10, "humanized": "a year" }

  • Convertir el intervalo de 2025-01-01 a 2026-08-11 en años, meses y días.
  • ¿Cuántos años y meses hay entre dos fechas específicas?
  • Obtener un desglose estructurado de la duración entre la fecha de inicio y la fecha de fin.

format_duration_string

Construir una cadena de texto en inglés formateada a partir de números de componentes de duración.

durationmcp tool

ParámetroTipoRequeridoDescripción
years, months, weeks, days, hours, minutes, secondsnumberopcionalPartes numéricas individuales de duración
formatarrayopcionalLimitar unidades mostradas (p. ej. ["hours", "minutes"])
delimiterstringopcionalSeparador de unidades (predeterminado: , )
zerobooleanopcionalIncluir unidades de valor cero (predeterminado: false)

{ "hours": 2, "minutes": 30 }

{ "formatted": "2 hours, 30 minutes", "humanized": "in 3 hours", "iso": "PT2H30M" }

  • Formatear 90 minutos como horas, minutos..
  • Convertir partes de duración (2 horas, 30 minutos) en una cadena ISO o frase en inglés.

parse_iso_duration

Analizar una cadena de duración ISO 8601 (p. ej. 'P1Y2M3DT4H') en un objeto con todos los componentes.

durationmcp tool

ParámetroTipoRequeridoDescripción
isostringrequeridoCadena de duración ISO 8601 (p. ej. P1Y6M, PT2H30M)

{ "iso": "PT2H30M" }

{ "hours": 2, "minutes": 30, "seconds": 0, "totalMilliseconds": 9000000, "humanized": "in 3 hours" }

  • Analizar la cadena de duración ISO 8601 'PT2H30M'.
  • Extraer horas, minutos y milisegundos totales de 'P1Y6M'.
  • Decodificar la duración ISO 'PT1H45M' en un objeto de componentes estándar.

clamp_date Limitar una fecha dentro de los límites de inicio y fin del intervalo.

mathmcp tool

ParámetroTipoRequeridoDescripción
datestringopcionalFecha a limitar (por defecto ahora)
startstringrequeridoFecha límite inferior
endstringrequeridoFecha límite superior
formatstringopcionalPatrón de formato de salida

{ "date": "2026-12-31", "start": "2026-01-01", "end": "2026-08-31" }

{ "clamped": "2026-08-31T00:00:00.000Z", "wasClamped": true }

  • Limitar '2026-12-31' dentro de los límites '2026-01-01' y '2026-08-31'.
  • Asegurar que la fecha no exceda la fecha límite máxima permitida el 31 de agosto de 2026.
  • Comprobar si la fecha fue limitada al estar restringida entre los límites del rango.

round_to_nearest

Redondear fecha/hora al N minutos o N horas más cercanos usando floor, ceil o redondeo estándar.

mathmcp tool

ParámetroTipoRequeridoDescripción
datestringopcionalFecha objetivo o ahora
unitenumopcionalminutos u horas (por defecto: minutos)
nearestTonumberopcionalIncremento de paso (p. ej. 15 para cuarto de hora)
roundingMethodenumopcionalround | floorceil

{ "date": "2026-08-11T14:23:00Z", "nearestTo": 15 }

{ "result": "2026-08-11T14:30:00.000Z" }

  • Redondear 14:23:00 al cuarto de hora más cercano.
  • Redondear hacia abajo la hora actual al intervalo de 30 minutos más cercano.

6. Componentes y Setters

date_part

Extraer una parte específica de la fecha: week, isoWeek, isoWeekday, quarter, dayOfYear o weekday.

componentmcp tool

ParámetroTipoRequeridoDescripción
datestringopcionalFecha o ahora
partenumrequeridoweek | isoWeekisoWeekdayquarterdayOfYearweekday

{ "date": "2026-08-11", "part": "dayOfYear" }

223

  • Obtener el número de día del año para el 11 de agosto de 2026.
  • ¿En qué trimestre del año está el 11 de agosto?
  • Extraer el número de semana ISO para 2026-08-11.

date_components_all

Recuperar todos los componentes numéricos y de calendario a la vez (año, mes, fecha, hora, semana ISO, trimestre, Unix, década, etc.).

ParámetroTipoRequeridoDescripción
datestringopcionalCadena de fecha o ahora

{ "year": 2026, "month": 8, "date_": 11, "dayOfWeek": 2, "isoDay": 2, "dayOfYear": 223, "daysInMonth": 31, "quarter": 3, "unix": 1786406400 }

  • Recuperar todos los componentes (año, mes, fecha, trimestre, día del año) para el 11 de agosto de 2026.
  • Obtener el desglose completo numérico y de texto de la fecha para 2026-08-11.
  • Mostrar todos los valores temporales para la fecha actual.

set_components

Establecer componentes numéricos específicos de fecha/hora en una fecha base y devolver la marca de tiempo resultante.

settermcp tool

ParámetroTipoRequeridoDescripción
datestringopcionalFecha base o ahora
year, month, day, hour, minute, second, millisecondnumberopcionalValores de campo específicos a modificar
dayOfYear, quarter, week, isoWeek, isoDay, isoWeekYear, weekYearnumberopcionalModificaciones de campo de calendario

{ "date": "2026-08-11", "month": 12, "day": 25 }

{ "original": "2026-08-11T00:00:00.000Z", "result": "2026-12-25T00:00:00.000Z" }

  • Establecer el mes a diciembre y el día a 25 en la fecha '2026-08-11'.
  • Modificar el año a 2028 para la fecha '2026-08-11'.
  • Establecer la hora a 15:30:00 el 11 de agosto de 2026.

days_in_month

Devolver el número total de días en el mes para una fecha dada.

calendarmcp tool

{ "date": "2024-02-15" }

29

  • ¿Cuántos días tiene febrero de 2024?
  • ¿Cuál es el número total de días en agosto de 2026?
  • Comprobar cuántos días tiene el mes para '2026-02-15'.

convert_units

Convertir un valor numérico entre unidades de tiempo (segundos, minutos, horas, días, semanas, meses, años).

ParámetroTipoRequeridoDescripción
valuenumberrequeridoCantidad numérica a convertir
fromstringrequeridoUnidad de origen (p. ej. horas, días)
tostringrequeridoUnidad de destino (p. ej. minutos, semanas)

{ "value": 36, "from": "hours", "to": "days" }

{ "value": 36, "from": "hours", "to": "days", "result": 1.5 }

  • Convertir 36 horas en días.
  • ¿Cuántos minutos hay en 2.5 horas?
  • Convertir 14 días en semanas.

time_add

Sumar o restar horas, minutos y/o segundos a una cadena de hora de reloj.

timemcp tool

ParámetroTipoRequeridoDescripción
timestringrequeridoHora de reloj base (p. ej. 14:30:00)
add_hoursnumberopcionalHoras a sumar (negativo para restar)
add_minutesnumberopcionalMinutos a sumar
add_secondsnumberopcionalSegundos a sumar

{ "time": "14:30:00", "add_minutes": 45 }

{ "original": "14:30:00", "result": "15:15:00" }

  • Sumar 45 minutos a 14:30:00.
  • Restar 2 horas de la hora de reloj 01:15:00.
  • Sumar 3 horas y 15 minutos a 09:00:00.

7. Validación y Predicados

is_valid

Comprobar si una cadena de fecha representa una fecha de calendario válida y analizable.

validationmcp tool

ParámetroTipoRequeridoDescripción
datestringrequeridoCadena de fecha a validar
inputFormatstringopcionalPatrón de formato de análisis esperado

{ "date": "2026-02-31" }

false

  • ¿Es '2026-02-31' una fecha de calendario válida?
  • Comprobar si la cadena '2026-08-11' es una fecha válida.
  • Validar si '2025-13-40' se puede analizar como una fecha real.

date_predicate

Probar predicados booleanos específicos en una fecha: isLeapYear, isToday, isTomorrow, isYesterday.

predicatemcp tool

ParámetroTipoRequeridoDescripción
datestringopcionalCadena de fecha objetivo o ahora
predicateenumrequeridoisLeapYear | isTodayisTomorrowisYesterday

{ "date": "2024-08-11", "predicate": "isLeapYear" }

true

  • ¿Es 2024 un año bisiesto?
  • ¿Es hoy el 11 de agosto de 2026?
  • Comprobar si '2026-08-10' es ayer.

date_predicates

Ejecutar todos los predicados booleanos de calendario y temporales simultáneamente para una fecha.

ParámetroTipoRequeridoDescripción
datestringopcionalFecha objetivo o ahora

{ "isTuesday": true, "isWeekend": false, "isWeekday": true, "isLeapYear": false, "isThisMonth": true, "isThisYear": true }

  • Comprobar todas las banderas booleanas (isTuesday, isWeekend, isLeapYear, isThisMonth) para el 11 de agosto de 2026.
  • Ejecutar todos los predicados de calendario en '2026-08-11'.
  • ¿Es 2026-08-11 un día laborable, fin de semana o año bisiesto?

unix_convert

Convertir entre cadenas de fecha y marcas de tiempo Unix (segundos y milisegundos).

ParámetroTipoRequeridoDescripción
datestringopcionalCadena de fecha (para modo to_unix)
fromUnixnumberopcionalMarca de tiempo Unix en segundos (conversión abreviada)
modeenumopcionalto_unix o from_unix (por defecto: to_unix)

{ "fromUnix": 1786406400 }

"2026-08-11T00:00:00.000Z"

  • Convertir la marca de tiempo Unix 1786406400 a una cadena de fecha ISO.
  • Obtener la marca de tiempo de segundos de época Unix para '2026-08-11'.
  • Convertir 1786406400 segundos en fecha UTC estándar.

min_max

Encontrar la fecha más temprana (min) o más tardía (max) de un arreglo de cadenas de fecha.

searchmcp tool

ParámetroTipoRequeridoDescripción
datesarrayrequeridoArreglo de cadenas de fecha candidatas
operationenumrequeridomin (más temprana) o max (más tardía)
formatstringopcionalPatrón de formato de salida

{ "dates": ["2026-01-01", "2026-08-11", "2026-12-25"], "operation": "max" }

"2026-12-25T00:00:00.000Z"

  • Encontrar la fecha más tardía entre ['2026-01-01', '2026-08-11', '2026-12-25'].
  • ¿Cuál es la fecha más temprana en este arreglo de cadenas de fecha?
  • Obtener la fecha máxima (más tardía) de mi lista de hitos del proyecto.

locale_data

Recuperar arreglos de metadatos de configuración regional (meses, meses abreviados, nombres de días de la semana, primer día de la semana).

i18nmcp tool

ParámetroTipoRequeridoDescripción
partenumrequeridomonths | monthsShortweekdaysweekdaysShortweekdaysMinfirstDayOfWeek
localestringopcionalCódigo de configuración regional objetivo (por defecto: en)

{ "part": "months" }

[ "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" ]

  • Obtener el arreglo de nombres completos de meses en inglés.
  • Obtener los nombres abreviados de los días de la semana para la configuración regional en inglés.
  • ¿Cuál es el primer día de la semana en los datos de configuración regional en inglés?

next_prev_weekday

Encontrar la próxima o anterior aparición de un día de la semana específico relativo a una fecha de inicio.

calendarmcp tool

ParámetroTipoRequeridoDescripción
datestringopcionalFecha de referencia de inicio (por defecto: ahora)
weekdaystring | numberrequeridoDía objetivo: 0–6 o nombre del día (monday, friday)
directionenumopcionalnext o previous (por defecto: next)
formatstringopcionalPatrón de formato de salida

{ "date": "2026-08-11", "weekday": "friday", "direction": "next" }

{ "from": "2026-08-11", "direction": "next", "weekdayRequested": "friday", "result": "2026-08-14" }

  • ¿Cuándo es el próximo viernes relativo al 11 de agosto de 2026?
  • Encontrar el lunes anterior al 11 de agosto de 2026.
  • ¿Qué fecha será el próximo domingo?