Executive Summary
Consultants at a technology services firm were losing 20–30 minutes per day to routine portal tasks: logging time, looking up case history before calls, checking their active workload, and copying context between internal systems and their AI chat tools. The portal had no usable API, so every interaction meant opening a browser and clicking through multiple screens.
We built a Model Context Protocol (MCP) server that wraps the portal’s full functionality and exposes it as structured AI tools. AI assistants can now perform those same operations entirely within the conversation, without the user ever touching the browser. The server supports both individual local deployments and a shared network endpoint for team-wide rollout.
The Challenge
Daily portal overhead was death by a thousand cuts:
- Repetitive Data Entry: Logging a single time entry required navigating to the correct screen, searching for the right reference code, filling in multiple fields, and submitting — roughly 90 seconds per entry, repeated 5–10 times a day.
- Context Switching: Before every client interaction, consultants had to open the portal, locate the relevant case, scroll through its history, and mentally reconstruct the current state — all while already in a meeting or chat window.
- No Integration Path: The portal used a legacy rendering approach that made direct programmatic integration impossible without browser-level automation.
- Fragmented Tooling: Consultants were already using AI assistants for drafting and summarising, but had to manually copy-paste data in and out of every conversation.
The Solution
We built a non-invasive MCP server that sits alongside the existing portal and drives it via browser automation, exposing a clean tool interface to any MCP-compatible AI assistant.
Key Architectural Components
-
Persistent Browser Session: A single browser context is reused across all tool calls. After a one-time identity provider login — persisted to a local profile directory — no re-authentication is needed for subsequent operations.
-
Natural Language Resolution: Activity descriptions in plain English are resolved to internal reference codes via a two-layer system: a seeded set of known mappings and a learned alias store that grows automatically with each successful operation, reducing lookup friction over time.
-
Resilient UI Automation: All browser interactions poll for UI state rather than using fixed waits, making tool calls as fast as the portal allows. A per-call soft timeout returns a human-readable retry suggestion before the AI client’s hard deadline is reached.
-
Dual Deployment Mode: The server runs as a local process for individual use or as a shared network endpoint for team deployment. Each request carries an API key and user identity header, so a single instance can serve multiple consultants concurrently with isolated sessions.
-
Safe Read/Write Separation: Read-only operations (retrieving cases, workloads, planned schedules, historical data) are kept clearly separate from write operations (logging time, editing resolutions, drafting comments). Write tools require explicit parameters to prevent accidental mutations.
The Outcomes
- ~70% Faster Routine Data Entry: A single time entry dropped from ~90 seconds of manual portal navigation to ~25 seconds of a natural-language instruction — saving 5–10 minutes per consultant per day.
- Instant Case Context in Conversation: Retrieving full case context — history, notes, time breakdown, linked documents — dropped from 2–4 minutes of browser navigation to under 15 seconds, surfaced directly in the chat window.
- Workload-Aware AI: Assistants can answer questions about open cases, upcoming deadlines, and planned capacity without any manual portal interaction, enabling richer daily planning and standup summaries.
- Zero System Changes Required: The integration is entirely adjacent — no portal modifications, no API access requests, no vendor involvement. It works with the existing system as-is.
- Scales Across the Team: A single shared server deployment serves all consultants, with each user’s session isolated by identity — no per-user infrastructure needed beyond an initial login.
Technology Stack
- Server: Server-side JavaScript runtime, statically typed
- Browser Automation: Headless browser automation framework with persistent profile support
- AI Integration: Model Context Protocol (MCP) — local process transport and stateless HTTP transport
- Authentication: Enterprise SSO with persistent session storage; remote login helper for headless server deployments
- Testing: Unit tests covering pure logic; integration tests running read-only against the live portal
- Deployment: Containerised (Linux) or native service (Windows), configurable port, LAN-accessible