Skip to main content
Glama
maheshsane

CSM Intelligence MCP Server

by maheshsane
README.md
# CSM Intelligence MCP Server

A Model Context Protocol (MCP) server that exposes simulated Salesforce CRM data as tools callable by Claude Desktop. Built to demonstrate the same architecture used in production at CData Software — where Claude (MCP client) + CData ConnectAI (MCP server) + live Salesforce data drove weekly CSM account prioritization.

## Architecture

```
Claude Desktop (MCP Client)
        │  MCP Protocol over stdio
        ▼
csm-mcp-server/server.py  ←── This repo
        │  Tool calls
        ▼
data/salesforce.json  (Accounts, Opportunities, Cases, Gong Notes)
        │
        ▼
Claude reasons over returned data
        │
        ▼
Prioritized CSM Weekly Worklist
```

## Setup

### 1. Install dependencies
```bash
cd csm-mcp-server
python3 -m pip install -r requirements.txt
```

### 2. Configure Claude Desktop
Open your Claude Desktop config file:
```bash
open ~/Library/Application\ Support/Claude/claude_desktop_config.json
```

Add the server config (merge with any existing config):
```json
{
  "mcpServers": {
    "csm-intelligence": {
      "command": "python3",
      "args": ["/Users/mahesh/csm-mcp-server/server.py"],
      "env": {}
    }
  }
}
```

### 3. Restart Claude Desktop
Quit and reopen Claude Desktop. You should see a 🔌 icon or tool count increase in the chat interface.

---

## MCP Tools Exposed

| Tool | Description |
|---|---|
| `get_accounts` | Full account portfolio with ARR, health score, CSM, renewal date |
| `get_opportunities` | Renewals and expansions with stage, probability, close date |
| `get_cases` | Open support cases by account and severity |
| `get_gong_notes` | Call summaries, sentiment, and risk flags from Gong |
| `get_at_risk_accounts` | Pre-filtered risk signals across all accounts |

---

## Demo Prompts

Use these in Claude Desktop after connecting the server:

**Weekly prioritization:**
> "Pull all at-risk accounts and give me a prioritized CSM action list for this week. Include ARR at risk, renewal dates, and top 2 actions per account."

**Specific account deep-dive:**
> "Give me a full picture of Stryker Corporation — open cases, recent Gong call sentiment, renewal status, and what our CSM should do this week."

**Revenue at risk summary:**
> "Which accounts renewing in the next 60 days have health scores below 60? Rank by ARR and tell me what's driving the risk for each."

**Churn signal scan:**
> "Scan all Gong notes for negative sentiment flags and cross-reference with open support cases. Which accounts have both? What's the combined ARR at risk?"

**CSM workload view:**
> "Show me all accounts owned by Mathis Corn. What's his highest priority this week and why?"

---

## The Production Story

At CData Software, this exact architecture ran in production:
- **Claude Desktop** as the MCP client — CSMs used natural language prompts
- **CData ConnectAI** as the MCP server — connected to live Salesforce (with Gong data ingested) and Datadog
- **Weekly output**: prioritized account list with risk flags, driving CSM weekly planning
- **Outcome**: GRR improved from 74% to 83% (~$2M ARR protected)

This repo demonstrates the same pattern with simulated data, making the architecture portable and demonstrable without proprietary dependencies.