MCP Time Server

Motor de cálculo temporal de alta precisão que suporta análise ISO 8601, conversões de fuso horário, dias úteis, matemática de duração, formatação de tempo relativo e geração completa de calendário.

Documentação

BrainyCalc Docs — MCP Date & Time Tools

Getting Started

Visão Geral Início Rápido

Núcleo e Formatação

now format_date parse_date adjust_time boundary_of get_date_format format_standard parse_strict to_representation utc_date

Diferença e Comparação

date_diff calc_age compare_dates is_between date_compare relative_time intl_format_distance closest_date interval_overlap

Negócios e Calendário

business_days work_days calendar_month each_weekend_of day_of_week last_day_of countdown

Fusos Horários e Mundo

convert_timezone local_time world_time time_duration

Intervalos e Durações

each_of_interval duration interval_to_duration format_duration_string parse_iso_duration clamp_date round_to_nearest

Componentes e Setters

date_part date_components_all set_components days_in_month convert_units time_add

Validação e Predicados

is_valid date_predicate date_predicates unix_convert min_max locale_data next_prev_weekday

Outros Módulos

Matemática Conversões

Docs/ MCP Date & Time Tools

Referência da API · 50 Ferramentas

MCP Date & Time Tools

Motor de cálculo temporal de alta precisão com suporte a parsing ISO 8601, conversões de fuso horário, dias úteis, matemática de durações, formatação de tempo relativo e geração completa de calendários.

MCP Time Server · v1.0.7

Todas as 50 ferramentas de cálculo de data e hora estão disponíveis como um servidor Model Context Protocol (MCP) autônomo. Instale via npx -y @brainycalc/mcptimeserver para capacitar assistentes de IA (LM Studio, Claude Desktop) com operações temporais determinísticas.

Copiar configuração MCP Copiar configuração MCP local

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 e Formatação

now

Obtenha a data e hora atuais, opcionalmente formatadas ou ajustadas para um fuso horário de destino.

ferramenta mcp core

ParâmetroTipoObrigatórioDescrição
formatstringopcionalString de token de formato de saída (ex.: YYYY-MM-DD HH:mm:ss)
timezonestringopcionalFuso horário IANA de destino (ex.: America/New_York)

Solicitação / Resposta Copiar

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

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

Amostras de Consultas LLM

  • Qual é a data e hora atuais?
  • Qual é a hora agora em Nova York formatada como YYYY-MM-DD HH:mm:ss?
  • Me dê a data de hoje e a hora atual.

format_date

Formate uma data recebida em uma string de token personalizada e localizada.

ferramenta mcp de formatação

ParâmetroTipoObrigatórioDescrição
datestringobrigatórioString de data ou now
formatstringobrigatórioPadrão de formato (ex.: dddd, MMMM D, YYYY)
inputFormatstringopcionalFormato de parsing para entradas de data não padrão
timezonestringopcionalFuso horário IANA de destino

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

"Tuesday, August 11, 2026"

  • Mostre apenas o mês de 2026-08-11.
  • Você pode reformatar '2026/08/11' para 'DD/MM/YYYY'?
  • Exiba este timestamp por extenso: 2026-08-11.

parse_date

Decomponha uma string de data em componentes estruturados (ano, mês, semana ISO, trimestre, Unix, etc.).

ferramenta mcp de parsing

ParâmetroTipoObrigatórioDescrição
datestringobrigatórioString de data para analisar
inputFormatstringopcionalFormato de parsing para strings de entrada não padrão

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

  • Decomponha '2026-08-11' em seus componentes de calendário.
  • Qual dia da semana e número da semana foi 11 de agosto de 2026?
  • Extraia o trimestre, o ano e a semana ISO de '2026-08-11'.

adjust_time

Adicione ou subtraia unidades de tempo especificadas de uma data base.

ferramenta mcp de matemática

