opendock-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| OPENDOCK_TOKEN | No | A pre-existing JWT token for authentication. | |
| OPENDOCK_API_URL | No | The base URL for the Opendock Neutron API. Defaults to production. | https://neutron.opendock.com |
| OPENDOCK_PASSWORD | No | Your Opendock password. | |
| OPENDOCK_USERNAME | No | Your Opendock username (email). |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_versionA | Get the opendock-mcp server version |
| get_profileA | Get the current authenticated user's profile |
| list_warehousesB | List warehouses with optional filters and pagination |
| get_warehouseB | Get details for a specific warehouse |
| get_warehouse_hoursB | Get hours of operation for a warehouse's docks |
| create_warehouseB | Create a new warehouse (billable event — implies additional subscription costs) |
| update_warehouseC | Update a warehouse |
| delete_warehouseB | Delete a warehouse |
| list_docksB | List docks with optional filters |
| get_dockC | Get details for a specific dock |
| create_dockC | Create a new dock |
| update_dockC | Update a dock |
| delete_dockC | Delete a dock |
| sort_docksB | Save dock sort order |
| get_dock_availabilityC | Get availability for a specific dock |
| list_load_typesB | List load types with optional filters |
| get_load_typeC | Get details for a specific load type |
| get_load_type_availabilityB | Get available appointment slots for a load type |
| create_load_typeC | Create a new load type |
| update_load_typeC | Update a load type |
| delete_load_typeC | Delete a load type |
| list_appointmentsA | List and search appointments using NestJSX/Crud query syntax. Supports advanced filtering, field selection, joins, and sorting. SEARCH (s=): JSON search with operators. When s= is provided, startDate/endDate/status/warehouseId/dockId convenience filters are ignored. Operators: $eq, $ne, $gt, $lt, $gte, $lte, $cont, $contL (case-insensitive contains), $starts, $ends, $in, $notin, $between, $isnull, $notnull Combinators: $and, $or Examples: Scheduled after a date: s='{"$and":[{"status":"Scheduled"},{"start":{"$gt":"2026-03-15T08:00:00.000-07:00"}}]}' Changed since a date: s='{"lastChangedDateTime":{"$gt":"2026-03-15T08:00:00.000Z"}}' Soft-deleted since a date: s='{"$and":[{"lastChangedDateTime":{"$gt":"2026-07-07T00:00:00.000Z"}},{"isActive":false}]}' Has tag "Late": s='{"tags":{"$contL":"Late"}}' Empty tags: s='{"tags":{"$or":{"$isnull":true,"$eq":"{}"}}}' JOIN: Fetch related data in a single request. Each join is a separate array element. Examples: Get carrier info: join=["user","user.company"] Carrier email + company name only: join=["user||email,companyId","user.company||name"] FIELDS: Comma-separated list of fields to return. Example: fields="refNumber,start,lastChangedDateTime,status" SORT: Each sort is "field,direction". Use array for multi-sort. Examples: sort=["start,ASC"] or sort=["start,DESC","status,ASC"] |
| search_appointmentsA | Free-text search for appointments. Use this when searching by keyword across appointment fields. For structured filtering/querying, use list_appointments instead. |
| get_appointmentB | Get details for a specific appointment |
| create_appointmentB | Schedule a new appointment |
| update_appointmentC | Modify or reschedule an existing appointment |
| delete_appointmentC | Cancel/delete an appointment |
| get_public_appointmentA | Get public appointment details (no auth required) |
| undo_appointment_statusB | Undo the latest status change for an appointment |
| create_recurring_appointmentsB | Create a recurring appointment series from an existing appointment |
| delete_recurring_appointmentsA | Delete all recurring appointments in a series (excludes the original) |
| add_appointment_tagB | Add a tag to an appointment |
| find_and_book_appointmentA | Find the next available slot for a load type and book it in one step. Calls the first-available-appointment endpoint to get open slots across all docks and load types, filters to the requested loadTypeId (and optionally a preferred dock), then creates the appointment automatically. Use this instead of manually chaining get_first_available_appointment + create_appointment. |
| remove_appointment_tagB | Remove a tag from an appointment |
| list_carriersB | List carriers with optional filters |
| get_carrierB | Get details for a specific carrier |
| create_carrierB | Create a new carrier user |
| update_carrierC | Update a carrier user |
| get_booked_carriersB | Get carriers that have booked appointments |
| get_orgA | Get details for an organization |
| update_orgC | Update an organization |
| update_favorite_carriersC | Update the list of favorite carriers for an organization |
| get_audit_logB | Get the audit log for an object (warehouse, dock, appointment, etc.) |
| list_companiesB | List carrier companies with optional filters and pagination |
| get_companyA | Get details for a specific carrier company |
| update_companyC | Update a carrier company |
| create_companyC | Create a new carrier company |
| get_settings_metadataB | Get all settings metadata for an entity type |
| get_setting_metadataA | Get a specific setting metadata entry by entity type and setting key |
| validate_settings_metadataC | Validate settings for an entity type |
| get_appointment_volume_by_dateC | Appointment volume by date |
| get_appointment_volume_by_carrierC | Appointment volume by carrier |
| get_appointment_volume_by_load_typeB | Appointment volume by load type and week day |
| get_appointment_volume_by_time_of_dayC | Appointment volume by time of day |
| get_appointment_volume_by_day_of_weekC | Appointment duration average by dock and day of week |
| get_appointment_avg_duration_by_load_typeB | Appointment duration average by load type |
| get_appointment_avg_duration_by_statusC | Appointment duration average by status |
| get_appointment_avg_duration_by_dock_and_statusC | Appointment duration average by dock and status |
| get_appointment_count_by_status_for_carrierB | Appointment count by status for current carrier |
| get_carrier_status_percentagesB | Retrieve carrier insights data with each status percentage |
| get_appointment_status_timesC | The average time spent in each appointment status |
| get_first_available_appointmentA | Finds the next available appointment time for each dock and loadtype, starting from the current date and time onward |
| get_warehouse_insightsD | Retrieve warehouse insights |
| export_yard_data_excelA | Retrieve file link with the yard data list as XLSX. The link points to an external file. |
| get_appointment_count_for_carrierC | Appointment count per carrier |
| get_appointment_count_for_docksC | Appointment count per dock |
| get_reserve_count_for_userC | Reserve count for user |
| get_dock_dwell_timeB | Retrieve dock metrics of dwell time by day of week |
| list_appointment_metricsC | Retrieve an appointment list that matches the criteria described in the request body |
| export_appointment_metrics_excelC | Retrieve file link with the appointment list as XLSX. The link points to an external file. |
| get_warehouse_capacity_usageB | Retrieve warehouse dock capacity usage information per warehouse |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| book-appointment | Guide for booking a new appointment at a warehouse. Walks through selecting a dock, load type, and available time slot. |
| daily-schedule | Fetch and summarize all appointments at a warehouse for a specific day. |
| reschedule-appointment | Guide for rescheduling an existing appointment to a new time slot. |
| carrier-performance | Analyze carrier performance metrics including appointment volumes, on-time rates, and status breakdowns. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Pollamin/opendock-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server