# Murphy > Murphy: open-source, agent-first customer support. Anything that can go wrong, will; Murphy answers when it does. An AI agent trained on your > content answers chat and email, follows your rules for refunds and > cancellations, and hands off to humans when it should. Built to be worked > BY agents too: Claude Code or any MCP client can read tickets, > investigate, reply to customers, and resolve, via the MCP server or plain > REST. Murphy is AGPL open source. Self-host with Docker, or use the hosted cloud. ## For agents working a support inbox MCP server (recommended): claude mcp add murphy \ -e MURPHY_URL= \ -e MURPHY_API_KEY= \ -- npx @askmurphy/mcp Tools: list_open_tickets, get_case_bundle, resolve_ticket. REST API (same key, `Authorization: Bearer `): - GET /api/v1/tickets?status=open|resolved|all&limit=25 — tickets with customer identity, channel (chat|email), latest message preview - GET /api/v1/case?id= — full transcript, visitor identity (email, location, device), feedback, pending outbound email drafts - POST /api/v1/resolve — body {id, reply?, resolutionNote?, resolve?}. reply goes to the customer (email tickets send a real email and supersede pending auto-drafts; chat tickets post to the conversation). resolutionNote is an internal audit-trail note. resolve archives. Rules for agents: never claim an action (refund, cancellation) as completed unless you actually executed it in the relevant system. Email replies are plain text, no markdown. ## Dispatch (ticket to PR) A teammate can dispatch any ticket to the workspace repo as a GitHub issue that mentions @claude (Integrations -> Dispatch: repo + fine-grained PAT with issues write). Agents watching the repo (for example the Claude GitHub app) investigate and open a PR. Customer text in the issue is quarantined as untrusted data. Every dispatch is human-approved. ## Inbound channels - Website chat widget: trained on the site at onboarding, auto-generated preset questions, human takeover from the inbox. - Email: point SendGrid Inbound Parse or Postmark at /api/intake/email?workspaceId=&token=. The agent drafts a reply that auto-sends after a grace window unless a human replies first. Follow-ups thread into the same conversation. ## Links - App and docs: https://askmurphy.io - Source: https://github.com/bluematter/echofox - MCP package: mcp/ in the repo (@askmurphy/mcp)