loading…
Search for a command to run...
loading…
Demonstrates Inform Growth's Camber Core platform using a fictional B2B SaaS company, enabling AI clients to explore CRM, marketing, billing, support, and opera
Demonstrates Inform Growth's Camber Core platform using a fictional B2B SaaS company, enabling AI clients to explore CRM, marketing, billing, support, and operations data through MCP tools.
A standalone MCP server that demonstrates Inform Growth's Camber Core platform using a fictional B2B SaaS company (Beacon Software, ~$15M ARR, ~80 employees). All data is synthetic; all tool shapes are real.
Connect any MCP-capable AI client. The server exposes ~20 tools across five
categories — crm_*, marketing_*, billing_*, support_*, ops_* — plus
three orchestration tools for a guided 5-step walkthrough.
A prospect plays the CEO of Beacon Software, runs a few prompts against their agent, and experiences the cross-system rollups, anomaly detection, and workflow capture they'd get from a real Camber Core deployment.
After the server is live (e.g. on Railway), point your client at the URL.
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"inform-demo": {
"url": "https://<your-railway-host>/mcp"
}
}
}
claude mcp add inform-demo --transport http https://<your-railway-host>/mcp
Connect to the Inform Growth demo MCP at
<URL>. Read thewelcome://demoresource, then callstart_demo()and walk me through the 5 steps as the CEO of Beacon Software.
pip install ".[dev]"
# stdio (Claude Code / Inspector)
python server.py
# HTTP
MCP_TRANSPORT=streamable-http python server.py
# server on http://localhost:8000/mcp
python scripts/generate_beacon.py
# writes data/beacon.json (deterministic — seed=42)
Seeded patterns the walkthrough depends on:
Every meaningful event emits a JSON line to stdout. Railway aggregates these in the service log view. To get a funnel out of them:
railway logs --service demo-mcp \
| grep '"event":' \
| jq -s 'group_by(.event) | map({event: .[0].event, count: length})'
Event types:
| event | when |
|---|---|
server_started |
server boot |
session_started |
a prospect calls start_demo |
step_reached |
next_step advances the walkthrough (step in payload) |
workflow_saved |
a prospect calls save_workflow |
session_ended |
walkthrough completes (step 5) |
Inform-Growth/inform-demo-mcp, main branch)MCP_TRANSPORT (default streamable-http)MCP_SERVER_NAME (default inform-demo-mcp)PORT (Railway injects this; the server binds to it automatically)ALLOWED_HOSTS — comma-separated hostnames that pass DNS-rebinding protection. Supports host:* for any port. Default: unset, which disables the check (appropriate for a public demo). Set to the Railway hostname (e.g. inform-demo-mcp.up.railway.app) to lock it down.After deploy, the URL is https://<service>.up.railway.app/mcp.
.
├── README.md # this file
├── Dockerfile # Railway image
├── pyproject.toml # mcp[cli] + uvicorn; faker only in dev
├── server.py # FastMCP entry point
├── beacon/
│ ├── __init__.py
│ ├── data.py # beacon.json loader + helpers
│ ├── crm.py # 5 tools (deals, companies, contacts, activities)
│ ├── marketing.py # 3 tools (campaigns, attribution)
│ ├── billing.py # 3 tools (subscriptions, MRR metrics)
│ ├── support.py # 3 tools (tickets, support metrics)
│ ├── ops.py # 3 tools (projects, at-risk rollup)
│ └── orchestration.py # start_demo, next_step, save_workflow + welcome text
├── analytics/
│ ├── __init__.py
│ └── events.py # log_event — JSON line to stdout
├── scripts/
│ └── generate_beacon.py # faker(seed=42) generator
└── data/
└── beacon.json # ~720KB committed synthetic data
inform-notes/notes/track-a2-v0-scope.md D5.start_demo returns a session_id; client passes it to next_step / save_workflow. State is in-memory and lost on reconnect (D6).Faker.seed(42) plus surgical pattern injection. Anyone who regenerates gets identical output (D2).main branch. D7's Calendly placeholder lives in beacon/orchestration.py.For the full design rationale see Inform-Growth/inform-notes/notes/track-a2-v0-scope.md.
Run in your terminal:
claude mcp add inform-growth-demo-mcp -- npx Security
Low riskAutomated heuristic from public metadata — not a security guarantee.