// Seed data for Demiurge — marketing/growth lead at SMB POV
const AGENTS = [
  { id: 'a1', name: 'Atlas', role: 'OUTBOUND SDR', kind: 'sales', spec: 'Cold outreach + booking', arch: 'hermes', autonomy: 'approval', status: 'live', currentTask: 'Drafting reply to Priya Shah · Glassblock', lastAction: 'Booked meeting · Sarah Chen', icon: 'Bolt', sent24: 1284, replied: 184, booked: 22, accuracy: 94, cost: 12.40, model: 'haiku-4.5', desc: 'Cold outreach + meeting booking for enterprise mid-market.', queue: 412 },
  { id: 'a2', name: 'Vesta', role: 'LEAD QUALIFY', kind: 'inbound', spec: 'ICP scoring + routing', arch: 'hermes', autonomy: 'autonomous', status: 'live', currentTask: 'Qualifying 4 new inbound leads', lastAction: 'Qualified Aisha Park · score 91', icon: 'Sparkles', sent24: 542, replied: 401, booked: 88, accuracy: 96, cost: 6.20, model: 'sonnet-4.5', desc: 'Qualifies inbound demo requests against ICP criteria.', queue: 0 },
  { id: 'a3', name: 'Hermes', role: 'VOICE AGENT', kind: 'voice', spec: 'Outbound discovery calls', arch: 'hermes', autonomy: 'approval', status: 'live', currentTask: 'On call with +44 20 7946 0188', lastAction: 'Completed call · 3m 42s', icon: 'Phone', sent24: 218, replied: 218, booked: 41, accuracy: 91, cost: 38.10, model: 'opus-4.1', desc: 'Outbound discovery calls. 4-min avg handle time.', queue: 6 },
  { id: 'a4', name: 'Iris', role: 'SUPPORT', kind: 'support', spec: 'Tier-1 deflection', arch: 'hermes', autonomy: 'autonomous', status: 'live', currentTask: 'Replying to 3 chat threads', lastAction: 'Resolved ticket #4821 · CSAT 5', icon: 'Inbox', sent24: 894, replied: 894, booked: 0, accuracy: 88, cost: 9.80, model: 'haiku-4.5', desc: 'Tier-1 support across Intercom, email, in-app chat.', queue: 18 },
  { id: 'a5', name: 'Kairos', role: 'CONTENT', kind: 'content', spec: 'LinkedIn + Reels', arch: 'openclaw', autonomy: 'approval', status: 'paused', currentTask: 'Idle · awaiting reactivation', lastAction: 'Generated reel script · 3d ago', icon: 'Code', sent24: 0, replied: 0, booked: 0, accuracy: 0, cost: 0, model: 'sonnet-4.5', desc: 'Generates LinkedIn posts, comments, replies in your voice.', queue: 0 },
  { id: 'a6', name: 'Orion', role: 'AD OPTIMIZER', kind: 'ads', spec: 'Bid optimization · ROAS', arch: 'openclaw', autonomy: 'autonomous', status: 'live', currentTask: 'Analysing Meta bid efficiency', lastAction: 'Lowered Meta bid · CPA £84 → £61', icon: 'Megaphone', sent24: 47, replied: 0, booked: 0, accuracy: 92, cost: 22.50, model: 'sonnet-4.5', desc: 'Adjusts Meta + Google ad bids 4× daily based on ROAS.', queue: 0 },
  { id: 'a7', name: 'Nyx', role: 'DATA ENRICH', kind: 'ops', spec: 'Contact enrichment', arch: 'custom', autonomy: 'autonomous', status: 'error', currentTask: 'Retrying after rate-limit', lastAction: 'Failed enrich · clearbit 429', icon: 'Database', sent24: 12048, replied: 11932, booked: 0, accuracy: 78, cost: 4.10, model: 'haiku-4.5', desc: 'Enriches new leads with Clearbit + LinkedIn signals.', queue: 116 },
  { id: 'a8', name: 'Calliope', role: 'EMAIL NURTURE', kind: 'marketing', spec: 'Lifecycle sequences', arch: 'hermes', autonomy: 'approval', status: 'live', currentTask: 'Composing follow-up · trial D7 cohort', lastAction: 'Sent broadcast · 6,420 recipients', icon: 'Mail', sent24: 6420, replied: 312, booked: 14, accuracy: 95, cost: 18.90, model: 'haiku-4.5', desc: 'Nurture sequences for 14 segments. A/B tests subject lines.', queue: 1208 },
];