ParâmetroTipoObrigatórioDescrição
datestringopcionalData base ou now
amountnumberobrigatórioQuantidade para deslocar
unitstringobrigatórioUnidade (millisecond, second, minute, hour, day, week, month, quarter, year)
operationenumopcionaladd ou subtract (padrão: add)
formatstringopcionalPadrão de formato de saída

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

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

  • Qual data será daqui a 3 meses a partir de 11 de agosto de 2026?
  • Subtraia 45 minutos das 10:00 de hoje.
  • Adicione 3 semanas a 2026-08-11.

boundary_of

Obtenha o limite inicial ou final de uma unidade (ano, trimestre, mês, semana, isoWeek, dia, hora) para uma data.

ferramenta mcp de limite

ParâmetroTipoObrigatórioDescrição
datestringopcionalData ou now
unitenumobrigatórioyear | quartermonthweekisoWeekdayhourminutesecond
edgeenumopcionalstart ou end (padrão: start)
formatstringopcionalString de formato de saída

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

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

  • Qual é o fim de agosto de 2026?
  • Quando termina a semana atual?
  • Quando termina o 3º trimestre de 2026?

get_date_format

Resolva termos de componentes de data em inglês ('month name', 'unix milliseconds') em tokens de formato ou componha strings de formato.

ferramenta mcp de utilitário

ParâmetroTipoObrigatórioDescrição
partstring | arrayobrigatórioNome(s) de parte em inglês simples ou list
verbosebooleanopcionalRetorna descritores completos (token, descrição, exemplo)
composebooleanopcionalJunta array de partes em uma string de formato pronta
separatorstringopcionalSeparador quando compose é true (padrão: '')

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

"YYYY-MM-DD"

  • Quais tokens de formato devo usar para 'ano-mês-dia'?
  • Componha uma string de formato com ano completo, nome do mês e dia.
  • Qual é o token de formatação para nome completo do mês?

format_standard

Formate a data de acordo com especificações padronizadas: ISO 8601, ISO 9075, RFC 3339 ou RFC 7231 (HTTP).

ferramenta mcp padrão

ParâmetroTipoObrigatórioDescrição
datestringopcionalData ou now
standardenumopcionaliso | iso9075rfc3339rfc7231 (padrão: iso)
representationenumopcionalPara modo ISO: complete | datetime

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

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

  • Formate 11 de agosto de 2026 no formato de data de cabeçalho HTTP RFC 7231.
  • Converta esta data em uma string de formato ISO 8601 padrão.
  • Gere um timestamp RFC 3339 para agora.

parse_strict

Analise estritamente entradas de strings ISO, strings de data JSON, segundos Unix ou milissegundos Unix.

ferramenta mcp de parsing

ParâmetroTipoObrigatórioDescrição
inputstring | numberobrigatórioValor para analisar
inputTypeenumopcionaliso | jsonunix_sunix_ms (padrão: iso)
formatstringopcionalPadrão de formato opcional para string de saída

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

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

  • Analise este timestamp Unix 1786406400 em segundos para uma data ISO.
  • Analise estritamente "2026-08-11" e converta-o em um timestamp ISO.
  • Converta milissegundos de época Unix 1786406400000 em uma data legível.

to_representation

Converta um objeto de data em representações alternativas: array, objeto, JSON, string UTC ou string ISO.

ferramenta mcp de conversão

ParâmetroTipoObrigatórioDescrição
datestringopcionalString de data ou now
outputenumobrigatórioarray | objectjsonutcStringisoString

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

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

  • Converta '2026-08-11' em um array de números de data.
  • Exporte esta data como uma representação bruta de objeto de data JavaScript.
  • Me dê '2026-08-11' como uma string UTC.

utc_date

Analise ou converta uma data no modo UTC, preservando ou convertendo valores de relógio local.

ferramenta mcp utc

ParâmetroTipoObrigatórioDescrição
datestringopcionalString de data ou now
formatstringopcionalPadrão de formato de saída
keepLocalTimebooleanopcionalMantém números de hora local ao converter para UTC

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

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

  • Converta a hora local 12:00 para UTC mantendo os números de hora local.
  • Obtenha a representação de data UTC para 11 de agosto de 2026.
  • Analise '2026-08-11T12:00:00' diretamente em UTC.

