SimpleDock
Programación de citas para muelles de almacén: encontrar espacios disponibles, reservar, reprogramar, aprobar y registrar la entrada de camiones.
Servidor MCP alojado
npx add-mcp 'https://simpledock.ai/api/v1/mcp'Se instala en Claude Code, Codex, Cursor y más
Documentación
Servidor MCP de SimpleDock
El servidor oficial remoto de Model Context Protocol para SimpleDock: programación de citas para muelles de almacén. Con él, los asistentes de IA pueden encontrar espacios de muelle disponibles, reservar, reprogramar, aprobar y cancelar citas, registrar la llegada de camiones, y consultar horarios y análisis.
Este repositorio solo contiene documentación. El servidor está alojado por SimpleDock, por lo que no necesitas instalar ni ejecutar nada.
| Endpoint | https://simpledock.ai/api/v1/mcp |
| Transporte | HTTP transmisible (Streamable HTTP) |
| Autenticación | OAuth 2.1 (Registro dinámico de clientes + PKCE). Tu cliente abre una página de inicio de sesión de SimpleDock. |
| Nombre en el registro | ai.simpledock/simpledock (Registro oficial de MCP) |
| Herramientas | 40 |
| Documentación | https://simpledock.ai/developers/mcp |
Necesitas una cuenta de SimpleDock; el plan gratuito funciona. Regístrate en https://simpledock.ai.
Configuración
Claude (claude.ai / Claude Desktop)
Configuración → Conectores → Añadir conector personalizado → URL https://simpledock.ai/api/v1/mcp → Conectar y luego inicia sesión en SimpleDock.
Claude Code: claude mcp add --transport http simpledock https://simpledock.ai/api/v1/mcp
ChatGPT
Configuración → Aplicaciones y conectores → Avanzado → activa el modo Desarrollador → Crear → URL del servidor MCP https://simpledock.ai/api/v1/mcp, Autenticación OAuth → inicia sesión en 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
Abre Servidores MCP → Servidores remotos, o edita cline_mcp_settings.json:
{
"mcpServers": {
"simpledock": {
"url": "https://simpledock.ai/api/v1/mcp",
"type": "streamableHttp"
}
}
}
Cline abre una ventana del navegador para el inicio de sesión OAuth de SimpleDock en el primer uso.
Otros clientes
Cualquier cliente que admita servidores remotos HTTP transmisibles con OAuth funciona. Para clientes que solo admiten stdio, usa npx mcp-remote https://simpledock.ai/api/v1/mcp.
Flujo de trabajo sugerido
Comienza con list_locations, luego list_appointment_types, después get_availability para una fecha, y finalmente create_appointment.
Herramientas
| Herramienta | Descripción | Acceso |
|---|---|---|
list_locations | Lista todas las ubicaciones de muelles de la organización. | solo lectura |
list_doors | Lista las puertas de muelle de una ubicación. | solo lectura |
list_appointment_types | Lista los tipos de cita de una ubicación con sus definiciones de campos personalizados. Llama a esto primero: create_appointment y get_availability necesitan un appointmentTypeId, y las reservas deben cumplir los campos obligatorios de cada tipo. | solo lectura |
get_availability | Lista los intervalos de tiempo reservables para una ubicación, tipo de cita y fecha (AAAA-MM-DD). | solo lectura |
list_appointments | Lista citas, opcionalmente filtradas por ubicación, estado y rango de hora de inicio. Devuelve hasta limit filas más un nextCursor para la página siguiente. | solo lectura |
get_appointment | Obtiene una sola cita por id. | solo lectura |
get_analytics | Resumen de citas por ubicación (recuentos por estado y tipo) en un rango de fechas. El valor predeterminado son los últimos 30 días; el rango no puede superar los 366 días. | solo lectura |
create_appointment | Crea (reserva) una cita confirmada en una ubicación. | escritura |
update_appointment_details | Edita los campos de transportista/conductor/referencia de una cita (sin cambio de hora). Los campos omitidos no se modifican. | escritura |
reschedule_appointment | Mueve una cita confirmada a una nueva hora de inicio y puerta opcional. | escritura |
set_appointment_status | Cambia el estado de una cita (uno de: CONFIRMED, COMPLETED, NO_SHOW). COMPLETED y NO_SHOW son resultados de muelle y requieren appointments:receive; CONFIRMED requiere appointments:write. Usa cancel_appointment para cancelar. | escritura |
approve_appointment | Aprueba una cita pendiente, opcionalmente moviéndola a una nueva hora de inicio. | escritura |
reject_appointment | Rechaza una cita pendiente con un motivo opcional. | escritura |
check_in_appointment | Registra la actualización de check-in del propio conductor en una cita confirmada: ON_TRACK, RUNNING_LATE (con estimatedDelay en minutos) o CANCELLING. Para registrar que el camión está en el muelle, usa mark_arrived. | escritura |
mark_arrived | Registra que un camión ha llegado físicamente al muelle (por ejemplo, "el conductor de Swift acaba de llegar"). Inicia el reloj de tiempo de permanencia, que termina cuando la cita se marca como COMPLETED. Pasa arrived: false para deshacer una llegada por error. No es lo mismo que check_in_appointment, que registra la actualización del propio conductor de que va en camino o con retraso antes de la llegada. | escritura |
cancel_appointment | Cancela una cita. | escritura |
get_location_setup | Todo sobre cómo está configurada una ubicación, en una sola llamada: su nombre, dirección y zona horaria; ajustes de programación (espaciado de hora de inicio, aprobación, modo de puerta); horario semanal; tipos de cita (incluidos los inactivos); puertas con sus límites de tipo y horarios propios; y cierres próximos. Lee esto antes de cambiar la configuración o al diagnosticar horas faltantes. | solo lectura |
set_up_location | Configura una instalación en una sola llamada: ajustes de programación, horario semanal, tipos de cita y puertas, aplicados en conjunto (una entrada incorrecta no cambia nada). Cada parte es opcional. Los tipos y puertas se emparejan por nombre: un nombre que ya existe en la ubicación se actualiza, uno nuevo se crea, y cualquier cosa que omitas no se toca, por lo que repetir la llamada es seguro. Las puertas se refieren a los tipos por nombre, así que no necesitas ids. Devuelve la configuración completa y la lista de verificación de la página de reservas (bookingPage.problems está vacía cuando los transportistas pueden reservar). | escritura |
update_location_settings | Cambia los ajustes de programación de una ubicación. Los campos omitidos no se modifican. | escritura |
set_weekly_hours | Reemplaza el horario de una ubicación para los días indicados (los días que omitas no cambian; una lista de ventanas vacía cierra ese día). Una reserva debe caber completamente dentro de una ventana, así que para ofrecer intervalos fijos, haz que cada ventana dure exactamente una cita: 08:00–10:00 y 10:30–12:30 con un tipo de 2 horas solo ofrecen 8:00 y 10:30. | escritura |
create_appointment_type | Añade un tipo de cita (lo que el transportista elige al reservar): su duración, carga, dirección, aviso mínimo y márgenes. | escritura |
update_appointment_type | Edita un tipo de cita. Los campos omitidos no se modifican. Establece isActive en false para dejar de ofrecerlo sin eliminarlo ni su historial. | escritura |
add_closed_dates | Cierra toda la ubicación en fechas concretas (festivos, paradas), en su zona horaria local. Las citas existentes en esas fechas no se cancelan; la respuesta las cuenta para que puedas hacer seguimiento. | escritura |
remove_closure | Reabre un cierre por id (los ids están en upcomingClosures de get_location_setup). | escritura |
create_door | Añade una puerta de muelle. Por defecto acepta todos los tipos de cita y sigue el horario de la ubicación, por lo que puede crearse antes de que existan tipos. Opcionalmente, limítala a ciertos tipos o dale su propio horario (consulta update_door). Para añadir tipos y puertas juntos por nombre, usa set_up_location. | escritura |
update_door | Edita una puerta de muelle. Los campos omitidos no se modifican. appointmentTypeIds limita qué tipos acepta ([] = todos los tipos). weeklyHours da a la puerta su propia semana completa de horas, siempre recortada a la de la ubicación (los días que omitas están cerrados para esta puerta); pasa null para volver al horario de la ubicación. isActive: false la saca de servicio. | escritura |
create_location | Añade una instalación. Comienza sin horario, tipos de cita ni puertas: continúa con set_up_location, que devuelve la lista de verificación de la página de reservas. El plan gratuito permite una ubicación; más requieren Pro (payment_required). | escritura |
update_location_details | Edita el nombre, dirección, zona horaria o URL de la página de reservas de una ubicación. Los campos omitidos no se modifican. slug establece el enlace público /book/{slug}: 3+ letras minúsculas, números y guiones; un slug que use otra instalación es un conflicto. Cambiarlo rompe los enlaces ya enviados a los transportistas. | escritura |
update_notification_settings | Cambia quién recibe avisos de reservas en una ubicación. notifyEmail es una dirección adicional que recibe alertas de reservas además del equipo (cadena vacía la elimina). emailNotificationsEnabled activa o desactiva los correos de confirmación al transportista; smsCheckInEnabled envía a los conductores un enlace de check-in por SMS antes de su cita. Los campos omitidos no se modifican. | escritura |
get_booking_page | El enlace público de reservas que usan los transportistas (/book/{slug}) y si puede aceptar reservas: acceptingBookings es false hasta que la ubicación tenga horario semanal, un tipo de cita activo y (cuando asigna puertas) una puerta activa. problems indica qué corregir. | solo lectura |
list_booking_questions | Las preguntas adicionales que los transportistas responden al reservar, por tipo de cita, en orden de formulario. También lista qué campos integrados (driverName, trailerNumber, poReference, …) oculta o exige cada tipo. | solo lectura |
create_booking_question | Añade una pregunta al formulario de reserva de un tipo de cita (Pro). DROPDOWN necesita options. key es cómo se almacena la respuesta (customFields.{key} en las citas); por defecto es la etiqueta en camelCase y no puede cambiarse después. isReference hace que la respuesta sea un número de referencia, buscable en la lista de citas. | escritura |
update_booking_question | Edita una pregunta de reserva (Pro). Los campos omitidos no se modifican; la key nunca cambia. isActive: false la oculta del formulario pero conserva las respuestas anteriores. | escritura |
delete_booking_question | Elimina una pregunta de reserva definitivamente. Las respuestas ya dadas permanecen en citas anteriores pero ya no están etiquetadas; para conservarlas, establece isActive en false con update_booking_question. | escritura |
create_webhook | Envía eventos de citas a una URL (Pro). SimpleDock publica primero un evento de prueba y guarda el webhook solo si la URL responde 2xx. Los payloads que no son de Slack están firmados: verifica la cabecera X-SimpleDock-Signature con signingSecret, que solo se devuelve ahora. ZAPIER y SLACK necesitan URLs de hooks.zapier.com / hooks.slack.com. eventTypes vacío = todos los eventos; locationIds vacío = todas las ubicaciones. | escritura |
get_account_status | Si el propietario de la cuenta ha confirmado su correo electrónico, y qué espera hasta que lo haga (correos y SMS de citas, listado en el directorio, indexación de búsqueda, invitaciones a compañeros). Una cuenta que un agente creó y nadie confirmó se elimina en deletesAt. También lista la URL de la página de reservas de cada ubicación. | solo lectura |
verify_email | Confirma el correo del propietario con el código de seis dígitos del correo de SimpleDock que recibió. Si puedes leer su bandeja de entrada, tómalo del correo más reciente de SimpleDock (el asunto comienza con el código); de lo contrario, pídele que te lo lea. Nunca adivines. Cinco códigos incorrectos y el correo deja de aceptar códigos (usa resend_verification_email). | escritura |
resend_verification_email | Envía al propietario un nuevo correo de confirmación (enlace y código). Los enlaces y códigos anteriores dejan de funcionar. Limitado a unos pocos por hora. | escritura |
invite_member | Envía por correo a alguien una invitación para unirse a la organización. Roles: ADMIN (acceso completo, incluidos miembros y facturación), SCHEDULER (reservar y gestionar citas), DOCK_STAFF (marcar camiones como llegados y terminados). Requiere que el correo del propietario esté confirmado primero. | escritura |
create_api_key | Crea una clave API de larga duración (sd_live_…) para scripts y clientes que no pueden renovar tokens OAuth. La clave completa solo se devuelve ahora; guárdala. Se lista en Configuración → API, donde puede revocarse. Requiere que el correo del propietario esté confirmado primero. | escritura |
Soporte
- Correo electrónico: support@simpledock.ai
- Documentación: https://simpledock.ai/developers/mcp
- Sitio web: https://simpledock.ai
Licencia
La documentación de este repositorio tiene licencia MIT. El servicio de SimpleDock se rige por sus términos y política de privacidad.