Routing24 como servidor MCP
Por Nathan ColeAtualizado
O Routing24 publica um servidor Model Context Protocol em
https://routing24.ai/mcp. Um assistente que suporte MCP lista as
ferramentas que o Routing24 oferece e chama-as. Esta página abrange como uma
chamada é encaminhada para o seu plano, as 43 ferramentas que o servidor
expõe, o que a aplicação mostra enquanto um assistente ligado trabalha e o
que cada falha significa.
Como uma chamada é encaminhada para o seu plano
Uma chamada é encaminhada em três passos. O trabalho acontece no último:
- O assistente ligado envia a chamada para
https://routing24.ai/mcp. - O servidor encaminha-a para o separador do navegador do Routing24 com a sua sessão iniciada.
- O separador executa o trabalho no plano que tem aberto e responde.
Desse encaminhamento decorrem três condições. A maioria das falhas nesta página vem de uma delas:
- Tem sessão iniciada no Routing24 num navegador.
- Está aberto um separador
routing24.com/app. Qualquer página da aplicação serve. - Aprovou a ligação uma vez a partir desse navegador. Consulte Ligar o Claude e o ChatGPT.
Um navegador de cada vez serve a conta. Quando aprova a ligação num segundo navegador, o primeiro deixa de responder.
O assistente na aplicação faz o mesmo trabalho através das mesmas ferramentas. Os dois diferem no que os rodeia:
| O assistente na aplicação | Um assistente ligado |
|---|---|
| Abre na aplicação, sem configuração | Liga-se uma vez com um URL e uma aprovação |
| Pode aceder ao plano, não aos seus ficheiros ou a outros sistemas | Acede também aos seus ficheiros, correio e outras ferramentas |
| Importa um ficheiro que anexa, guarda um conversor, revê uma reparação de endereços | Usa apenas as 43 ferramentas |
| Gasta o orçamento de IA da conta | Gasta o orçamento disponível junto do respetivo fornecedor |
| Corre enquanto o painel está aberto | Precisa de qualquer separador da aplicação aberto, em qualquer página |
O que o Routing24 expõe
Cada ferramenta tem o prefixo routing24_. O vocabulário que um assistente
ligado lê é o vocabulário que a aplicação usa: janelas de horário,
capacidades, turnos, prioridades, etiquetas, pausas, transferências,
sequências, recargas e custos.
Uma ferramenta marcada read abaixo apenas lê. Não pode alterar o plano, e o servidor declara-a como tal, que é o critério pelo qual um cliente agrupa as suas permissões. Tudo o que não está marcado escreve.
Planos e a conta
| Ferramenta | O que faz |
|---|---|
Get auth userreadrouting24_get_auth_user | A conta com sessão iniciada a que um plano guardado pertencerá |
List plansreadrouting24_list_plans | Os planos guardados: id, nome, datas, contagens de entidades e qual está carregado |
Load planrouting24_load_plan | Carregar um plano guardado por id, guardando primeiro as alterações não guardadas do plano substituído |
New planrouting24_new_plan | Iniciar um plano vazio novo, substituindo o plano carregado depois de guardar as suas alterações não guardadas |
Saverouting24_save | Persistir o plano e devolver a sua ligação |
Plan URLreadrouting24_plan_url | A ligação do plano atual |
Ler o plano de rotas
| Ferramenta | O que faz |
|---|---|
Statusreadrouting24_status | Progresso mais a visão geral do plano de rotas: totais agregados, custo e estatísticas por rota |
Routereadrouting24_route | As paragens ordenadas de uma rota pelo seu número de rota no ecrã: ETAs, cargas, esperas e problemas |
Unassignedreadrouting24_unassigned | Quais os pedidos não atribuídos e porquê: ids, diagnósticos e estimativas de inserção |
Dados do plano
| Ferramenta | O que faz |
|---|---|
List stopsreadrouting24_list_stops | Ler os pedidos do plano, paginados e filtráveis |
List vehiclesreadrouting24_list_vehicles | Ler os tipos de veículo do plano |
List depotsreadrouting24_list_depots | Ler os depósitos do plano |
Geocode addressesreadrouting24_geocode_addresses | Verificar até 10 endereços junto do geocodificador: se cada um resolve e o endereço com que correspondeu, sem criar nada |
Upsert stopsrouting24_upsert_stops | Criar ou atualizar pedidos por id; uma linha apenas com um id e um endereço é a forma como uma lista de endereços entra no plano |
Upsert vehiclesrouting24_upsert_vehicles | Criar ou atualizar tipos de veículo por id |
Upsert depotsrouting24_upsert_depots | Criar ou atualizar depósitos por id |
Delete stopsrouting24_delete_stops | Eliminar pedidos por id |
Delete vehiclesrouting24_delete_vehicles | Eliminar tipos de veículo por id |
Delete depotsrouting24_delete_depots | Eliminar depósitos: os veículos que os referenciam são eliminados com eles |
Edição de rotas
| Ferramenta | O que faz |
|---|---|
Move stopsrouting24_edit_move_stops | Mover paragens para outra rota ou outra posição, ancoradas ou na posição mais barata |
Unassign stopsrouting24_edit_unassign_stops | Retirar paragens das suas rotas |
Set route vehiclerouting24_edit_set_route_vehicle | Atribuir um veículo diferente a uma rota |
Create routerouting24_edit_create_route | Adicionar uma rota vazia para um veículo |
Remove routesrouting24_edit_remove_routes | Eliminar rotas: as paragens ainda nelas ficam não atribuídas na mesma edição |
Split routerouting24_edit_split_route | Dividir uma rota em duas depois de uma paragem |
Merge routesrouting24_edit_merge_routes | Mover as paragens de outras rotas para uma única rota |
Mark user assignedrouting24_edit_mark_user_assigned | Marcar paragens como colocadas manualmente, com um relatório das restrições que essa colocação viola |
Clear user assignedrouting24_edit_clear_user_assigned | Remover essa marca e o respetivo relatório |
Undorouting24_undo | Retroceder no histórico de edição partilhado |
Redorouting24_redo | Avançar novamente |
Otimização
| Ferramenta | O que faz |
|---|---|
Reoptimize planrouting24_reoptimize_plan | Otimizar diretamente o plano carregado |
Reoptimize routerouting24_reoptimize_route | Reordenar uma rota, de forma síncrona |
Cancelrouting24_cancel | Abortar uma otimização longa, mantendo o melhor plano de rotas até ao momento |
Dados e scripting
| Ferramenta | O que faz |
|---|---|
SQL queryreadrouting24_sql_query | Ler o plano com SQL sobre oito tabelas em tempo real, dos pedidos às paragens do plano de rotas |
SQL updaterouting24_sql_update | Atualizações de campos em massa com SQL, validadas e aplicadas atomicamente |
Run scriptrouting24_run_script | Transformações e análises em JavaScript em sandbox sobre um rascunho do plano |
A aplicação e o resultado
| Ferramenta | O que faz |
|---|---|
Renderreadrouting24_render | Navegar para a página de otimização para que as rotas sejam desenhadas |
Open pagereadrouting24_open_page | Abrir uma das páginas da aplicação |
Show on mapreadrouting24_show_on_map | Centrar o mapa num pedido ou depósito |
Export Excelreadrouting24_export_excel | Transferir o plano como um livro Excel |
Map imagereadrouting24_map_image | Capturar o plano como uma imagem de mapa Retina, com pinos e linhas de rota |
Session logreadrouting24_session_log | Ler o registo de ações de uma sessão de assistente, para passagens de trabalho e auditorias |
Separadores e sessões
| Ferramenta | O que faz |
|---|---|
List loaded plansreadrouting24_list_loaded_plans | Os separadores abertos, o plano aberto em cada um e a sessão de assistente que o está a editar |
Coordenadas em vez de um endereço
Um pedido ou um depósito precisa de uma localização. Normalmente indica-lhe um endereço, e o Routing24 geocodifica esse endereço ao guardar a linha.
Quando já conhece o ponto exato, coloque coordinates na linha, com um
lat e um lng em graus decimais. O Routing24 coloca a linha nesse ponto e
nunca chama o geocodificador. Adicione também um address para manter o seu
próprio texto na linha. Sem ele, a linha apresenta 25.19882, 55.27939.
Um endereço escrito como dois números decimais faz o mesmo. Envie
25.19882, 55.27939 como endereço e a linha fica nesse ponto.
Ambas as formas funcionam em routing24_upsert_stops e
routing24_upsert_depots, e ambas funcionam para um lote inteiro de cada
vez. Uma lista de pontos que já possui entra numa única chamada, sem nada
que o geocodificador possa errar.
As coordenadas apenas entram. Nenhuma ferramenta as devolve.
Que plano uma chamada visa
Um navegador pode ter vários planos abertos, um por separador. Duas entradas decidem que plano uma chamada visa.
plan_id identifica o plano em que a chamada deve operar. Esse plano já
tem de estar aberto num separador. Quando nenhum separador o tem aberto, a
chamada falha e indica os planos que estão abertos.
session_id identifica a sessão de edição própria de um assistente
ligado. O Routing24 cria uma na primeira alteração do assistente a um plano
e devolve-a no resultado. Um assistente que fixe esse id em todas as
chamadas seguintes mantém o seu próprio plano, mesmo quando você muda para
outro separador. As chamadas apenas de leitura nunca criam uma sessão.
routing24_list_loaded_plans reporta os separadores abertos, o plano que
cada um tem aberto, se o separador está vazio, focado ou visível, e a sessão
de assistente que o está a editar. Dois assistentes a trabalhar em dois
planos usam-na para manter as suas chamadas nos seus próprios planos.
Sem nenhuma das entradas, a chamada opera no plano da sessão do próprio chamador. Sem sessão, opera no plano do separador focado, depois num separador visível, depois no separador visto mais recentemente. O separador focado muda sempre que clica noutro.
O que vê enquanto um assistente ligado trabalha
- O selo no cabeçalho. Nas páginas do plano, um selo verde mostra o
nome do cliente e há quanto tempo chamou, por exemplo
Claude (now)ouChatGPT (3 min ago). A dica mostra a última ferramenta pelo seu nome técnico: "Última ação do Claude: routing24_reoptimize_plan. Clique para ver o registo da sessão." O selo desaparece cinco minutos após a última chamada. Prima-o para abrir o painel do assistente no registo. - O registo da sessão. O painel do assistente lista cada sessão sob um
título com o formato
Session a1b2c3d4 (Claude), depois uma linha por chamada com a hora, a ação em palavras simples e se falhou. As linhas de ciclo de vida indicam "iniciou esta sessão", "assumiu esta sessão" e "retomou noutro separador". - A barra de desligamento. Abaixo da caixa de mensagem, uma barra indica "O Claude está ligado à sua conta" com um botão Desconectar. Consulte Ligar o Claude e o ChatGPT.
- O bloqueio. Uma edição coloca a aplicação atrás de uma sobreposição de ecrã inteiro intitulada Controlado por agente, com o texto "Um agente de IA está a editar este plano. O ecrã fica bloqueado enquanto ele trabalha; todas as alterações entram no histórico de anulação partilhado.", com um contador das alterações aplicadas até ao momento. Prima Assumir o controlo para retomar a aplicação a qualquer momento.
- O painel. Enquanto um assistente ligado trabalha, a caixa de mensagem é substituída por "O Claude está a trabalhar neste plano" e um botão Assumir o controle.
As eliminações e as alterações de campos em massa de um assistente ligado aplicam-se sem revisão. As caixas de diálogo de revisão pertencem ao assistente na aplicação.
Edição partilhada
As edições do assistente ligado e as suas próprias edições partilham um único histórico de anulação. Continue manualmente exatamente onde o assistente parou. Consulte Consultar, editar e exportar um plano com IA.
Quando o plano mudou desde a última leitura do assistente ligado, o Routing24 rejeita a edição seguinte desse assistente. Nada é escrito. A rejeição inclui a revisão atual do plano e o último editor. O assistente volta a ler o plano, e a mesma chamada tem sucesso na nova tentativa. A aplicação não mostra nada enquanto isto acontece.
O que significam os erros
Um assistente ligado reporta estes erros na sua própria transcrição.
| O que o assistente reporta | O que aconteceu |
|---|---|
| Nenhum separador do navegador do Routing24 está ligado | Nenhum navegador com sessão iniciada está associado. Abra a aplicação e inicie sessão |
| Nenhum separador da aplicação Routing24 está aberto | O navegador está associado, mas nenhum separador da aplicação está aberto. Abra routing24.com/app |
| O separador fechou durante a execução de uma ferramenta | O separador fechou a meio da chamada. A alteração pode ou não ter sido aplicada |
| O separador não respondeu em 60 s | Uma ferramenta excedeu o limite de 60 segundos. Uma otimização em curso continua no separador |
| Outro separador assumiu enquanto esta chamada corria | Um segundo navegador associou-se e substituiu o primeiro |
| O estado do plano divergiu | O plano mudou desde a última leitura do assistente. Ele volta a ler e tenta de novo |
Uma otimização longa excede sempre o limite de 60 segundos. A otimização
continua a correr no separador. O assistente consulta routing24_status
para obter o resultado em vez de repetir a chamada.
Limites
- Oito chamadas em curso em simultâneo por sessão.
- 120 pedidos por minuto por conta.
- 60 segundos por chamada.
- Uma imagem de mapa de cerca de 600 KB.
- Um separador visível para uma imagem de mapa. Uma janela oculta deixa de ser desenhada, pelo que a captura excede o tempo limite.
- Um navegador associado por conta. Um assistente ligado trabalha através desse navegador e em mais lado nenhum: o Routing24 não executa nada por conta própria enquanto todos os separadores estiverem fechados.
Onde o trabalho corre
A otimização corre no seu separador do navegador. A geocodificação e as matrizes de distâncias correm nos servidores do Routing24 sob a sua própria sessão. O endpoint MCP é o único servidor do Routing24 a que um assistente ligado acede, com um token criado quando aprova a ligação. Privacidade e tratamento de dados indica o que cada uma dessas chamadas envia e quem recebe os dados que um assistente ligado lê.
Quanto custa
Ligar um assistente está disponível em todos os planos de subscrição. Um assistente ligado gasta o orçamento disponível junto do respetivo fornecedor em vez do orçamento de IA da conta. Uma otimização que ele inicie gasta a mesma quota que o botão Otimizar. Consulte Descrever restrições em linguagem simples e Planos e faturação.
A API de otimização é um produto Pro separado para integração entre sistemas, configurado com a equipa. Consulte Integrações.
Próximo passo
As ferramentas de escrita definem os mesmos campos que define manualmente. Adicionar veículos e depósitos abre a referência sobre o significado desses campos.
FAQ
O que preciso para que um assistente ligado funcione?
Um assistente ligado precisa de três coisas: ter sessão iniciada no Routing24 num navegador, um separador routing24.com/app aberto em qualquer página da aplicação e ter aprovado a ligação uma vez a partir desse navegador. Um navegador de cada vez serve a conta; aprovar a ligação num segundo navegador impede o primeiro de responder.
Onde corre, na prática, o trabalho de um assistente ligado?
A chamada é encaminhada para o separador do navegador com a sua sessão iniciada, e o separador executa o trabalho no plano que tem aberto. A otimização corre no navegador. A geocodificação e as matrizes de distâncias correm nos servidores do Routing24 sob a sua própria sessão. O endpoint MCP é o único servidor do Routing24 a que um assistente ligado acede.
Em que difere um assistente ligado do assistente na aplicação?
Ambos fazem o mesmo trabalho através das mesmas ferramentas. O assistente na aplicação abre sem configuração, pode aceder ao plano mas não aos seus ficheiros ou a outros sistemas, e gasta o orçamento de IA da conta. Um assistente ligado liga-se uma vez com um URL e uma aprovação, acede também aos seus ficheiros e a outras ferramentas, e gasta o orçamento disponível junto do respetivo fornecedor.
Posso parar um assistente ligado enquanto ele está a editar?
Sim. Uma edição coloca a aplicação atrás de uma sobreposição de ecrã inteiro intitulada Agent controlled, com um contador das alterações aplicadas até ao momento. Prima Take control para retomar a aplicação a qualquer momento. Todas as alterações entram no histórico de anulação partilhado, pelo que pode continuar manualmente exatamente onde o assistente parou.
Porque é que uma otimização longa excede o tempo limite para um assistente ligado?
Cada chamada tem um limite de 60 segundos, e uma otimização longa excede-o sempre. A otimização continua a correr no separador; apenas a chamada termina. O assistente consulta a ferramenta de estado para obter o resultado em vez de repetir a chamada e lê o plano de rotas quando a execução termina.