2. Diferença e Comparação

date_diff

Calcule diferenças exatas entre duas datas (retorna valor escalar ou detalhamento completo).

ferramenta mcp de matemática

ParameterTypeRequiredDescription
date1stringrequiredPrimeira data (formato ISO ou agora)
date2 stringrequiredSegunda data para comparação
unitstringoptionalUnidade para diferença escalar (omitir para detalhamento completo)
floatbooleanoptionalRetornar diferença escalar em ponto flutuante

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

  • Quantos dias há entre 11 de agosto de 2026 e 25 de dezembro de 2026?
  • Calcule a diferença em semanas e dias entre essas duas datas.

calc_age

Calcule a idade exata em anos, meses, dias, semanas totais e dias totais em relação à data alvo.

humanmcp tool

ParameterTypeRequiredDescription
birthDatestringrequiredString da data de nascimento (YYYY-MM-DD). Alias: birth_date
targetDatestringoptionalData de referência para comparação (padrão: hoje). 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" }

  • Qual a idade de alguém nascido em 15 de maio de 1995 em 11 de agosto de 2026?
  • Calcule a idade exata em anos, meses e dias para 15 de maio de 1995.
  • Quantas semanas totais de idade tem uma pessoa nascida em 1995-05-15?

compare_dates

Avalie predicados booleanos de comparação de datas: isBefore, isAfter, isSame, isSameOrBefore, isSameOrAfter.

comparisonmcp tool

ParameterTypeRequiredDescription
date1stringoptionalPrimeira data ou agora
date2stringrequiredSegunda data para comparação
comparisonenumrequiredisBefore | isAfterisSameisSameOrBeforeisSameOrAfter
unitstringoptionalGranularidade da unidade de comparação (ex.: month, day)

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

true

  • 11 de agosto de 2026 é antes de 15 de agosto de 2026?
  • Verifique se a data A é igual à data B ignorando a hora.
  • 2026-08-11 é depois de 2026-08-01?

is_between

Verifique se uma data está entre os limites de início e fim com opções configuráveis de inclusividade.

ParameterTypeRequiredDescription
datestringoptionalData alvo ou agora
startstringrequiredData de início do intervalo
endstringrequiredData de fim do intervalo
unitstringoptionalGranularidade da unidade de comparação
inclusivityenumoptional() | (][)[] (padrão: ())

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

true

  • Hoje está entre 2025-01-01 e 2025-12-31?
  • 11 de agosto de 2026 está dentro do intervalo de 1 a 31 de agosto de 2026?
  • Verifique se '2026-08-11' está estritamente entre duas datas limite.

date_compare

Execute a matriz completa de comparação de datas em todas as granularidades de unidade simultaneamente.

ParameterTypeRequiredDescription
date1stringrequiredString da primeira data ou agora
date2stringrequiredString da segunda data ou agora

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

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

  • Compare duas datas em todas as unidades, como mesma semana, mesmo mês, mesmo ano.
  • 11 de agosto de 2026 e 15 de agosto de 2026 estão no mesmo mês e na mesma semana?
  • Obtenha o detalhamento comparativo completo entre 2026-08-11 e 2026-08-15.

relative_time

Obtenha uma expressão de tempo relativo legível por humanos (ex.: '3 days ago', 'in 2 months').

relativemcp tool

ParameterTypeRequiredDescription
datestringoptionalData ou agora
relativeTostringoptionalData de referência em vez da hora atual
withoutSuffixbooleanoptionalOmitir o sufixo 'ago' / 'in'
directionenumoptionalfrom ou to (padrão: from)

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

"10 days ago"

  • Há quanto tempo foi 1 de agosto de 2026 em comparação com 11 de agosto de 2026?
  • Formate 1 de agosto de 2026 como tempo relativo (ex.: '10 days ago').
  • Expresse a diferença de datas de forma legível sem sufixos.

intl_format_distance

Formatação de tempo relativo com reconhecimento de localidade utilizando o padrão Intl.RelativeTimeFormat.

