APM Terminal Operations Intelligence
Provides natural language access to terminal operations data including vessel operations, yard inventory, gate activity, equipment performance, and delays. Enables executive queries for benchmarking, root cause analysis, and throughput patterns with interactive visualization and PDF reporting capabilities.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@APM Terminal Operations Intelligenceshow me all vessel visits scheduled for today"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
APMT AI Operations Assistant
AI-powered terminal intelligence platform for APM Terminals. Ask questions about vessel operations, yard inventory, gate activity, and equipment performance using natural language. Powered by Claude (Anthropic).
Features
AI Chat
Natural language queries against live terminal database
31 specialized database tools (vessels, yard, gate, equipment, delays)
Smart follow-up suggestions after each response
Natural language date handling ("last week", "this month", "Q1")
Multi-step analysis for root cause questions
Conversation history (SQLite)
Visualization
Interactive charts (ApexCharts) — bar, line, pie, doughnut
Paginated tables and charts (10 items per page)
Terminal Overview — full dashboard in one query
Weekly comparison mode (moves, productivity, delays)
Reports
Expand to fullscreen modal
Export to PDF with charts (html2canvas + jsPDF)
Email report delivery (SMTP)
Response feedback (thumbs up/down)
Executive Queries (HQ)
CMPH vs target benchmarking
Best/worst vessel ranking
Delay root cause analysis
Delay breakdown by category
Gate throughput patterns
Berth utilization trends
Dwell time analysis
UX
KPI summary cards (auto-refresh)
Voice input with terminal vocabulary correction
Onboarding tour (driver.js)
Keyboard shortcuts (Ctrl+K, Ctrl+E, Ctrl+N)
Sound notification on response
Two-layer caching (query + response)
Admin health dashboard (/admin)
Maersk Headline font
Quick Start
Prerequisites
Node.js 20+
MySQL 8.0
Anthropic API key
Setup
# Install dependencies
npm install
# Copy and configure environment
cp .env.example .env
# Edit .env with your MySQL and Anthropic credentials
# Build
npm run build
# Start
npm startThe app will import the demo database on first run and start at http://localhost:3000.
Environment Variables
# MySQL
DB_HOST=localhost
DB_PORT=3306
DB_USER=root
DB_PASSWORD=root
DB_NAME=compass_db
# AI
ANTHROPIC_API_KEY=sk-ant-...
# CLAUDE_MODEL=claude-sonnet-4-20250514
# Server
CHAT_SERVER_PORT=3000
# Cache TTLs (minutes)
CACHE_TTL_STATIC=60
CACHE_TTL_SLOW=60
CACHE_TTL_LIVE=60
CACHE_TTL_RESPONSE=60
# Email (optional)
# SMTP_HOST=smtp.gmail.com
# SMTP_PORT=587
# SMTP_USER=your-email@gmail.com
# SMTP_PASS=your-app-passwordDocker
docker compose up -dOr deploy to Coolify — the MYSQL_DATABASE env var creates the DB automatically.
Project Structure
src/
chat-server.ts # Express server, Claude API, all endpoints
chat-history.ts # SQLite conversation history (sql.js)
database.ts # MySQL connection pool
init-database.ts # Auto-import demo data on first run
queries.ts # All SQL queries (50+)
public/
index.html # UI (Tailwind CSS, Lucide icons)
script.js # Frontend logic (charts, pagination, voice, etc.)
fonts/ # Maersk Headline webfont
demo_database.sql # Slim demo dataset (1.8MB, ~30 vessel visits)API Endpoints
Endpoint | Method | Description |
| POST | Chat with Claude (tool calling) |
| GET | Live KPI summary |
| GET/POST | List/create conversations |
| GET/DELETE | Get/delete conversation |
| POST | Submit response feedback |
| POST | Email a report |
| GET | Health check + cache stats |
| DELETE | Clear all caches |
| GET | Admin dashboard |
Keyboard Shortcuts
Shortcut | Action |
| Focus chat input |
| Export last response |
| New chat |
| Close modals |
| Show shortcuts |
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
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/UNES97/mcp-db-demo'
If you have feedback or need assistance with the MCP directory API, please join our Discord server