SimpleDock
Agendamento de vagas no pátio do armazém: encontre horários disponíveis, reserve, reagende, aprove e faça o check-in de caminhões.
Servidor MCP hospedado
npx add-mcp 'https://simpledock.ai/api/v1/mcp'Instala no Claude Code, Codex, Cursor e outros
Documentação
Servidor MCP SimpleDock
O servidor oficial remoto Model Context Protocol para SimpleDock: agendamento de horários para docas de armazéns. Com ele, assistentes de IA podem encontrar vagas de doca disponíveis, reservar, reagendar, aprovar e cancelar compromissos, registrar a chegada de caminhões e consultar cronogramas e análises.
Este repositório contém apenas documentação. O servidor é hospedado pela SimpleDock, então você não precisa instalar ou executar nada.
| Endpoint | https://simpledock.ai/api/v1/mcp |
| Transporte | HTTP Streamable |
| Autenticação | OAuth 2.1 (Registro Dinâmico de Cliente + PKCE). Seu cliente abre uma página de login da SimpleDock. |
| Nome no registro | ai.simpledock/simpledock (Registro MCP oficial) |
| Ferramentas | 40 |
| Documentação | https://simpledock.ai/developers/mcp |
Você precisa de uma conta SimpleDock; o plano gratuito funciona. Cadastre-se em https://simpledock.ai.
Configuração
Claude (claude.ai / Claude Desktop)
Configurações → Conectores → Adicionar conector personalizado → URL https://simpledock.ai/api/v1/mcp → Conectar e, em seguida, faça login na SimpleDock.
Claude Code: claude mcp add --transport http simpledock https://simpledock.ai/api/v1/mcp
ChatGPT
Configurações → Aplicativos e Conectores → Avançado → ative o Modo desenvolvedor → Criar → URL do servidor MCP https://simpledock.ai/api/v1/mcp, Autenticação OAuth → faça login na SimpleDock.
Cursor
~/.cursor/mcp.json:
{
"mcpServers": {
"simpledock": { "url": "https://simpledock.ai/api/v1/mcp" }
}
}
VS Code (GitHub Copilot)
.vscode/mcp.json:
{
"servers": {
"simpledock": { "type": "http", "url": "https://simpledock.ai/api/v1/mcp" }
}
}
Cline
Abra Servidores MCP → Servidores Remotos, ou edite cline_mcp_settings.json:
{
"mcpServers": {
"simpledock": {
"url": "https://simpledock.ai/api/v1/mcp",
"type": "streamableHttp"
}
}
}
O Cline abre uma janela do navegador para o login OAuth da SimpleDock no primeiro uso.
Outros clientes
Qualquer cliente que suporte servidores HTTP Streamable remotos com OAuth funciona. Para clientes que suportam apenas stdio, use npx mcp-remote https://simpledock.ai/api/v1/mcp.
Fluxo de trabalho sugerido
Comece com list_locations, depois list_appointment_types, depois get_availability para uma data e, em seguida, create_appointment.
Ferramentas
| Ferramenta | Descrição | Acesso |
|---|---|---|
list_locations | Lista todos os locais de doca na organização. | somente leitura |
list_doors | Lista as portas de doca em um local. | somente leitura |
list_appointment_types | Lista os tipos de compromisso de um local com suas definições de campos personalizados. Chame esta ferramenta primeiro: create_appointment e get_availability precisam de um appointmentTypeId, e as reservas devem atender aos campos obrigatórios de cada tipo. | somente leitura |
get_availability | Lista os horários disponíveis para reserva em um local, tipo de compromisso e data (AAAA-MM-DD). | somente leitura |
list_appointments | Lista compromissos, opcionalmente filtrados por local, status e intervalo de horário de início. Retorna até limit linhas mais um nextCursor para a próxima página. | somente leitura |
get_appointment | Busca um único compromisso por id. | somente leitura |
get_analytics | Resumo de compromissos por local (contagens por status e tipo) em um intervalo de datas. O padrão são os últimos 30 dias; o intervalo não pode exceder 366 dias. | somente leitura |
create_appointment | Cria (reserva) um compromisso confirmado em um local. | gravação |
update_appointment_details | Edita os campos de transportadora/motorista/referência de um compromisso (sem alteração de horário). Campos omitidos permanecem inalterados. | gravação |
reschedule_appointment | Move um compromisso confirmado para um novo horário de início e porta opcional. | gravação |
set_appointment_status | Transiciona o status de um compromisso (um de: CONFIRMED, COMPLETED, NO_SHOW). COMPLETED e NO_SHOW são resultados de doca e precisam de appointments:receive; CONFIRMED precisa de appointments:write. Use cancel_appointment para cancelar. | gravação |
approve_appointment | Aprova um compromisso pendente, opcionalmente movendo-o para um novo horário de início. | gravação |
reject_appointment | Rejeita um compromisso pendente com um motivo opcional. | gravação |
check_in_appointment | Registra a atualização de check-in do próprio motorista em um compromisso confirmado: ON_TRACK, RUNNING_LATE (com estimatedDelay em minutos) ou CANCELLING. Para registrar que o caminhão está na doca, use mark_arrived. | gravação |
mark_arrived | Registra que um caminhão chegou fisicamente à doca (por exemplo, "o motorista da Swift acabou de chegar"). Inicia o cronômetro de tempo de permanência, que termina quando o compromisso é marcado como COMPLETED. Passe arrived: false para desfazer uma chegada equivocada. Não é o mesmo que check_in_appointment, que registra a atualização do próprio motorista sobre estar no prazo ou atrasado antes da chegada. | gravação |
cancel_appointment | Cancela um compromisso. | gravação |
get_location_setup | Tudo sobre como um local está configurado, em uma única chamada: nome, endereço e fuso horário; configurações de agendamento (espaçamento de horário de início, aprovação, modo de porta); horários semanais; tipos de compromisso (incluindo inativos); portas com seus limites de tipo e horários próprios; e fechamentos futuros. Leia isto antes de alterar a configuração ou ao diagnosticar horários ausentes. | somente leitura |
set_up_location | Configura uma instalação em uma única chamada: configurações de agendamento, horários semanais, tipos de compromisso e portas, aplicados em conjunto (uma entrada inválida não altera nada). Cada parte é opcional. Tipos e portas são correspondidos por nome: um nome que já existe no local é atualizado, um novo é criado e qualquer coisa que você omitir permanece intocada, então repetir a chamada é seguro. As portas referem-se aos tipos por nome, então você não precisa de ids. Retorna a configuração completa e a lista de verificação da página de reserva (bookingPage.problems fica vazio quando as transportadoras podem reservar). | gravação |
update_location_settings | Altera as configurações de agendamento de um local. Campos omitidos permanecem inalterados. | gravação |
set_weekly_hours | Substitui os horários de um local para os dias listados (dias que você omitir permanecem inalterados; uma lista de janelas vazia fecha aquele dia). Uma reserva deve caber inteiramente dentro de uma janela, então para oferecer horários fixos, faça cada janela exatamente do tamanho de um compromisso: 08:00–10:00 e 10:30–12:30 com um tipo de 2 horas oferece apenas 8:00 e 10:30. | gravação |
create_appointment_type | Adiciona um tipo de compromisso (o que uma transportadora escolhe ao reservar): duração, carga, direção, aviso mínimo e buffers. | gravação |
update_appointment_type | Edita um tipo de compromisso. Campos omitidos permanecem inalterados. Defina isActive como false para parar de oferecê-lo sem excluí-lo ou seu histórico. | gravação |
add_closed_dates | Fecha o local inteiro em datas específicas (feriados, paralisações), no fuso horário local. Os compromissos existentes nessas datas não são cancelados; a resposta os conta para que você possa acompanhar. | gravação |
remove_closure | Reabre um fechamento por id (os ids estão em get_location_setup's upcomingClosures). | gravação |
create_door | Adiciona uma porta de doca. Por padrão, ela aceita todos os tipos de compromisso e segue os horários do local, então pode ser criada antes de existirem tipos. Opcionalmente, limite-a a certos tipos ou dê a ela horários próprios (veja update_door). Para adicionar tipos e portas juntos por nome, use set_up_location. | gravação |
update_door | Edita uma porta de doca. Campos omitidos permanecem inalterados. appointmentTypeIds limita quais tipos ela aceita ([] = todos os tipos). weeklyHours dá à porta uma semana completa de horários próprios, sempre limitada aos do local (dias que você omitir ficam fechados para esta porta); passe null para voltar aos horários do local. isActive: false a tira de serviço. | gravação |
create_location | Adiciona uma instalação. Ela começa sem horários, tipos de compromisso ou portas: continue com set_up_location, que retorna a lista de verificação da página de reserva. O plano Gratuito permite um local; mais exigem Pro (payment_required). | gravação |
update_location_details | Edita o nome, endereço, fuso horário ou URL da página de reserva de um local. Campos omitidos permanecem inalterados. slug define o link público /book/{slug}: 3+ letras minúsculas, números e hífens; um slug usado por outra instalação é um conflito. Alterá-lo quebra links já enviados às transportadoras. | gravação |
update_notification_settings | Altera quem recebe notificações sobre reservas em um local. notifyEmail é um endereço extra que recebe alertas de reserva além da equipe (string vazia o limpa). emailNotificationsEnabled liga ou desliga os e-mails de confirmação para transportadoras; smsCheckInEnabled envia SMS aos motoristas com um link de check-in antes do compromisso. Campos omitidos permanecem inalterados. | gravação |
get_booking_page | O link público de reserva que as transportadoras usam (/book/{slug}) e se ele pode aceitar reservas: acceptingBookings é false até que o local tenha horários semanais, um tipo de compromisso ativo e (quando atribui portas) uma porta ativa. problems diz o que corrigir. | somente leitura |
list_booking_questions | As perguntas extras que as transportadoras respondem ao reservar, por tipo de compromisso, na ordem do formulário. Também lista quais campos integrados (driverName, trailerNumber, poReference, …) cada tipo oculta ou exige. | somente leitura |
create_booking_question | Adiciona uma pergunta ao formulário de reserva de um tipo de compromisso (Pro). DROPDOWN precisa de options. key é como a resposta é armazenada (customFields.{key} nos compromissos); o padrão é o rótulo em camelCase e não pode ser alterado depois. isReference torna a resposta um número de referência, pesquisável na lista de compromissos. | gravação |
update_booking_question | Edita uma pergunta de reserva (Pro). Campos omitidos permanecem inalterados; a key nunca muda. isActive: false a oculta do formulário, mas mantém respostas anteriores. | gravação |
delete_booking_question | Remove uma pergunta de reserva definitivamente. Respostas já dadas permanecem em compromissos anteriores, mas não são mais rotuladas; para mantê-las, defina isActive como false com update_booking_question. | gravação |
create_webhook | Envia eventos de compromisso para uma URL (Pro). A SimpleDock envia um evento de teste primeiro e salva o webhook somente se a URL responder com 2xx. Payloads que não são do Slack são assinados: verifique o cabeçalho X-SimpleDock-Signature com signingSecret, que é retornado apenas agora. ZAPIER e SLACK precisam de URLs hooks.zapier.com / hooks.slack.com. eventTypes vazio = todos os eventos; locationIds vazio = todos os locais. | gravação |
get_account_status | Se o proprietário da conta confirmou o e-mail e o que espera até que ele o faça (e-mails e SMS de compromisso, listagem no diretório, indexação de busca, convites para colegas). Uma conta que um agente criou e ninguém confirmou é excluída em deletesAt. Também lista a URL da página de reserva de cada local. | somente leitura |
verify_email | Confirma o e-mail do proprietário com o código de seis dígitos do e-mail da SimpleDock que ele recebeu. Se você puder ler a caixa de entrada dele, pegue-o do e-mail mais recente da SimpleDock (o assunto começa com o código); caso contrário, peça para ele ler para você. Nunca adivinhe. Cinco códigos errados e o e-mail para de aceitar códigos (use resend_verification_email). | gravação |
resend_verification_email | Envia ao proprietário um novo e-mail de confirmação (link e código). Links e códigos anteriores param de funcionar. Limitado a alguns por hora. | gravação |
invite_member | Envia por e-mail um convite para alguém entrar na organização. Funções: ADMIN (acesso total, incluindo membros e cobrança), SCHEDULER (reservar e gerenciar compromissos), DOCK_STAFF (marcar caminhões como chegados e concluídos). Exige que o e-mail do proprietário seja confirmado primeiro. | gravação |
create_api_key | Cria uma chave de API de longa duração (sd_live_…) para scripts e clientes que não podem atualizar tokens OAuth. A chave completa é retornada apenas agora; armazene-a. Ela aparece em Configurações → API, onde pode ser revogada. Exige que o e-mail do proprietário seja confirmado primeiro. | gravação |
Suporte
- E-mail: support@simpledock.ai
- Documentação: https://simpledock.ai/developers/mcp
- Site: https://simpledock.ai
Licença
A documentação neste repositório é licenciada sob MIT. O serviço SimpleDock é regido pelos seus termos e política de privacidade.