i18nmcp tool

ParameterTypeRequiredDescription
datestringoptionalData alvo (padrão: agora)
baseDatestringoptionalData de referência para comparação (padrão: agora)
localestringoptionalTag de localidade BCP 47 (ex.: en, fr, es)
numericenumoptionalauto ou always
styleenumoptionallong | shortnarrow
unitstringoptionalUnidade 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" }

  • Mostre a distância de tempo relativo em espanhol ('dentro de 3 días') para 14 de agosto.
  • Obtenha a distância de tempo relativo localizada entre 11 e 14 de agosto de 2026.

closest_date

Encontre qual data em uma matriz de candidatas está mais próxima de uma data de referência.

searchmcp tool

ParameterTypeRequiredDescription
datestringoptionalData de referência (padrão: agora)
datesarrayrequiredMatriz de strings de datas candidatas
formatstringoptionalString de formatação de saída

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

  • Qual data nesta lista [2026-01-01, 2026-08-10, 2026-12-31] está mais próxima de 11 de agosto de 2026?

interval_overlap

Determine se dois intervalos de datas se sobrepõem e calcule a contagem de dias sobrepostos.

intervalmcp tool

ParameterTypeRequiredDescription
start1stringrequiredInício do intervalo 1
end1stringrequiredFim do intervalo 1
start2stringrequiredInício do intervalo 2
end2stringrequiredFim do intervalo 2
inclusivebooleanoptionalIncluir toque de limite como sobreposição
modeenumoptionaloverlapping ou 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" }

  • Os intervalos de datas de 1 a 15 de agosto e de 10 a 20 de agosto se sobrepõem?
  • Calcule quantos dias se sobrepõem entre dois cronogramas de eventos.
  • Verifique se o intervalo de 2026-08-01 a 2026-08-15 cruza com 2026-08-10 a 2026-08-20.

3. Negócios e Calendário

business_days

Conte dias úteis (seg–sex) entre datas ou adicione/subtraia dias úteis a partir de uma data inicial.

businessmcp tool

ParameterTypeRequiredDescription
modeenumoptionaldiff | addsubtract (padrão: diff)
startDatestringoptionalString da data inicial
endDatestringoptionalData final (para o modo diff)
amountnumberoptionalContagem de dias úteis (para add/subtract)
formatstringoptionalPadrão de formatação de saída

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

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

  • Adicione 5 dias úteis à sexta-feira, 7 de agosto de 2026.
  • Quantos dias úteis há entre 1 e 15 de agosto de 2026?
  • Subtraia 10 dias úteis de 11 de agosto de 2026.

work_days

Calcule dias úteis entre duas datas com sinalizadores opcionais de inclusão de fins de semana.

workmcp tool

ParameterTypeRequiredDescription
startDatestringrequiredData inicial (YYYY-MM-DD)
endDatestringrequiredData final (YYYY-MM-DD)
includeWeekendsbooleanoptionalIncluir sábado e domingo (padrão: false)

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

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

  • Conte o total de dias úteis entre 2026-08-01 e 2026-08-11.
  • Quantos dias, excluindo fins de semana, há na primeira quinzena de agosto de 2026?

calendar_month

Gere uma matriz de calendário mensal completa estruturada em matrizes de semanas para exibições de interface de calendário.

calendarmcp tool

ParameterTypeRequiredDescription
datestringoptionalData de referência no mês alvo
weekStartenumoptional0 (domingo) ou 1 (segunda-feira)
formatstringoptionalPadrão de formato de saída da string de data

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

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

  • Gere uma matriz de calendário mensal completa para agosto de 2026 começando na segunda-feira.
  • Obtenha todas as semanas e datas de agosto de 2026 estruturadas para o layout de calendário da interface.
  • Construa uma grade de visualização de calendário mensal para agosto de 2026.

each_weekend_of

Obtenha uma matriz de todas as datas de fim de semana (sábado e domingo) dentro de um intervalo, mês ou ano especificado.

calendarmcp tool

