Passagem do tempo MCP é um projeto de servidor de código aberto do Protocolo de Contexto de Modelo (MCP) desenvolvido para fornecer recursos de computação temporal e de reconhecimento de tempo para modelos de linguagem grandes (LLMs). O projeto é liderado por Jérémie Lumbroso e Claude O Opus 4.0 (Anthropic) foi desenvolvido em conjunto e inspirado pela pergunta filosófica: "Uma IA pode perceber a passagem do tempo?" . Ao fornecer ferramentas relacionadas ao tempo para modelos de linguagem, o projeto aborda as limitações dos modelos de linguagem na computação do tempo, como a incapacidade de computar com precisão as diferenças de tempo. O servidor ajuda o modelo a entender o contexto temporal e a descobrir informações, como padrões de diálogo, ritmos de trabalho etc., por meio de funções e instruções temporais simples. O projeto está licenciado sob a Mozilla Public License 2.0 e o código está disponível publicamente no GitHub, onde os desenvolvedores são incentivados a participar da colaboração e da implantação.
Lista de funções
- oferta
current_datetime()
que retorna o carimbo de data/hora atual, com suporte para argumentos opcionais de fuso horário. - Suporta o modo Server-Sent Events (SSE), que permite que os clientes da Web acessem dados de tempo por meio de uma conexão HTTP.
- Fornece ferramentas de cálculo de tempo para ajudar os modelos de idiomas a calcular diferenças de horário ou converter fusos horários.
- Há suporte para a integração direta com o modelo de linguagem, interagindo com o modelo por meio dos modos de entrada e saída padrão (stdio).
- Forneça um conjunto de instruções claras (Contexto) que oriente o modelo de linguagem sobre como usar as funções relacionadas ao tempo.
Usando a Ajuda
Instalação e implementação
Para usar o servidor MCP Passage of Time, o código precisa ser implantado localmente ou na nuvem. Veja a seguir as etapas detalhadas para instalação e uso:
- Clonagem do código do projeto
Visite no GitHubhttps://github.com/jlumbroso/passage-of-time-mcp
Use o seguinte comando para clonar o código localmente:git clone https://github.com/jlumbroso/passage-of-time-mcp.git
Certifique-se de que o Git esteja instalado localmente; caso contrário, instale o Git (no macOS/Linux) primeiro!
sudo apt install git
talvezbrew install git
). - Instalação de dependências
O projeto requer um ambiente Python (recomenda-se o Python 3.8 ou superior). Uma vez no diretório do projeto, instale as dependências:cd passage-of-time-mcp pip install -r requirements.txt
Certifique-se de que ele esteja instalado
pip
Você pode consultar a documentação oficial do Python para instalá-lo, se necessário. - Iniciando o servidor local
Execute o seguinte comando para iniciar o servidor MCP:python server.py
O servidor tem como padrão o endereço local
http://0.0.0.0:8000/sse
Iniciado, em execução no modo SSE. Após a inicialização, o terminal exibe o status do servidor. - Expor o servidor à rede pública por meio do ngrok (opcional)
Se você precisar dar aos clientes da Web ou aos modelos de linguagem remota acesso ao servidor, poderá usar o ngrok para expor o servidor local. Depois de instalar o ngrok, execute-o:ngrok http 8000
O ngrok gera um URL público, por exemplo
https://.ngrok-free.app
Ao configurar o cliente, use esse URL e adicione-o no final. Ao configurar o cliente, use esse URL e adicione o/sse
Por exemplohttps://.ngrok-free.app/sse
. - Implementação na nuvem (recomendada para ambientes de produção)
Para garantir a estabilidade, recomendamos que você implante seu servidor em uma plataforma de nuvem, como a Render.com. Faça login na Render.com, crie um novo serviço, selecione o repositório do GitHub, conecte ojlumbroso/passage-of-time-mcp
e siga as diretrizes da plataforma para configurar variáveis de ambiente e portas (padrão 8000). Quando a implantação estiver concluída, o Render fornecerá um URL público. - Integração com o Claude Desktop Edition
Se estiver usando o Claude Desktop Edition, você poderá adicionar um servidor MCP seguindo estas etapas:- Abra a página Settings (Configurações) do Claude Desktop Edition e localize a opção "Add Integrations" (Adicionar integrações).
- Digite o URL do servidor (localmente)
http://0.0.0.0:8000/sse
(ou nuvem/URL pública). - Salve a configuração e reinicie o Claude para que o servidor possa se comunicar com o Claude.
Operação das principais funções
- Obter a hora atual
fornecido pelo servidorcurrent_datetime()
que pode ser chamada pelo modelo de linguagem para obter o registro de data e hora atual. A função aceita argumentos opcionais de fuso horário, comoAmerica/New_York
talvezAsia/Shanghai
. Ao interagir com o Claude, o modelo chama essa função no início de cada diálogo para garantir que as informações de tempo sejam precisas. - cálculo de tempo
O servidor oferece suporte a cálculos de diferença de horário, como o cálculo do número de minutos ou horas entre dois pontos no tempo. O modelo de linguagem pode enviar um registro de data e hora por meio de um comando e o servidor retorna o resultado do cálculo. Por exemplo, envie:{ "jsonrpc": "2.0", "id": 1, "method": "getTimeDifference", "params": { "timestamp": "2025-07-17 12:00:00", "interval": "minutes" } }
O servidor retorna a diferença em minutos entre a hora especificada e a hora atual.
- Modelo SSE com cliente da Web
No modo SSE, o servidor fornece dados de tempo em tempo real por HTTP. Os desenvolvedores podem usar um cliente JavaScript para se conectar ao servidor e assinar as atualizações de tempo. Exemplo:const eventSource = new EventSource('https://your-server.ngrok-free.app/sse'); eventSource.onmessage = function(event) { console.log('Received time:', event.data); };
- Uso do conjunto de instruções (contexto)
O servidor fornece um conjunto de instruções simples armazenado noREADME.md
no qual se lê: "Agora você pode visitar ocurrent_datetime()
e pode ser passado um parâmetro opcional de fuso horário. Essa função é chamada no início de cada resposta para sentir a passagem do tempo para o usuário." O modelo de linguagem chama automaticamente a função de tempo com base nessa diretriz, sem intervenção manual do desenvolvedor.
advertência
- Certifique-se de que a rede esteja estável enquanto o servidor estiver em execução, especialmente ao usar ngrok ou implementações em nuvem.
- Se o modelo de idioma não estiver chamando a função de hora corretamente, verifique o registro do servidor (
server.log
) ou configuração do conjunto de instruções. - O projeto está sob a Mozilla Public License 2.0 e os desenvolvedores são livres para modificar e distribuir o código, sujeito a acordos de código aberto.
cenário do aplicativo
- Aprimoramento da percepção temporal dos modelos de linguagem
Durante um diálogo com um usuário, o modelo de linguagem pode ajustar dinamicamente suas respostas obtendo a hora atual do servidor. Por exemplo, o modelo pode fornecer sugestões de programação mais personalizadas com base no fuso horário do usuário. - Análise de padrões de diálogo
Os desenvolvedores podem usar dados temporais para analisar a frequência das interações do usuário com o modelo e descobrir períodos de pico de diálogo ou hábitos do usuário. - Automação de tarefas sensíveis ao tempo
Em fluxos de trabalho automatizados, o servidor pode fornecer uma base temporal para o modelo de linguagem para agendamento de tarefas ou geração de lembretes. - Educação e pesquisa
Os pesquisadores podem usar o servidor para explorar como o modelo de linguagem entende o conceito de tempo e verificar seu desempenho em tarefas relacionadas ao tempo.
QA
- Como faço para garantir que o servidor se comunique corretamente com o modelo de idioma?
Verificar se o servidor está ligadohttp://0.0.0.0:8000/sse
Execute-o e verifique se o cliente está configurado com o URL correto. Os desenvolvedores que usam o Claude podem consultar o Antrópica A documentação oficial configura o MCP. - Ele oferece suporte à conversão de horário em vários fusos horários?
Sim.current_datetime()
suporta a passagem do nome do fuso horário da IANA (por exemploEurope/London
), o servidor retorna a hora atual no fuso horário correspondente. - Qual é a formação técnica necessária para implementar servidores?
Conhecimento básico de programação em Python e experiência em Git são suficientes. As implantações na nuvem exigem um conhecimento da configuração básica do serviço de nuvem, como o processo Render.com. - O servidor é compatível com alta simultaneidade?
As implantações locais são adequadas para desenvolvimento e testes, enquanto as implantações na nuvem são recomendadas para ambientes de produção para suportar alta simultaneidade. Plataformas como a Render.com podem dimensionar automaticamente os recursos do servidor.