const FEED = [
  { t: '14:32:08', dot: 'ok', actor: 'Atlas', msg: 'booked meeting with', obj: 'Sarah Chen · Northwind Ltd', meta: 'replied to seq #4' },
  { t: '14:31:54', dot: 'cool', actor: 'Vesta', msg: 'qualified', obj: 'Marcus Liu · Helix Labs Ltd', meta: 'score 87 · routed to sales' },
  { t: '14:31:31', dot: 'ok', actor: 'Calliope', msg: 'sent broadcast', obj: '"May launch · founders"', meta: '6,420 recipients' },
  { t: '14:30:47', dot: 'warn', actor: 'Nyx', msg: 'rate-limited by', obj: 'clearbit.com', meta: 'retry in 4m' },
  { t: '14:30:12', dot: 'cool', actor: 'Hermes', msg: 'completed call with', obj: '+44 20 7946 0188', meta: '3m 42s · outcome: booked' },
  { t: '14:29:55', dot: 'ok', actor: 'Orion', msg: 'lowered bid on', obj: 'Meta · "Founders Q2"', meta: 'CPA £84 → £61' },
  { t: '14:29:33', dot: 'err', actor: 'Nyx', msg: 'failed enrich for', obj: 'jdoe@acme.io', meta: 'no LinkedIn match' },
  { t: '14:29:12', dot: 'ok', actor: 'Iris', msg: 'resolved ticket #4821', obj: '"refund timing"', meta: 'CSAT 5 · 18s' },
  { t: '14:28:48', dot: 'cool', actor: 'Atlas', msg: 'sent email to', obj: '128 prospects', meta: 'seq "Series A founders v3"' },
  { t: '14:28:21', dot: 'ok', actor: 'Vesta', msg: 'qualified', obj: 'Aisha Park · Lumen', meta: 'score 92 · auto-booked' },
  { t: '14:27:55', dot: 'warn', actor: 'Calliope', msg: 'spam score elevated on', obj: 'seq "Cold #2"', meta: '4.1 · review subject' },
  { t: '14:27:33', dot: 'ok', actor: 'Hermes', msg: 'dialing', obj: '+44 20 7946 0913', meta: 'attempt 2/3' },
  { t: '14:27:01', dot: 'cool', actor: 'Orion', msg: 'paused', obj: 'Google · "agents tooling"', meta: 'CPA > target by 41%' },
  { t: '14:26:38', dot: 'ok', actor: 'Calliope', msg: 'A/B promoted', obj: 'subj "your stack, 30% leaner"', meta: '+34% open vs ctrl' },
];

const FUNNEL = [
  { name: 'Visitors', val: 48210, pct: 100 },
  { name: 'Lead capture', val: 12044, pct: 25 },
  { name: 'Qualified', val: 4218, pct: 8.7 },
  { name: 'Demo booked', val: 1102, pct: 2.3 },
  { name: 'Demo attended', val: 814, pct: 1.7 },
  { name: 'Proposal', val: 322, pct: 0.67 },
  { name: 'Closed won', val: 124, pct: 0.26 },
];

const CAMPAIGNS = [
  { id: 'c1', name: 'Founders · Series A · Q2', channel: 'EMAIL', status: 'live', sent: 12048, opened: 5142, clicked: 1408, replied: 312, booked: 41, spend: 0, owner: 'Calliope' },
  { id: 'c2', name: 'Meta · "Demiurge for ops" · UK', channel: 'PAID', status: 'live', sent: 0, opened: 184320, clicked: 4108, replied: 0, booked: 188, spend: 12480, owner: 'Orion' },
  { id: 'c3', name: 'Outbound · Enterprise IT', channel: 'EMAIL', status: 'live', sent: 8404, opened: 2812, clicked: 802, replied: 142, booked: 18, spend: 0, owner: 'Atlas' },
  { id: 'c4', name: 'Webinar · "Agents in production"', channel: 'EVENT', status: 'scheduled', sent: 4200, opened: 1820, clicked: 612, replied: 0, booked: 412, spend: 800, owner: 'Calliope' },
  { id: 'c5', name: 'SMS · Trial expiring · D14', channel: 'SMS', status: 'live', sent: 1820, opened: 1610, clicked: 414, replied: 88, booked: 12, spend: 32, owner: 'Calliope' },
  { id: 'c6', name: 'Google · brand · "demiurge"', channel: 'PAID', status: 'live', sent: 0, opened: 28140, clicked: 1842, replied: 0, booked: 64, spend: 4120, owner: 'Orion' },
  { id: 'c7', name: 'LinkedIn · founder-led · May', channel: 'SOCIAL', status: 'paused', sent: 0, opened: 18420, clicked: 412, replied: 0, booked: 0, spend: 0, owner: 'Kairos' },
  { id: 'c8', name: 'Webhook · stripe.trial_will_end', channel: 'AUTO', status: 'live', sent: 814, opened: 614, clicked: 184, replied: 21, booked: 7, spend: 0, owner: 'Calliope' },
];