ParâmetroTipoObrigatórioDescrição
modeenumopcionalinterval | monthyear (padrão: interval)
datestringopcionalData de referência para o modo month ou year
startstringopcionalData de início para o modo interval
endstringopcionalData de término para o modo interval

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

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

  • Liste todas as datas de fim de semana (sábados e domingos) em agosto de 2026.
  • Obtenha todas as datas de fim de semana no ano de 2026.
  • Encontre todas as datas de fim de semana entre 1º de agosto e 31 de agosto de 2026.

day_of_week

Obtenha o nome do dia, nome do mês, ano, indicador de fim de semana, dia do ano e número da semana para qualquer data.

metadatamcp tool

ParâmetroTipoObrigatórioDescrição
datestringobrigatórioString de data (AAAA-MM-DD)

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

  • Que dia da semana é 11 de agosto de 2026?
  • 11 de agosto de 2026 é fim de semana ou dia útil?
  • Qual é o número do dia do ano para 11 de agosto de 2026?

last_day_of

Retorna o último dia de um período (mês, ano, trimestre, semana, isoWeek, década).

boundarymcp tool

ParâmetroTipoObrigatórioDescrição
datestringopcionalData de referência ou now
unitenumobrigatóriomonth | yearquarterweekisoWeekisoWyeardecade
formatstringopcionalPadrão de formato de saída

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

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

  • Qual é o último dia do 3º trimestre de 2026?
  • Encontre o último dia do mês para agosto de 2026.
  • Qual é o último dia da década para 2026-08-11?

countdown

Gere decomposições estruturadas de tempo restante ou tempo decorrido em relação a um timestamp alvo.

timermcp tool

ParâmetroTipoObrigatórioDescrição
datestringobrigatórioData alvo ou timestamp
formatstringopcionalString de formatação para saída da data alvo

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

  • Quantos dias, horas e minutos restam até o Ano Novo de 2027?
  • Gere uma decomposição de contagem regressiva ao vivo para 2027-01-01T00:00:00Z.
  • Quanto tempo resta até a meia-noite de 1º de janeiro de 2027?

4. Fusos Horários e Relógio Mundial

convert_timezone

Projete timestamps entre fusos horários IANA do mundo, lidando com transições de horário de verão de forma transparente.

timezonesmcp tool

ParâmetroTipoObrigatórioDescrição
datestringopcionalString de data ou now
fromTimezonestringopcionalFuso horário IANA de origem (ex.: UTC)
toTimezonestringobrigatórioFuso horário IANA de destino (ex.: Asia/Tokyo)
formatstringopcionalPadrão de formatação de saída

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

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

  • Que horas são 12:00 UTC em Tóquio (Asia/Tokyo)?
  • Converta 2026-08-11 14:00 de America/New_York para Europe/London.
  • Projete um timestamp UTC para o horário local de Tóquio.

local_time

Obtenha a hora local atual, data, nome do fuso horário e deslocamento para o ambiente de execução.

systemmcp tool

Não requer parâmetros. Inspeciona o relógio do sistema local e as configurações de localidade.

{}

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

  • Qual é a hora local, data e deslocamento de fuso horário do meu sistema?
  • Mostre a hora local atual e o fuso horário deste servidor.
  • Obtenha o relógio do sistema local e o deslocamento UTC em minutos.

world_time

Consulte a hora local ativa, bandeiras de países e deslocamentos em grandes cidades ou regiões globais.

worldmcp tool

ParâmetroTipoObrigatórioDescrição
querystringopcionalNome da cidade ou país (ex.: Tokyo, Germany)
regionenumopcionalFiltrar região (All | AfricaAmericasAsiaEuropeOceania)
timezonestringopcionalString de fuso horário IANA direto
offset_hoursnumberopcionalFallback de horas de deslocamento 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" } ] }

  • Que horas são no Japão agora?
  • Mostre a hora atual e o deslocamento GMT para Tóquio.
  • Pesquise a hora local para grandes cidades na Europa.

time_duration

