MCP Time Server

Fornece ferramentas para obter a hora e data atuais, e formatar timestamps em vários formatos e fusos horários.

Documentação

Servidor de Tempo MCP

Um servidor Model Context Protocol (MCP) que fornece funcionalidades de hora e data. Este servidor expõe ferramentas para obter a hora atual, data e formatar timestamps em vários formatos e fusos horários.

image

Recursos

  • get_current_time: Obter a hora atual nos formatos ISO, local, UTC ou timestamp Unix
  • get_current_date: Obter a data atual em vários formatos (ISO, local, curto, longo, personalizado)
  • get_datetime_info: Obter informações abrangentes de data/hora, incluindo detalhes do fuso horário
  • format_timestamp: Formatar qualquer timestamp Unix em formatos legíveis

Instalação

  1. Clone o servidor MCP:
git clone https://github.com/PierreGode/timeMCP.git
cd timeMCP
  1. Salve o código do servidor como timeserver.js e a configuração do pacote como package.json

  2. Instale as dependências:

npm install
  1. Se estiver no Linux, torne o servidor executável:
chmod +x timeserver.js

Uso

Executando o Servidor

O servidor opera no transporte stdio (entrada/saída padrão):

node timeserver.js

Para executar o servidor, você precisa adicioná-lo à sua configuração MCP. Por exemplo, se você estiver usando o Claude Desktop, pode fazer isso modificando o arquivo claude_desktop_config.json. Por algum motivo, o Claude pode não reconhecer o servidor até que você reinstale o aplicativo Claude Desktop, então talvez seja necessário fazer isso após adicionar o servidor.

Exemplo de Configuração para o Claude Desktop

edit claude_desktop_config.json
```bash
{
  "mcpServers": {
    "time-server": {
      "command": "node",
      "args": ["C:\\Users\\youruser\\Documents\\timeMCP\\timeserver.js"],
      "env": {}
    }
  }
}

Ferramentas Disponíveis

1. get_current_time

Obter a hora atual em vários formatos.

Parâmetros:

  • format (opcional): "iso", "local", "utc" ou "unix" (padrão: "iso")
  • timezone (opcional): String de fuso horário como "America/New_York" (padrão: "local")

Exemplo:

{
  "format": "local",
  "timezone": "Europe/London"
}

2. get_current_date

Obter a data atual em vários formatos.

Parâmetros:

  • format (opcional): "iso", "local", "short", "long" ou "custom" (padrão: "iso")
  • customFormat (opcional): String JSON das opções de Intl.DateTimeFormat (quando o formato é "custom")
  • timezone (opcional): String de fuso horário (padrão: "local")

Exemplo:

{
  "format": "long",
  "timezone": "Asia/Tokyo"
}

3. get_datetime_info

Obter informações abrangentes de data e hora.

Parâmetros:

  • timezone (opcional): String de fuso horário (padrão: "local")

Exemplo:

{
  "timezone": "America/Los_Angeles"
}

4. format_timestamp

Formatar um timestamp Unix.

Parâmetros:

  • timestamp (obrigatório): Timestamp Unix em milissegundos
  • format (opcional): "iso", "local", "utc" ou "custom" (padrão: "iso")
  • timezone (opcional): String de fuso horário (padrão: "local")

Exemplo:

{
  "timestamp": 1703097600000,
  "format": "local",
  "timezone": "UTC"
}

Integração com Clientes MCP

Para usar este servidor com um cliente MCP (como o Claude Desktop), adicione-o à sua configuração MCP:

Configuração do Claude Desktop

Adicione ao seu claude_desktop_config.json:

{
  "mcpServers": {
    "time-server": {
      "command": "node",
      "args": ["/path/to/your/mcp-time-server/server.js"],
      "env": {}
    }
  }
}

Outros Clientes MCP

Para outros clientes MCP, consulte a documentação deles sobre como configurar servidores MCP. O servidor usa transporte stdio e segue o protocolo MCP padrão.

Exemplos de Respostas

Hora Atual (formato ISO):

Current time (iso): 2024-12-20T14:30:45.123Z

Data Atual (formato longo):

Current date (long): Friday, December 20, 2024

Informações de Data/Hora:

{
  "timestamp": 1703097845123,
  "iso": "2024-12-20T14:30:45.123Z",
  "local": "12/20/2024, 2:30:45 PM",
  "utc": "Fri, 20 Dec 2024 14:30:45 GMT",
  "unix": 1703097845,
  "year": 2024,
  "month": 12,
  "day": 20,
  "hour": 14,
  "minute": 30,
  "second": 45,
  "dayOfWeek": "Friday",
  "timezone": "America/New_York"
}

Desenvolvimento

Para executar em modo de desenvolvimento com depuração:

npm run dev

Tratamento de Erros

O servidor inclui tratamento abrangente de erros para:

  • Fusos horários inválidos
  • Timestamps inválidos
  • Strings de formato personalizado malformadas
  • Parâmetros obrigatórios ausentes

Licença

Licença MIT