Appearance
Tools
Every action our AI employees take goes through a tool server. Each server is a Python process that exposes typed tools with explicit parameters and structured responses.
Architecture
mcp-servers/
├── shared/ JWT caching and API helpers (used by all Varia servers)
├── varia-content/ Services + content CRUD, deploy, tags
├── varia-pages/ Intelligence landing pages
├── varia-platform/ Orgs, brands, config, users
├── varia-intelligence/ Leads from AI experiences
├── varia-outreach/ Campaigns, lists, leads, domains, inbox, LinkedIn, pipeline
├── linkedin/ Sales Navigator automation (Playwright)
├── snovio/ Email finding (Snov.io API)
├── lead-pipeline/ LinkedIn profile parsing + scoring (GPT-4.1-mini)
├── google-workspace/ Gmail API (OAuth 2.0)
└── slack/ Slack workspace messaging and managementServer Summary
| Server | Tools | Auth | Purpose |
|---|---|---|---|
| varia-content | 17 | JWT | Services and content CRUD, deployment, tagging |
| varia-pages | 11 | JWT | Intelligence landing pages: create, configure, leads |
| varia-platform | 12 | JWT + MongoDB + Cloudflare | Orgs, brands, users, subdomains |
| varia-intelligence | 8 | JWT | Leads from AI experiences |
| varia-outreach | 39 | None | Full outreach pipeline |
| 13 | Browser session | Sales Navigator automation | |
| snovio | 6 | OAuth | Email finding from LinkedIn + name/domain |
| lead-pipeline | 1 | OpenAI API | Profile parsing and scoring |
| google-workspace | 13 | Google OAuth 2.0 | Gmail: search, read, send, reply, labels, attachments |
| slack | 16 | Bot Token | Slack workspace messaging and management |
Authentication
Varia servers (content, pages, platform, intelligence) share a JWT caching layer via shared/auth.py. Login once, token is reused across servers (3500s TTL).
varia-outreach is unauthenticated. All endpoints are open.
linkedin uses a persistent Chrome profile. You log in manually once and the session persists.
snovio uses OAuth with client credentials. Token auto-refreshes on expiry.
google-workspace uses Google OAuth 2.0 with per-account token caching. Supports multiple Gmail accounts.
slack uses a Bot Token for Slack Web API access.
Configuration
All servers are configured in .mcp.json at the repo root. They start automatically when Claude Code launches.