opendock-mcp
by Pollamin
README.md
# Opendock MCP Server
[](https://www.npmjs.com/package/opendock-mcp)
An [MCP](https://modelcontextprotocol.io/) server that connects AI assistants (Claude, etc.) to the legendary [Opendock](https://www.opendock.com/) [Neutron](https://neutron.opendock.com/docs) API.
## Install
No clone or build needed — just use `npx`:
```bash
npx -y opendock-mcp
```
Or install globally:
```bash
npm install -g opendock-mcp
```
## Tools
**69 tools** across 11 categories:
| Category | Tools |
|----------|-------|
| **General** | `get_version`, `get_profile` |
| **Warehouses** | `list_warehouses`, `get_warehouse`, `get_warehouse_hours`, `create_warehouse`, `update_warehouse`, `delete_warehouse` |
| **Docks** | `list_docks`, `get_dock`, `create_dock`, `update_dock`, `delete_dock`, `sort_docks`, `get_dock_availability` |
| **Load Types** | `list_load_types`, `get_load_type`, `get_load_type_availability`, `create_load_type`, `update_load_type`, `delete_load_type` |
| **Appointments** | `list_appointments`, `search_appointments`, `get_appointment`, `create_appointment`, `update_appointment`, `delete_appointment`, `get_public_appointment`, `undo_appointment_status`, `create_recurring_appointments`, `delete_recurring_appointments`, `add_appointment_tag`, `remove_appointment_tag` |
| **Carriers** | `list_carriers`, `get_carrier`, `create_carrier`, `update_carrier`, `get_booked_carriers` |
| **Companies** | `list_companies`, `get_company`, `create_company` |
| **Orgs** | `get_org`, `update_org`, `update_favorite_carriers` |
| **Audit Log** | `get_audit_log` |
| **Settings Metadata** | `get_settings_metadata`, `get_setting_metadata`, `validate_settings_metadata` |
| **Metrics** | `get_appointment_volume_by_date`, `get_appointment_volume_by_carrier`, `get_appointment_volume_by_load_type`, `get_appointment_volume_by_time_of_day`, `get_appointment_volume_by_day_of_week`, `get_appointment_avg_duration_by_load_type`, `get_appointment_avg_duration_by_status`, `get_appointment_avg_duration_by_dock_and_status`, `get_appointment_count_for_carrier`, `get_appointment_count_by_status_for_carrier`, `get_appointment_count_for_docks`, `get_reserve_count_for_user`, `get_dock_dwell_time`, `get_carrier_status_percentages`, `list_appointment_metrics`, `export_appointment_metrics_excel`, `get_appointment_status_times`, `get_first_available_appointment`, `get_warehouse_insights`, `get_warehouse_capacity_usage`, `export_yard_data_excel` |
## Prerequisites
- Node.js 18+
- An Opendock account with API access
## Authentication
The server supports two authentication methods:
**Option 1: Username/password** (recommended) — the server handles login and token refresh automatically.
```
OPENDOCK_USERNAME=user@example.com
OPENDOCK_PASSWORD=your-password
```
**Option 2: Pre-existing JWT token**
```
OPENDOCK_TOKEN=your-jwt-token
```
Optionally set the API URL:
```
OPENDOCK_API_URL=https://neutron.opendock.com # production (default)
```
```
OPENDOCK_API_URL=https://neutron.staging.opendock.com # staging
```
## Usage with Claude Desktop
Add to your `claude_desktop_config.json`:
```json
{
"mcpServers": {
"opendock": {
"command": "npx",
"args": ["-y", "opendock-mcp"],
"env": {
"OPENDOCK_USERNAME": "user@example.com",
"OPENDOCK_PASSWORD": "your-password"
}
}
}
}
```
## Usage with Claude Code
```bash
claude mcp add opendock -- npx -y opendock-mcp
```
Set the required environment variables before launching Claude Code, or pass them in the MCP config.
## Testing
Use the [MCP Inspector](https://github.com/modelcontextprotocol/inspector) to test interactively:
```bash
OPENDOCK_USERNAME=user@example.com OPENDOCK_PASSWORD=your-password \
npx @modelcontextprotocol/inspector npx -y opendock-mcp
```
## Development
```bash
git clone https://github.com/Pollamin/opendock-mcp.git
cd opendock-mcp
npm install
npm run build
```
## License
MIT
TDQS
C2.7/5.0
Scored across 71 tools
Disambiguation4/5
Most tools have clearly distinct names and descriptions, but the numerous similar analytic tools (e.g., get_appointment_volume_by_*) may cause confusion for an agent selecting the exact metric needed.
Naming Consistency4/5
The naming follows a consistent verb_noun pattern with snake_case, but there are minor deviations like find_and_book_appointment and undo_appointment_status.
Tool Count2/5
With 71 tools, the count is excessive for the domain of dock appointment management. Many tools are analytical metrics that could be consolidated, and the server includes trivial utilities like get_version.
Completeness3/5
Core CRUD is covered for most entities, but notable gaps exist: no delete_carrier, delete_company, or tools for managing organizations beyond update_org.
Maintenance
ActivityInactive
ResponsivenessNo issues