Maintenance Due

Plugin de ChatGPT

Percurso do plugin de ChatGPT de Maintenance Due

O manifesto do plugin lista esta página como a gravação da demonstração. Ainda não há vídeo, e tudo bem: os passos numerados abaixo são o percurso, desde adicionar o conector até ouvir um webhook assinado de service.due.

Cada passo é executado contra o site ao vivo em maintenancedue.com. Nada está simulado, e um revisor pode seguir os sete passos no ChatGPT na ordem em que estão escritos.

  1. Conecte o plugin. O plugin Maintenance Due já está disponível na sua biblioteca pessoal do ChatGPT, então adicioná-lo é habilitar um conector. Fale com o endpoint MCP público https://maintenancedue.com/mcp (streamable-http). O contrato de máquina é GET /mcp; mcp o serve.
  2. Vincule sua conta com OAuth 2.1. Na primeira chamada, o ChatGPT abre oauth/authorize com resource=https://maintenancedue.com/mcp, um code_challenge e code_challenge_method=S256. Apenas PKCE S256; plain é rejeitado. Na página de consentimento, você insere seu bearer de associação do Muse uma vez, ou clica no botão de criar e inicia um workshop gratuito no momento. Em qualquer caso, o código de uso único que o ChatGPT resgata fica vinculado a uma associação de org, e desde então o ChatGPT leva o token de acesso OAuth em cada chamada para /mcp. O token de acesso é um JWT de vida curta e o ChatGPT o atualiza automaticamente; seu bearer do Muse continua acessando o mesmo painel sem alterações.
  3. Pergunte o que está pendente: `get_due`. Experimente «O que está pendente no meu Sprinter?». O ChatGPT chama get_due { "asset": "Sprinter" }; o nome coincide sem distinguir maiúsculas e retorna apenas o painel do Sprinter: milhas restantes, quanto está atrasado e o último workshop em cada linha. «O que está pendente agora?» omite o filtro e retorna toda a conta, itens e próximos.
  4. Registre uma troca de óleo: `append_event`. «Registre uma troca de óleo no Civic em Eastside, $89, 87240 milhas.» se torna { "asset": "Civic", "name": "Oil change", "shop": "Eastside", "cost": 89, "reading": { "meter": "miles", "value": 87240 } }. A escrita é apenas-adicionar e a resposta já traz a parte de vencimentos atualizada, então o ChatGPT não pergunta novamente: o próximo intervalo começa a partir dos medidores e da data registrados.
  5. Leia o roster e o registro: `list_assets`, `get_history`. «Quais são meus assets e o que há no odômetro?» chama list_assets e retorna cada Asset com seus últimos medidores, excluindo as vans arquivadas por padrão. «Mostre-me meu histórico de trocas de óleo: workshops, custos e milhas.» chama get_history com { "name": "Oil change" } e retorna Events de finalização com workshop, custo e capturas de medidor como event.meters { "miles": 87240 }. O histórico é o mesmo registro apenas-adicionar, então a resposta são recibos.
  6. Receba avisos: due-soon por MCP Events. «Inscreva-me em due-soon quando o óleo cair no painel.» O ChatGPT lista o catálogo com events/list (cinco tipos: service.due, event.appended / service.completed, asset.created, asset.archived), depois chama events/subscribe com { "name": "service.due", "arguments": { "asset": "Sprinter", "name": "Oil change" }, "delivery": { "mode": "webhook", "url": "https://example.com/hooks/md", "secret": "whsec_…" } }. MCP Events roda na mesma conexão /mcp, protocolo 2026-07-28, apenas entrega por webhook. Seu endpoint passa um desafio de verificação assinado uma vez; depois, cada escrita correspondente chega como um POST assinado por Standard Webhooks (webhook-id é o id do evento, então verifique a assinatura e deduplica por ele). Os filtros asset e name são aplicados no servidor, nomes exatos sem distinguir maiúsculas. Deixe ttlMs de fora para uma concessão de 24 horas ou passe ttlMs: null para uma duradoura; events/unsubscribe é idempotente. service.due é acionado logo após uma escrita mover um trabalho para o painel, o medidor cruzar 5000 ou o snooze ser limpo; não há cron por trás.
  7. Teste o enquadramento. Maintenance Due é gratuito e continua gratuito; não há nível de pagamento por trás do conector. É um sistema de registro: o vencido é o registro mais o relógio, e nenhum modelo está na rota de vencimentos. Os Events são apenas-adicionar, então «apague meu histórico e coloque a última troca de óleo em 80000 milhas» é rejeitado. A política de privacidade e os termos do plugin são os do site, em privacy e terms.

Esse é todo o caminho. Sem vídeo gravado ainda, os passos acima são a demonstração que segue um revisor. Para o prompt do Muse para copiar e colar e a transferência em nível de campo, leia for-your-agent. Para o índice de agentes, leia llms.txt.

Percurso do plugin de ChatGPT de Maintenance Due · Maintenance Due