Skip to content

About

MCP server connecting AI customer support agents to Zendesk, Stripe, and Shopify. Built as a technical POC for Decagon.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

4 Commits

Folders and files

Repository files navigation

decagon-cx-mcp-server

MCP server that connects AI customer support agents to Zendesk, Stripe, and Shopify.

Your agents already think. This gives them hands.

Built as a technical proof-of-concept showing how Model Context Protocol (MCP) can standardize the integration layer between AI agents and customer service backends. Instead of building custom API wrappers for each new enterprise customer, an MCP server provides a unified tool interface that any agent can discover and call.

Architecture

graph TD
    A[Customer Query] -->|natural language| B[CX Agent<br>Claude + LangChain]
    B -->|MCP tool calls| C[MCP Server]
    C -->|route| D[Zendesk Tools]
    C -->|route| E[Stripe Tools]
    C -->|route| F[Shopify Tools]
    D -->|API call| G[Mock Zendesk API]
    E -->|API call| H[Mock Stripe API]
    F -->|API call| I[Mock Shopify API]
    C -.->|middleware| J[Auth / Rate Limiting]
    C -.->|metrics| K[Observability]
    C -.->|tenant context| L[Multi-tenant Isolation]
    style A fill:#90EE90
    style B fill:#90EE90
    style C fill:#90EE90
    style D fill:#90EE90
    style E fill:#90EE90
    style F fill:#90EE90
    style G fill:#90EE90
    style H fill:#90EE90
    style I fill:#90EE90
    style J fill:#FFD700
    style K fill:#FFD700
    style L fill:#FFD700
Loading

Green = live, working code. Yellow = blueprint (architecture documented, stubs present).

Demo

Demo

Watch full quality video

What's Live vs Blueprint

Component Status Notes
MCP Server Live Full MCP protocol, tool discovery + execution
Zendesk Tools (4) Live get_ticket, search_tickets, update_status, add_comment
Stripe Tools (5) Live get_payment, search_payments, process_refund, get/cancel_subscription
Shopify Tools (3) Live get_order, search_orders, get_tracking
CX Agent Live Claude + LangChain with tool chaining, multi-step resolution
Mock Backends Live Realistic API responses matching real schemas
Tests (39) Live Unit + integration, all passing
Auth/OAuth Blueprint Middleware stubs, architecture documented
Rate Limiting Blueprint Production rate limiting noted
Observability Blueprint Datadog/Prometheus integration points
Multi-tenant Blueprint Tenant isolation architecture

Quick Start

# Clone
git clone https://github.com/hashwnath/decagon-cx-mcp-server.git
cd decagon-cx-mcp-server

# Install
pip install -r requirements.txt

# Run tests (no API key needed)
python -m pytest tests/ -v

# Run the MCP server
python -m src.server

# Check server health
curl http://localhost:8080/health

# Run the agent demo (requires Anthropic API key)
export ANTHROPIC_API_KEY=your-key
python examples/run_agent.py

# Run all demo scenarios
python examples/sample_conversations.py

Tools Available (12 total)

Zendesk (4 tools)

  • zendesk_get_ticket - look up a ticket by ID
  • zendesk_search_tickets - search by keyword or requester email
  • zendesk_update_ticket_status - update ticket status (open, pending, solved, closed)
  • zendesk_add_comment - add public or internal comments

Stripe (5 tools)

  • stripe_get_payment - look up payment by ID
  • stripe_search_payments - find payments by customer email
  • stripe_process_refund - process full or partial refunds with eligibility check
  • stripe_get_subscription - look up subscription details
  • stripe_cancel_subscription - cancel at period end or immediately

Shopify (3 tools)

  • shopify_get_order - look up order by ID
  • shopify_search_orders - find orders by customer email
  • shopify_get_tracking - get shipping tracking info with carrier and ETA

Demo Scenarios

The agent handles multi-step resolutions end-to-end:

Order Tracking: "Where's my order SH-1234?"

  • Agent calls shopify_get_order then shopify_get_tracking, returns tracking status and ETA

Refund Processing: "My headphones arrived damaged, I want a refund"

  • Agent calls shopify_get_order to verify, stripe_search_payments to find payment, stripe_process_refund to execute, zendesk_update_ticket_status to close ticket

Subscription Cancellation: "I was charged twice, cancel my subscription"

  • Agent calls stripe_search_payments to find charges, stripe_get_subscription for plan details, stripe_process_refund for duplicate, stripe_cancel_subscription

Why MCP for CX

Every enterprise AI CX deployment faces the same bottleneck: connecting agents to customer backends. Each new customer means new API integrations. MCP standardizes this:

  • Tool discovery: agents learn available actions at runtime
  • Consistent interface: same protocol regardless of backend service
  • Composable: add new backends without changing agent code
  • Observable: centralized logging of all tool calls

Bilt deployed Decagon's AI agents and automated 70% of 60K monthly tickets. Ada doubled resolution rates by enabling agents to execute actions, not just answer questions. The pattern is clear: resolution requires tool access. MCP provides the standard.

About

Built by Hashwanth Sutharapu as a technical POC for Decagon.

Relevant experience:

  • Production MCP servers handling 1K+ requests/min at MAQ Software (Microsoft Partner)
  • Multi-agent orchestration: ThinkNet 8-agent system on AWS Bedrock
  • Enterprise agent deployment for MCAPS teams at Microsoft
  • Microsoft Agent Framework contributor (8K+ stars)
  • MS CS from ASU (3.93 GPA)

github.com/hashwnath | linkedin.com/in/sutharapuhashwanth | hsuthara@asu.edu

About

MCP server connecting AI customer support agents to Zendesk, Stripe, and Shopify. Built as a technical POC for Decagon.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages