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.
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
Green = live, working code. Yellow = blueprint (architecture documented, stubs present).
| 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 |
# 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.pyzendesk_get_ticket- look up a ticket by IDzendesk_search_tickets- search by keyword or requester emailzendesk_update_ticket_status- update ticket status (open, pending, solved, closed)zendesk_add_comment- add public or internal comments
stripe_get_payment- look up payment by IDstripe_search_payments- find payments by customer emailstripe_process_refund- process full or partial refunds with eligibility checkstripe_get_subscription- look up subscription detailsstripe_cancel_subscription- cancel at period end or immediately
shopify_get_order- look up order by IDshopify_search_orders- find orders by customer emailshopify_get_tracking- get shipping tracking info with carrier and ETA
The agent handles multi-step resolutions end-to-end:
Order Tracking: "Where's my order SH-1234?"
- Agent calls
shopify_get_orderthenshopify_get_tracking, returns tracking status and ETA
Refund Processing: "My headphones arrived damaged, I want a refund"
- Agent calls
shopify_get_orderto verify,stripe_search_paymentsto find payment,stripe_process_refundto execute,zendesk_update_ticket_statusto close ticket
Subscription Cancellation: "I was charged twice, cancel my subscription"
- Agent calls
stripe_search_paymentsto find charges,stripe_get_subscriptionfor plan details,stripe_process_refundfor duplicate,stripe_cancel_subscription
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.
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