Use Case · customer-support

How to build an AI customer support agent.

Tier-1 support is mostly the same five questions read from three systems and answered from one wiki. The hard part isn’t the model — it’s wiring the helpdesk, the knowledge base, the bug tracker, and the human handoff channel into one coherent agent loop without writing four SDK adapters by hand.

The integration tax kills support bots.

Every support team rebuilds the same plumbing: a Zendesk client, an Intercom client, a Notion search wrapper, a Slack notifier, retries, rate-limit handling, schemas the model can call. By the time you ship, you’ve built more glue than agent. The reply quality you wanted got buried under a half-finished integration backlog.

The shape of the work is identical across teams. What changes is which helpdesk, which wiki, which paging channel. That’s exactly what a Model Context Protocol gateway is for: hand it a vendor URL or OpenAPI spec, get back schema-valid tools the agent can call.

wmcp.sh is that gateway. It turns Zendesk, Intercom, Notion, Linear, and Slack endpoints into MCP-shaped tools your Claude or GPT agent can invoke directly — so you can spend the week on policy and prompts, not SDK wrappers. wmcp.sh is not affiliated with Zendesk, Intercom, Notion, Linear, or Slack.

Four components, one loop.

1. Inbox listener. A webhook on your helpdesk fires whenever a new ticket lands. The listener forwards the ticket ID into a queue (Cloudflare Queues, SQS, or any task runner) so each ticket gets its own agent run.

2. Tool gateway (wmcp.sh). The agent calls https://wmcp.sh/api/v1/tools?url=... once at boot to materialize tool schemas for the helpdesk, the knowledge base, the bug tracker, and the handoff channel. The agent receives a unified MCP tool list.

3. Reasoning loop. The model (Claude Sonnet works well; wmcp.sh is not affiliated with Anthropic) reads the ticket, searches the KB, drafts a reply into the ticket as a private note, and decides whether to file a Linear escalation or page #support-eng in Slack.

4. Human gate. A support engineer reviews the draft, edits, and clicks send. The agent never closes a ticket on its own; it only proposes. Audit logs land in your warehouse via /managed.

What wmcp.sh provides.

CapabilityVendorHow wmcp.sh wires it
Read & update ticketsZendesk / Intercom✅ Point /integration/openapi at the vendor OpenAPI spec
Search policy / KBNotion✅ Native adapter at /integration/notion
File escalation ticketLinear✅ OpenAPI adapter, scoped to issues.create
Page on-call humanSlack✅ Native adapter at /integration/slack
Scrape a status pageAny public URL✅ Generic web extraction via /api/v1/tools?url=...
Audit log + replayYour warehouse✅ Included on /managed

Triage → draft → escalate.

Minimal Python loop using the Anthropic Messages API and wmcp.sh tool extraction. Drops your ticket ID in, gets a draft reply and an escalation decision out.

import os, httpx
from anthropic import Anthropic

client = Anthropic()
WMCP = "https://wmcp.sh"

# 1. Materialize MCP tools for each connected system
def tools_for(url):
    r = httpx.get(f"{WMCP}/api/v1/tools", params={"url": url})
    return r.json()["tools"]

tools = (
    tools_for("https://acme.zendesk.com/api/v2")
    + tools_for("https://www.notion.so/acme-handbook")
    + tools_for("https://api.linear.app")
    + tools_for("https://slack.com/api")
)

# 2. Triage a single ticket
ticket_id = os.environ["TICKET_ID"]
msg = client.messages.create(
    model="claude-sonnet-4-5",
    max_tokens=2048,
    tools=tools,
    messages=[{"role": "user",
        "content": f"Triage ticket {ticket_id}. Search the handbook before drafting. "
                   "Post the draft as a private internal note. If it's a bug, file a Linear "
                   "issue and page #support-eng in Slack. Never close the ticket."}],
)

print(msg.content)  # tool_use blocks + final text

Hand-rolled vs MCP gateway.

Hand-rolled SDK glue:

  • Four vendor SDKs, four rate limit handlers
  • Schemas drift every time a vendor adds a field
  • Each new connector is a week of integration work
  • No standard tool shape — the model has to be re-prompted per system

wmcp.sh tool gateway:

  • One /api/v1/tools call returns schema-valid MCP tools
  • Edge cached so tool listing is sub-50ms globally
  • OpenAPI specs auto-translate to MCP tool definitions
  • Add a fifth system by adding a fifth URL — no new SDK

Common questions.

What tools does an AI customer support agent actually need?
Helpdesk read/write, knowledge-base search, an escalation tracker, and a human handoff channel. Anything more is premature; anything less hallucinates.
Can the agent draft replies without sending them?
Yes — keep the agent on read + internal-note write only, and let a human click send. wmcp.sh exposes read and write as separate MCP tools so you can scope permissions tightly.
How do you stop hallucinated refund policies?
Ground every answer in a Notion search call. If no relevant page is returned, the agent should escalate, not guess.
Is this better than Zendesk Answer Bot or Intercom Fin?
Different shape — vendor bots run on their model, inside their product. A custom MCP agent runs on your model and reads across systems in one loop. Pick the one that matches your audit and policy needs.
How long does it take to wire up?
Hours, not weeks, if your helpdesk has an OpenAPI spec. The work that remains is prompt design, policy, and review UX.
Need this built for you?

We wire the helpdesk, KB, and escalation paths.

Custom adapter + hosted MCP at mcp.yourbrand.com + verified badge. Starter $499 one-time · Managed Retainer $999/mo · Enterprise $4,999+/mo.

See /managed → Submit (free)