Calcule a duração entre duas strings de horário de relógio de parede (HH:MM ou HH:MM:SS), lidando automaticamente com turnos noturnos.

timemcp tool

ParâmetroTipoObrigatórioDescrição
startstringobrigatórioHora de início (ex.: 22:00)
endstringobrigatórioHora de término (ex.: 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" }

  • Quantas horas e minutos se passaram entre 22:00 e 6:30 da manhã seguinte?
  • Calcule a duração entre a hora de início 09:00 e a hora de término 17:30.
  • Qual é a diferença de tempo em horas entre 22:00 e 06:30?

5. Intervalos e Durações

each_of_interval

Gere um array de datas/horas de passo em um limite de intervalo.

generatormcp tool

ParâmetroTipoObrigatórioDescrição
startstringobrigatórioString ISO de início do intervalo
endstringobrigatórioString ISO de término do intervalo
unitenumopcionalday | hourminutemonthquarterweekyear (padrão: day)
stepnumberopcionalTamanho do incremento do passo (padrão: 1)
formatstringopcionalPadrão de formatação de saída

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

  • Liste cada data de passo diário entre 1º de agosto de 2026 e 3 de agosto de 2026.
  • Gere intervalos horários entre 2026-08-01T00:00 e 2026-08-01T12:00.
  • Crie um array de datas semanais ao longo de agosto de 2026.

duration

Crie e inspecione durações a partir de strings ISO, números de milissegundos ou descritores de objeto de unidade.

durationmcp tool

ParâmetroTipoObrigatórioDescrição
inputstring | numberobjectobrigatórioString ISO 8601 (P1Y2M), número de ms ou objeto de unidade
unitstringopcionalUnidade quando a entrada é um número escalar
outputFormatenumopcionaliso | humanizemillisecondsobject

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

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

  • Analise a duração ISO 'P1Y2M3D' em anos, meses e dias estruturados.
  • Converta 36979200000 milissegundos em duração legível por humanos.
  • Crie um objeto de duração a partir de 2 horas e 30 minutos.

interval_to_duration

Converta datas de início e término em um objeto de duração estruturado dividido em anos, meses, dias, etc.

durationmcp tool

ParâmetroTipoObrigatórioDescrição
startstringobrigatórioString ISO de início do intervalo
endstringobrigatórioString ISO de término do intervalo

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

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

  • Converta o intervalo de 2025-01-01 a 2026-08-11 em anos, meses e dias.
  • Quantos anos e meses há entre duas datas específicas?
  • Obtenha a decomposição estruturada da duração entre a data de início e a data de término.

format_duration_string

Construa uma string de texto em inglês formatada a partir de números de componentes de duração.

durationmcp tool

ParâmetroTipoObrigatórioDescrição
years, months, weeks, days, hours, minutes, secondsnumberopcionalPartes numéricas individuais da duração
formatarrayopcionalLimitar unidades exibidas (ex.: ["hours", "minutes"])
delimiterstringopcionalSeparador de unidades (padrão: , )
zerobooleanopcionalIncluir unidades de valor zero (padrão: false)

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

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

  • Formate 90 minutos como horas, minutos..
  • Converta partes de duração (2 horas, 30 minutos) em uma string ISO ou frase em inglês.

parse_iso_duration

Analise uma string de duração ISO 8601 (ex.: 'P1Y2M3DT4H') em um objeto com todos os componentes.

durationmcp tool

ParâmetroTipoObrigatórioDescrição
isostringobrigatórioString de duração ISO 8601 (ex.: P1Y6M, PT2H30M)

{ "iso": "PT2H30M" }

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

  • Analise a string de duração ISO 8601 'PT2H30M'.
  • Extraia horas, minutos e milissegundos totais de 'P1Y6M'.
  • Decodifique a duração ISO 'PT1H45M' em um objeto de componente padrão.

clamp_date Clamp a date within start and end interval boundaries.

mathmcp tool

ParâmetroTipoObrigatórioDescrição
datestringopcionalData para limitar (padrão: agora)
startstringobrigatórioData limite inferior
endstringobrigatórioData limite superior
formatstringopcionalPadrão de formatação de saída

{ "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 dos limites '2026-01-01' e '2026-08-31'.
  • Garantir que a data não exceda o prazo máximo permitido de 31 de agosto de 2026.
  • Verificar se a data foi limitada quando restrita entre os limites do intervalo.

round_to_nearest

Arredondar data/hora para os N minutos ou N horas mais próximos usando arredondamento padrão, para baixo (floor) ou para cima (ceil).

mathmcp tool

ParâmetroTipoObrigatórioDescrição
datestringopcionalData alvo ou agora
unitenumopcionalminutos ou horas (padrão: minutos)
nearestTonumberopcionalIncremento do passo (ex.: 15 para quarto de hora)
roundingMethodenumopcionalround | floorceil

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

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

  • Arredondar 14:23:00 para os 15 minutos mais próximos.
  • Aplicar floor à hora atual para o intervalo de 30 minutos mais próximo.

6. Componentes e Setters

date_part

Extrair uma parte específica da data: week, isoWeek, isoWeekday, quarter, dayOfYear ou weekday.

componentmcp tool

ParâmetroTipoObrigatórioDescrição
datestringopcionalData ou agora
partenumobrigatórioweek | isoWeekisoWeekdayquarterdayOfYearweekday

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

223

  • Obter o número do dia do ano para 11 de agosto de 2026.
  • Em qual trimestre do ano está 11 de agosto?
  • Extrair o número da semana ISO para 2026-08-11.

date_components_all

Recuperar todos os componentes numéricos e de calendário de uma vez (ano, mês, data, hora, semana ISO, trimestre, Unix, década, etc.).

ParâmetroTipoObrigatórioDescrição
datestringopcionalString de data ou agora

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

  • Recuperar todos os componentes (ano, mês, data, trimestre, dia do ano) para 11 de agosto de 2026.
  • Obter a decomposição numérica e textual completa da data para 2026-08-11.
  • Mostrar todos os valores temporais para a data atual.

set_components

Definir componentes numéricos específicos de data/hora em uma data base e retornar o timestamp resultante.

settermcp tool

ParâmetroTipoObrigatórioDescrição
datestringopcionalData base ou agora
year, month, day, hour, minute, second, millisecondnumberopcionalValores de campos específicos para modificar
dayOfYear, quarter, week, isoWeek, isoDay, isoWeekYear, weekYearnumberopcionalModificações de campos de calendário

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

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

  • Definir o mês para dezembro e o dia para 25 na data '2026-08-11'.
  • Modificar o ano para 2028 na data '2026-08-11'.
  • Definir a hora para 15:30:00 em 11 de agosto de 2026.

days_in_month

Retornar o número total de dias no mês para uma determinada data.

calendarmcp tool

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

29

  • Quantos dias há em fevereiro de 2024?
  • Qual é o total de dias em agosto de 2026?
  • Verificar quantos dias há no mês para '2026-02-15'.

convert_units

Converter um valor numérico entre unidades de tempo (segundos, minutos, horas, dias, semanas, meses, anos).

ParâmetroTipoObrigatórioDescrição
valuenumberobrigatórioQuantidade numérica para converter
fromstringobrigatórioUnidade de origem (ex.: horas, dias)
tostringobrigatórioUnidade de destino (ex.: minutos, semanas)

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

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

  • Converter 36 horas em dias.
  • Quantos minutos há em 2,5 horas?
  • Converter 14 dias em semanas.

time_add

Adicionar ou subtrair horas, minutos e/ou segundos a uma string de hora de relógio.

timemcp tool

ParâmetroTipoObrigatórioDescrição
timestringobrigatórioHora base do relógio (ex.: 14:30:00)
add_hoursnumberopcionalHoras a adicionar (negativo para subtrair)
add_minutesnumberopcionalMinutos a adicionar
add_secondsnumberopcionalSegundos a adicionar

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

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

  • Adicionar 45 minutos a 14:30:00.
  • Subtrair 2 horas da hora de relógio 01:15:00.
  • Adicionar 3 horas e 15 minutos a 09:00:00.

7. Validação e Predicados

is_valid

Verificar se uma string de data representa uma data de calendário válida e analisável.

validationmcp tool

ParâmetroTipoObrigatórioDescrição
datestringobrigatórioString de data para validar
inputFormatstringopcionalPadrão de formato de análise esperado

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

false

  • '2026-02-31' é uma data de calendário válida?
  • Verificar se a string '2026-08-11' é uma data válida.
  • Validar se '2025-13-40' pode ser analisada como uma data real.

date_predicate

Testar predicados booleanos específicos em uma data: isLeapYear, isToday, isTomorrow, isYesterday.

predicatemcp tool

ParâmetroTipoObrigatórioDescrição
datestringopcionalString de data alvo ou agora
predicateenumobrigatórioisLeapYear | isTodayisTomorrowisYesterday

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

true

  • 2024 é um ano bissexto?
  • 11 de agosto de 2026 é hoje?
  • Verificar se '2026-08-10' é ontem.

date_predicates

Executar todos os predicados booleanos de calendário e temporais simultaneamente para uma data.

ParâmetroTipoObrigatórioDescrição
datestringopcionalData alvo ou agora

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

  • Verificar todos os flags booleanos (isTuesday, isWeekend, isLeapYear, isThisMonth) para 11 de agosto de 2026.
  • Executar todos os predicados de calendário em '2026-08-11'.
  • 2026-08-11 é um dia de semana, fim de semana ou ano bissexto?

unix_convert

Converter entre strings de data e timestamps Unix (segundos e milissegundos).

ParâmetroTipoObrigatórioDescrição
datestringopcionalString de data (para o modo to_unix)
fromUnixnumberopcionalTimestamp Unix em segundos (conversão abreviada)
modeenumopcionalto_unix ou from_unix (padrão: to_unix)

{ "fromUnix": 1786406400 }

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

  • Converter o timestamp Unix 1786406400 em uma string de data ISO.
  • Obter o timestamp Unix em segundos para '2026-08-11'.
  • Converter 1786406400 segundos em data UTC padrão.

min_max

Encontrar a data mais antiga (min) ou mais recente (max) em um array de strings de data.

searchmcp tool

ParâmetroTipoObrigatórioDescrição
datesarrayobrigatórioArray de strings de data candidatas
operationenumobrigatóriomin (mais antiga) ou max (mais recente)
formatstringopcionalPadrão de formatação de saída

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

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

  • Encontrar a data mais recente entre ['2026-01-01', '2026-08-11', '2026-12-25'].
  • Qual data é a mais antiga neste array de strings de data?
  • Obter a data máxima (mais recente) da minha lista de marcos do projeto.

locale_data

Recuperar arrays de metadados de localidade (meses, meses abreviados, nomes de dias da semana, primeiro dia da semana).

i18nmcp tool

ParâmetroTipoObrigatórioDescrição
partenumobrigatóriomonths | monthsShortweekdaysweekdaysShortweekdaysMinfirstDayOfWeek
localestringopcionalCódigo de localidade alvo (padrão: en)

{ "part": "months" }

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

  • Obter array de nomes completos dos meses em inglês.
  • Obter nomes abreviados dos dias da semana para a localidade inglesa.
  • Qual é o primeiro dia da semana nos dados de localidade em inglês?

next_prev_weekday

Encontrar a próxima ou a ocorrência anterior de um dia da semana específico em relação a uma data de início.

calendarmcp tool

ParâmetroTipoObrigatórioDescrição
datestringopcionalData de referência inicial (padrão: agora)
weekdaystring | numberobrigatórioDia alvo: 0–6 ou nome do dia (monday, friday)
directionenumopcionalnext ou previous (padrão: next)
formatstringopcionalPadrão de formatação de saída

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

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

  • Quando é a próxima sexta-feira em relação a 11 de agosto de 2026?
  • Encontrar a segunda-feira anterior a 11 de agosto de 2026.
  • Qual data será o próximo domingo?