const WORKFLOWS = [
  { id: 'w1', name: 'Inbound demo capture', kind: 'inbound', runs: 1408, success: 96, last: '12s ago', status: 'live' },
  { id: 'w2', name: 'Enterprise outbound · Series A', kind: 'outbound', runs: 412, success: 88, last: '1m ago', status: 'live' },
  { id: 'w3', name: 'Trial → activation', kind: 'lifecycle', runs: 218, success: 92, last: '4m ago', status: 'live' },
  { id: 'w4', name: 'Stripe · failed payment recovery', kind: 'lifecycle', runs: 18, success: 78, last: '12m ago', status: 'live' },
  { id: 'w5', name: 'CSAT < 3 → escalate', kind: 'support', runs: 4, success: 100, last: '32m ago', status: 'live' },
  { id: 'w6', name: 'Stale opps · 30d follow-up', kind: 'sales', runs: 84, success: 91, last: '2h ago', status: 'paused' },
];

const FLOW_NODES = [
  { id: 'n1', x: 60, y: 80,  kind: 'TRIGGER', name: 'Form: /demo-request', icon: 'Globe', body: [['source','marketing site'],['rate','~1.2k/wk']], state: 'idle' },
  { id: 'n2', x: 340, y: 80, kind: 'ENRICH', name: 'Enrich lead · Nyx', icon: 'Database', body: [['provider','clearbit + linkedin'],['p95','1.8s']], state: 'running' },
  { id: 'n3', x: 620, y: 40, kind: 'AGENT', name: 'Qualify · Vesta', icon: 'Sparkles', body: [['model','sonnet-4.5'],['threshold','score ≥ 70']], state: 'idle' },
  { id: 'n4', x: 620, y: 220, kind: 'BRANCH', name: 'Score router', icon: 'Split', body: [['hot','≥ 85 → Atlas'],['warm','70-84 → nurture']], state: 'idle' },
  { id: 'n5', x: 900, y: 40, kind: 'ACTION', name: 'Book on calendar', icon: 'Calendar', body: [['owner','round-robin AE'],['buffer','15m']], state: 'idle' },
  { id: 'n6', x: 900, y: 220, kind: 'AGENT', name: 'Nurture · Calliope', icon: 'Mail', body: [['sequence','founders-v3'],['steps','7']], state: 'idle' },
  { id: 'n7', x: 1180, y: 130, kind: 'SINK', name: 'Sync to CRM', icon: 'Database', body: [['target','salesforce'],['p95','0.4s']], state: 'idle' },
];
const FLOW_EDGES = [
  { from: 'n1', to: 'n2' },
  { from: 'n2', to: 'n3' },
  { from: 'n2', to: 'n4' },
  { from: 'n3', to: 'n5' },
  { from: 'n4', to: 'n6' },
  { from: 'n5', to: 'n7' },
  { from: 'n6', to: 'n7' },
];

const CONTACTS = [
  { id: 'p1', name: 'Sarah Chen', co: 'Northwind Ltd', title: 'VP Growth', email: 'sarah@northwind.co', stage: 'meeting', score: 92, src: 'Atlas', lastTouch: '2m ago', avatar: 'SC', value: 84000 },
  { id: 'p2', name: 'Marcus Liu', co: 'Helix Labs Ltd', title: 'Co-founder', email: 'marcus@helix.dev', stage: 'qualified', score: 87, src: 'Vesta', lastTouch: '4m ago', avatar: 'ML', value: 48000 },
  { id: 'p3', name: 'Aisha Park', co: 'Lumen', title: 'Head of Demand', email: 'aisha@lumen.io', stage: 'meeting', score: 91, src: 'Vesta', lastTouch: '11m ago', avatar: 'AP', value: 62000 },
  { id: 'p4', name: 'Jordan Reyes', co: 'Compass Bio', title: 'COO', email: 'jordan@compass.bio', stage: 'proposal', score: 88, src: 'Hermes', lastTouch: '1h ago', avatar: 'JR', value: 124000 },
  { id: 'p5', name: 'Yuki Tanaka', co: 'Origami AI', title: 'CMO', email: 'yuki@origami.ai', stage: 'nurture', score: 64, src: 'Calliope', lastTouch: '4h ago', avatar: 'YT', value: 32000 },
  { id: 'p6', name: 'Dmitri Volkov', co: 'Forge Systems', title: 'Founder', email: 'dmitri@forge.so', stage: 'qualified', score: 79, src: 'Atlas', lastTouch: '6h ago', avatar: 'DV', value: 41000 },
  { id: 'p7', name: 'Priya Shah', co: 'Glassblock', title: 'Head of GTM', email: 'priya@glassblock.com', stage: 'proposal', score: 94, src: 'Atlas', lastTouch: '1d ago', avatar: 'PS', value: 96000 },
  { id: 'p8', name: 'Lena Ortiz', co: 'Strata', title: 'VP Eng', email: 'lena@strata.dev', stage: 'meeting', score: 81, src: 'Vesta', lastTouch: '1d ago', avatar: 'LO', value: 58000 },
  { id: 'p9', name: 'Theo Marsh', co: 'Polymer', title: 'Founder', email: 'theo@polymer.run', stage: 'nurture', score: 58, src: 'Calliope', lastTouch: '2d ago', avatar: 'TM', value: 28000 },
  { id: 'p10', name: 'Mei Lin', co: 'Quanta', title: 'Head of Ops', email: 'mei@quanta.io', stage: 'closed', score: 96, src: 'Atlas', lastTouch: '3d ago', avatar: 'ML', value: 184000 },
  { id: 'p11', name: 'Rafael Souza', co: 'Vector House', title: 'CEO', email: 'rafael@vh.co', stage: 'qualified', score: 76, src: 'Vesta', lastTouch: '3d ago', avatar: 'RS', value: 52000 },
  { id: 'p12', name: 'Hannah Cole', co: 'Anvil', title: 'Director Marketing', email: 'hannah@anvil.io', stage: 'closed', score: 89, src: 'Atlas', lastTouch: '5d ago', avatar: 'HC', value: 142000 },
];

