Skip to content
PortfolioCase study

Delight.ai

From a marketing website built from scratch to an AI agent and MCP server living inside the CMS

Delight.ai website

Client

Delight.ai

Focus

web platforms · integrations

Timeline

Ongoing · Page Builder plugin: Jun – Oct 2026

Core stack

Craft CMS 5 plugin, AI agent, MCP server

Starting from a blank slate is a rare opportunity to do everything right from day one. For Delight.ai — Sendbird's AI-powered customer service platform — we received the designs and took full ownership of everything else: architecture, development and ongoing operations. Two years in, the partnership produced something rarer: Page Builder, a custom Craft CMS 5 plugin that puts a production AI agent and an MCP server inside the client's CMS, so editors and AI tools edit the same pages through the same guarded path.

What we did

Key contributions

01

Full-Cycle Website

Built the entire marketing site from scratch — frontend architecture, page development, pixel-perfect implementation of the provided designs, performance monitoring, accessibility and an SEO & AEO foundation — and we still run it as the client's dedicated web team.

02

In-CMS AI Agent

A tool-calling agent that drafts and edits pages from inside Craft CMS, with structured outputs for every content type and a model picker across Anthropic Claude, OpenAI, Google Gemini and an OpenAI-compatible gateway, with prompt caching to keep costs down.

03

Guardrails by Design

The agent writes through the same guarded path as a human editor, and every edit lands in a draft, never on the live page. Per-turn budgets, tool-run limits, a Stop button, run locks and HTML sanitisation; an admin debug page logs prompts, tool calls and tokens, and heartbeats keep long steps alive behind nginx and Cloudflare.

04

MCP Server for the CMS

61 tools over the official MCP PHP SDK, so Claude Code, Claude Desktop, claude.ai connectors and Cursor can read and edit CMS pages. A self-built OAuth 2.1 server with dynamic client registration, PKCE and rotating refresh tokens; read-only and destructive annotations on every tool; interactive MCP Apps cards in Claude Desktop.

05

RAG & Content Pipeline

A pgvector store fed by a sitemap crawler and PDF/DOCX ingest, and a multi-step article pipeline: keywords → research → brief → write → fact-check → SEO → cover → meta → crosslinks. LLM translation into Korean and Japanese with a glossary, translation memory and a per-field ledger.

06

Integrations Around the Editor

Page comments turn into AI-drafted Jira tickets; @-mentions go out by email and Slack DM; a GitHub App webhook syncs the client's AI style rules on every push.

Impact

In numbers

2.5 s

Edit-to-visible from Claude, down from 17–20 s

0.5 s

Draft preview, down from 6 s

61

MCP tools exposed to Claude, Cursor and connectors

4

Model providers behind one picker

Outcome

A marketing site built for the long run, and a CMS where humans and AI agents collaborate safely: edits made by Claude become visible in about 2.5 seconds instead of 17–20, draft previews render in half a second instead of six, and nothing an agent does can touch a live page without a human.

  • Craft CMS 5 plugin
  • AI agent
  • MCP server
  • RAG
  • SEO & AEO
Onefinestay

Up next

From a blog rebuild to a trusted engineering partner for a luxury hospitality brand

View case study

Facing something similar?

Tell us about your project — we'll show you how we'd approach it.

Get in touch