const STAGES = [
  { id: 'nurture', name: 'Nurture', color: 'rgba(255, 255, 255, 0.06)' },
  { id: 'qualified', name: 'Qualified', color: 'rgba(75, 232, 255, 0.18)' },
  { id: 'meeting', name: 'Meeting', color: 'rgba(139, 107, 255, 0.18)' },
  { id: 'proposal', name: 'Proposal', color: 'rgba(255, 122, 217, 0.18)' },
  { id: 'closed', name: 'Closed Won', color: 'rgba(93, 255, 176, 0.18)' },
];

const INTEGRATIONS = [
  { id: 'ghl', name: 'Go High Level', kind: 'CRM · AGENCY', status: 'connected', last: '8s ago', featured: true },
  { id: 'vapi', name: 'VAPI', kind: 'VOICE AI', status: 'connected', last: '2s ago', featured: true },
  { id: 'x402', name: 'x402', kind: 'AGENT PAYMENTS · PROTOCOL', status: 'connected', last: 'live', featured: true },
  { id: 'soltrk', name: 'Solana Tracker', kind: 'CRYPTO DATA · SOLANA', status: 'connected', last: '4s ago', featured: true },
  { id: 'sf', name: 'Salesforce', kind: 'CRM', status: 'connected', last: '12s ago' },
  { id: 'hs', name: 'HubSpot', kind: 'CRM', status: 'disconnected', last: '—' },
  { id: 'gm', name: 'Gmail', kind: 'EMAIL', status: 'connected', last: '4s ago' },
  { id: 'slk', name: 'Slack', kind: 'CHAT', status: 'connected', last: '1m ago' },
  { id: 'sgrid', name: 'SendGrid', kind: 'EMAIL', status: 'connected', last: '2m ago' },
  { id: 'twl', name: 'Twilio', kind: 'SMS · VOICE', status: 'connected', last: '11s ago' },
  { id: 'meta', name: 'Meta Ads', kind: 'PAID', status: 'connected', last: '5m ago' },
  { id: 'goog', name: 'Google Ads', kind: 'PAID', status: 'connected', last: '5m ago' },
  { id: 'lnkd', name: 'LinkedIn', kind: 'SOCIAL', status: 'connected', last: '1h ago' },
  { id: 'cb', name: 'Clearbit', kind: 'ENRICH', status: 'degraded', last: '4m ago' },
  { id: 'stripe', name: 'Stripe', kind: 'PAYMENTS', status: 'connected', last: '8m ago' },
  { id: 'sgmt', name: 'Segment', kind: 'EVENTS', status: 'connected', last: '6s ago' },
  { id: 'simweb', name: 'SimilarWeb', kind: 'COMPETITIVE INTEL', status: 'connected', last: '14m ago' },
];

// Custom MCP servers — user-installed tools for agents (Model Context Protocol)
// Curated from remote-mcp.com directory · top installs across categories
const MCP_SERVERS = [
  // Internal / community first
  { id: 'mcp-int1', name: 'companies-house-uk', author: 'demiurge/labs', tools: 4, calls24h: 142, status: 'live', cat: 'Data', desc: 'UK Companies House search · directors · filings · charges', icon: 'Database', verified: false },
  { id: 'mcp-int2', name: 'browser-agent', author: 'anthropic/computer-use', tools: 6, calls24h: 218, status: 'live', cat: 'Dev', desc: 'Full browser control · click, scroll, type, screenshot', icon: 'Globe', verified: true },
  { id: 'mcp-int3', name: 'snowflake-warehouse', author: 'internal/ops', tools: 3, calls24h: 36, status: 'live', cat: 'Data', desc: 'Read-only access to internal data warehouse', icon: 'Database', verified: false },

  // CRM
  { id: 'mcp-hs', name: 'HubSpot', author: 'hubspot.com', tools: 18, calls24h: 412, status: 'live', cat: 'CRM', desc: 'Custom objects · contacts · companies · deals · workflows', icon: 'Bolt', verified: true, url: 'app.hubspot.com/mcp/v1/http' },
  { id: 'mcp-attio', name: 'Attio', author: 'attio.com', tools: 14, calls24h: 86, status: 'live', cat: 'CRM', desc: 'Modern CRM · objects, lists, notes, tasks', icon: 'People', verified: true, url: 'mcp.attio.com/mcp' },
  { id: 'mcp-close', name: 'Close CRM', author: 'close.com', tools: 11, calls24h: 0, status: 'paused', cat: 'CRM', desc: 'Inbound calling · lead management · pipelines', icon: 'Phone', verified: true, url: 'mcp.close.com/mcp' },

  // Project / Productivity
  { id: 'mcp-notion', name: 'Notion', author: 'notion.so', tools: 9, calls24h: 318, status: 'live', cat: 'Productivity', desc: 'Read/write pages, databases, comments · workspace search', icon: 'Book', verified: true, url: 'mcp.notion.com/sse' },
  { id: 'mcp-linear', name: 'Linear', author: 'linear.app', tools: 12, calls24h: 184, status: 'live', cat: 'Productivity', desc: 'Issues · cycles · projects · sub-issue automation', icon: 'Flow', verified: true, url: 'mcp.linear.app/sse' },
  { id: 'mcp-asana', name: 'Asana', author: 'asana.com', tools: 8, calls24h: 42, status: 'live', cat: 'Productivity', desc: 'Tasks · projects · portfolios · goals', icon: 'Tag', verified: true, url: 'mcp.asana.com/sse' },
  { id: 'mcp-monday', name: 'monday.com', author: 'monday.com', tools: 7, calls24h: 0, status: 'paused', cat: 'Productivity', desc: 'Boards · items · automation triggers', icon: 'Calendar', verified: true, url: 'mcp.monday.com/sse' },
  { id: 'mcp-atlas', name: 'Atlassian', author: 'atlassian.com', tools: 16, calls24h: 92, status: 'live', cat: 'Productivity', desc: 'Jira · Confluence · issues · pages · spaces', icon: 'Code', verified: true, url: 'mcp.atlassian.com/v1/sse' },

  // Dev / Software
  { id: 'mcp-gh', name: 'GitHub', author: 'github.com', tools: 24, calls24h: 412, status: 'live', cat: 'Dev', desc: 'Read repos, open issues, create PRs · review code', icon: 'Code', verified: true, url: 'api.githubcopilot.com/mcp' },
  { id: 'mcp-vercel', name: 'Vercel', author: 'vercel.com', tools: 11, calls24h: 38, status: 'live', cat: 'Dev', desc: 'Deployments · domains · env vars · log streaming', icon: 'Globe', verified: true, url: 'mcp.vercel.com' },
  { id: 'mcp-cf', name: 'Cloudflare Workers', author: 'cloudflare.com', tools: 14, calls24h: 24, status: 'live', cat: 'Dev', desc: 'Deploy + manage workers, KV, R2, D1 · bindings', icon: 'Globe', verified: true, url: 'bindings.mcp.cloudflare.com/sse' },
  { id: 'mcp-cfobs', name: 'Cloudflare Observability', author: 'cloudflare.com', tools: 6, calls24h: 142, status: 'live', cat: 'Dev', desc: 'Logs, traces, analytics · across your zones', icon: 'Chart', verified: true, url: 'observability.mcp.cloudflare.com/sse' },
  { id: 'mcp-sentry', name: 'Sentry', author: 'sentry.io', tools: 8, calls24h: 218, status: 'live', cat: 'Dev', desc: 'Issues · releases · sessions · stacktrace analysis', icon: 'Bell', verified: true, url: 'mcp.sentry.dev/sse' },
  { id: 'mcp-aws', name: 'AWS Knowledge', author: 'aws.github.io', tools: 4, calls24h: 12, status: 'live', cat: 'Dev', desc: 'AWS docs · best practices · architecture lookup', icon: 'Database', verified: true, url: 'knowledge-mcp.global.api.aws' },
  { id: 'mcp-netlify', name: 'Netlify', author: 'netlify.com', tools: 9, calls24h: 6, status: 'live', cat: 'Dev', desc: 'Sites · deploys · functions · forms', icon: 'Globe', verified: true, url: 'netlify-mcp.netlify.app/mcp' },
  { id: 'mcp-hf', name: 'Hugging Face', author: 'huggingface.co', tools: 12, calls24h: 38, status: 'live', cat: 'Dev', desc: 'Datasets · models · spaces · inference', icon: 'Sparkles', verified: true, url: 'hf.co/mcp' },
  { id: 'mcp-so', name: 'Stack Overflow', author: 'stackoverflow.com', tools: 3, calls24h: 84, status: 'live', cat: 'Dev', desc: 'Search Q&A · code snippets · trending tags', icon: 'Book', verified: true, url: 'mcp.stackoverflow.com' },
  { id: 'mcp-semgrep', name: 'Semgrep', author: 'semgrep.dev', tools: 5, calls24h: 14, status: 'live', cat: 'Dev', desc: 'Static analysis · custom rules · vuln scanning', icon: 'Code', verified: true, url: 'mcp.semgrep.ai/sse' },
  { id: 'mcp-jam', name: 'Jam', author: 'jam.dev', tools: 4, calls24h: 18, status: 'live', cat: 'Dev', desc: 'Bug reports with full reproduction · network + console', icon: 'Bell', verified: true, url: 'mcp.jam.dev/mcp' },
  { id: 'mcp-zapier', name: 'Zapier', author: 'zapier.com', tools: 28, calls24h: 184, status: 'live', cat: 'Automation', desc: '8,000+ app actions · run zaps · trigger workflows', icon: 'Bolt', verified: true, url: 'mcp.zapier.com/api/mcp/mcp' },
  { id: 'mcp-rube', name: 'Rube', author: 'composio.dev', tools: 32, calls24h: 412, status: 'live', cat: 'Automation', desc: 'Composio · 500+ integrations · OAuth managed for you', icon: 'Sparkles', verified: true, url: 'rube.app/mcp' },

  // Databases
  { id: 'mcp-supa', name: 'Supabase', author: 'supabase.com', tools: 16, calls24h: 142, status: 'live', cat: 'Database', desc: 'Postgres · auth · storage · edge functions · vector', icon: 'Database', verified: true, url: 'mcp.supabase.com/mcp' },
  { id: 'mcp-neon', name: 'Neon', author: 'neon.tech', tools: 9, calls24h: 28, status: 'live', cat: 'Database', desc: 'Serverless Postgres · branching · point-in-time restore', icon: 'Database', verified: true, url: 'mcp.neon.tech/mcp' },
  { id: 'mcp-prisma', name: 'Prisma Postgres', author: 'prisma.io', tools: 7, calls24h: 14, status: 'live', cat: 'Database', desc: 'Managed Postgres · schema · migrations · client', icon: 'Database', verified: true, url: 'mcp.prisma.io/mcp' },
  { id: 'mcp-instant', name: 'Instant', author: 'instantdb.com', tools: 6, calls24h: 0, status: 'paused', cat: 'Database', desc: 'Realtime client/server DB · graph schema', icon: 'Database', verified: true, url: 'mcp.instantdb.com/mcp' },

  // Payments
  { id: 'mcp-stripe', name: 'Stripe', author: 'stripe.com', tools: 18, calls24h: 218, status: 'live', cat: 'Payments', desc: 'Customers · subscriptions · invoices · refunds · webhooks', icon: 'Database', verified: true, url: 'mcp.stripe.com' },
  { id: 'mcp-paypal', name: 'PayPal', author: 'paypal.com', tools: 9, calls24h: 12, status: 'live', cat: 'Payments', desc: 'Orders · payouts · refunds · subscriptions', icon: 'Database', verified: true, url: 'mcp.paypal.com/sse' },
  { id: 'mcp-plaid', name: 'Plaid', author: 'plaid.com', tools: 11, calls24h: 6, status: 'live', cat: 'Payments', desc: 'Bank connections · transactions · balance · identity', icon: 'Database', verified: true, url: 'api.dashboard.plaid.com/mcp/sse' },
  { id: 'mcp-square', name: 'Square', author: 'square.com', tools: 7, calls24h: 0, status: 'paused', cat: 'Payments', desc: 'Catalog · orders · payments · loyalty', icon: 'Database', verified: true, url: 'mcp.squareup.com/sse' },
  { id: 'mcp-ramp', name: 'Ramp', author: 'ramp.com', tools: 8, calls24h: 18, status: 'live', cat: 'Payments', desc: 'Corporate cards · expenses · bill pay · accounting', icon: 'Database', verified: true, url: 'ramp-mcp-remote.ramp.com/mcp' },
  { id: 'mcp-dodo', name: 'Dodo Payments', author: 'dodopayments.com', tools: 5, calls24h: 0, status: 'paused', cat: 'Payments', desc: 'Merchant of record · global · subscriptions', icon: 'Database', verified: true, url: 'mcp.dodopayments.com/sse' },

  // Communication / Support
  { id: 'mcp-intercom', name: 'Intercom', author: 'intercom.com', tools: 12, calls24h: 84, status: 'live', cat: 'Support', desc: 'Conversations · contacts · articles · tickets', icon: 'Inbox', verified: true, url: 'mcp.intercom.com/sse' },
  { id: 'mcp-telnyx', name: 'Telnyx', author: 'telnyx.com', tools: 9, calls24h: 218, status: 'live', cat: 'Voice', desc: 'Programmable voice · SMS · phone number provisioning', icon: 'Phone', verified: true, url: 'api.telnyx.com/v2/mcp' },
  { id: 'mcp-dialer', name: 'Dialer', author: 'getdialer.app', tools: 4, calls24h: 0, status: 'paused', cat: 'Voice', desc: 'AI-powered outbound calling for agents', icon: 'Phone', verified: true, url: 'getdialer.app/sse' },
  { id: 'mcp-fire', name: 'Fireflies', author: 'fireflies.ai', tools: 7, calls24h: 12, status: 'live', cat: 'Productivity', desc: 'Meeting recorder · transcripts · summaries · search', icon: 'Mail', verified: true, url: 'api.fireflies.ai/mcp' },
  { id: 'mcp-carbon', name: 'Carbon Voice', author: 'getcarbon.app', tools: 5, calls24h: 0, status: 'paused', cat: 'Voice', desc: 'Voice messages · async voice notes · transcription', icon: 'Phone', verified: true, url: 'mcp.carbonvoice.app' },

  // Search / Research
  { id: 'mcp-exa', name: 'Exa Search', author: 'exa.ai', tools: 6, calls24h: 142, status: 'live', cat: 'Search', desc: 'Neural web search · find similar · embeddings', icon: 'Search', verified: true, url: 'mcp.exa.ai/mcp' },
  { id: 'mcp-paras', name: 'Parallel Search', author: 'parallel.ai', tools: 4, calls24h: 86, status: 'live', cat: 'Search', desc: 'AI-native web search · synth results · citations', icon: 'Search', verified: true, url: 'search-mcp.parallel.ai/mcp' },
  { id: 'mcp-parat', name: 'Parallel Task', author: 'parallel.ai', tools: 3, calls24h: 28, status: 'live', cat: 'Search', desc: 'Multi-step web research agent · structured output', icon: 'Sparkles', verified: true, url: 'task-mcp.parallel.ai/mcp' },
  { id: 'mcp-deepwiki', name: 'DeepWiki', author: 'devin.ai', tools: 3, calls24h: 14, status: 'live', cat: 'Search', desc: 'AI-generated wiki for any GitHub repo', icon: 'Book', verified: true, url: 'mcp.deepwiki.com/sse' },
  { id: 'mcp-octagon', name: 'Octagon', author: 'octagonai.co', tools: 7, calls24h: 22, status: 'live', cat: 'Search', desc: 'Private market intelligence · companies · deals · KPIs', icon: 'Chart', verified: true, url: 'mcp.octagonagents.com/mcp' },

  // Content / Design
  { id: 'mcp-canva', name: 'Canva', author: 'canva.com', tools: 8, calls24h: 18, status: 'live', cat: 'Design', desc: 'Generate · edit · export designs · brand kits', icon: 'Pen', verified: true, url: 'mcp.canva.com/mcp' },
  { id: 'mcp-invideo', name: 'Invidio', author: 'invideo.io', tools: 6, calls24h: 4, status: 'live', cat: 'Design', desc: 'AI video generation · scripts · scenes · voiceover', icon: 'Play', verified: true, url: 'mcp.invideo.io/sse' },
  { id: 'mcp-webflow', name: 'Webflow', author: 'webflow.com', tools: 11, calls24h: 0, status: 'paused', cat: 'CMS', desc: 'Sites · CMS · forms · publish API', icon: 'Globe', verified: true, url: 'mcp.webflow.com/sse' },
  { id: 'mcp-wix', name: 'Wix', author: 'wix.com', tools: 9, calls24h: 0, status: 'paused', cat: 'CMS', desc: 'Site builder · stores · bookings', icon: 'Globe', verified: true, url: 'mcp.wix.com/sse' },
  { id: 'mcp-cloudinary', name: 'Cloudinary', author: 'cloudinary.com', tools: 7, calls24h: 84, status: 'live', cat: 'Design', desc: 'Image + video CDN · transformations · AI background', icon: 'Sparkles', verified: true, url: 'asset-management.mcp.cloudinary.com/sse' },

  // Web data
  { id: 'mcp-apify', name: 'Apify', author: 'apify.com', tools: 14, calls24h: 142, status: 'live', cat: 'Data', desc: 'Web scrapers · 4,000+ actors · structured extraction', icon: 'Database', verified: true, url: 'mcp.apify.com' },
  { id: 'mcp-simple', name: 'Simplescraper', author: 'simplescraper.io', tools: 4, calls24h: 12, status: 'live', cat: 'Data', desc: 'No-code web scraping · proxy rotation · structured data', icon: 'Database', verified: true, url: 'mcp.simplescraper.io/mcp' },
  { id: 'mcp-bq', name: 'Google BigQuery', author: 'cloud.google.com', tools: 8, calls24h: 38, status: 'live', cat: 'Data', desc: 'Query massive datasets · SQL · ML queries', icon: 'Database', verified: true, url: 'bigquery.googleapis.com/mcp' },
  { id: 'mcp-thoughtspot', name: 'ThoughtSpot', author: 'thoughtspot.com', tools: 6, calls24h: 4, status: 'live', cat: 'Data', desc: 'Natural-language BI · ask in plain English', icon: 'Chart', verified: true, url: 'agent.thoughtspot.app/mcp' },
  { id: 'mcp-morningstar', name: 'MorningStar', author: 'morningstar.com', tools: 5, calls24h: 0, status: 'paused', cat: 'Data', desc: 'Financial data · ratings · funds · markets', icon: 'Chart', verified: true, url: 'mcp.morningstar.com/mcp' },

  // Storage / Files
  { id: 'mcp-box', name: 'Box', author: 'box.com', tools: 11, calls24h: 14, status: 'live', cat: 'Storage', desc: 'Files · folders · shared links · metadata', icon: 'Book', verified: true, url: 'mcp.box.com' },
  { id: 'mcp-egnyte', name: 'Egnyte', author: 'egnyte.com', tools: 8, calls24h: 0, status: 'paused', cat: 'Storage', desc: 'Enterprise content · governance · search', icon: 'Book', verified: true, url: 'mcp-server.egnyte.com/sse' },

  // Auth / Identity
  { id: 'mcp-stytch', name: 'Stytch', author: 'stytch.com', tools: 9, calls24h: 28, status: 'live', cat: 'Auth', desc: 'Auth · sessions · M2M · passwordless', icon: 'Settings', verified: true, url: 'mcp.stytch.dev/mcp' },

  // Marketing / Ads
  { id: 'mcp-meta', name: 'Meta Ads', author: 'pipeboard.co', tools: 11, calls24h: 184, status: 'live', cat: 'Marketing', desc: 'Campaigns · ad sets · creative · insights for Meta', icon: 'Megaphone', verified: true, url: 'mcp.pipeboard.co/meta-ads-mcp' },
  { id: 'mcp-vibe', name: 'VibeMarketing', author: 'vibemarketing.ninja', tools: 6, calls24h: 12, status: 'live', cat: 'Marketing', desc: 'Social-first content scoring + viral signal detection', icon: 'Sparkles', verified: true, url: 'vibemarketing.ninja/mcp' },
  { id: 'mcp-tweet', name: 'TweetSave', author: 'tweetsave.org', tools: 3, calls24h: 6, status: 'live', cat: 'Marketing', desc: 'Save + search tweets · thread reader', icon: 'Megaphone', verified: true, url: 'mcp.tweetsave.org/sse' },

  // Crypto / Web3
  { id: 'mcp-hive', name: 'Hive Intelligence', author: 'hiveintelligence.xyz', tools: 8, calls24h: 42, status: 'live', cat: 'Crypto', desc: 'On-chain analytics across 60+ chains', icon: 'Database', verified: true, url: 'hiveintelligence.xyz/mcp' },
  { id: 'mcp-oz', name: 'OpenZeppelin', author: 'openzeppelin.com', tools: 12, calls24h: 4, status: 'live', cat: 'Crypto', desc: 'Solidity + Cairo + Stellar smart contract scaffolds', icon: 'Code', verified: true, url: 'mcp.openzeppelin.com/contracts/solidity/mcp' },
];

Object.assign(window, { MCP_SERVERS });

const TEAM = [
  { name: 'Reza Khalili', role: 'Owner · Growth', email: 'reza@ext.demiurge', avatar: 'RK', last: 'now' },
  { name: 'Mei-Lin Wong', role: 'Admin · Eng', email: 'meilin@ext.demiurge', avatar: 'MW', last: '12m ago' },
  { name: 'Jordan Park', role: 'Editor · Sales', email: 'jordan@ext.demiurge', avatar: 'JP', last: '1h ago' },
  { name: 'Sam Cole', role: 'Editor · Marketing', email: 'sam@ext.demiurge', avatar: 'SC', last: '3h ago' },
  { name: 'Avery Booth', role: 'Viewer · Finance', email: 'avery@ext.demiurge', avatar: 'AB', last: '2d ago' },
];

Object.assign(window, { AGENTS, FEED, FUNNEL, CAMPAIGNS, WORKFLOWS, FLOW_NODES, FLOW_EDGES, CONTACTS, STAGES, INTEGRATIONS, TEAM });
