The AI operations stack for Rev A Manufacturing.
One monorepo. One Railway deploy. One MCP endpoint. Three systems working together:
- REVA-TURBO plugin — 48 skills that run inside Claude Code / Claude Desktop for every PM workflow at Rev A (RFQ → quote → China sourcing → compliance → quality → shipping).
- Nakatomi CRM (internal) — headless AI-native CRM, Postgres-backed, customized for Rev A's pipeline and custom fields.
- AutoMem (internal) — hybrid graph + vector memory (FalkorDB + Qdrant) for durable team-wide knowledge.
A thin MCP router is the only publicly exposed service. It speaks the Model Context Protocol to agents and proxies internally to the CRM and memory backends. One URL, one bearer token, one connector config — that's what the plugin and Claude Desktop / Cursor need to know.
flowchart LR
Plugin["REVA-TURBO plugin<br/>(~/.claude/plugins/reva-turbo)"]
Claude["Claude Desktop / Cursor"]
subgraph Railway["Single Railway project"]
Router["mcp-router<br/>(public /mcp)"]
Nakatomi["nakatomi-backend<br/>(private)"]
AutoMem["automem-backend<br/>(private)"]
PG[("Postgres")]
Falkor[("FalkorDB")]
Qdrant[("Qdrant")]
Router -- "crm_*" --> Nakatomi
Router -- "mem_*" --> AutoMem
Nakatomi --> PG
AutoMem --> Falkor
AutoMem --> Qdrant
end
Plugin --> Router
Claude --> Router
RevOps-RevAMfg/
├── plugin/ ← REVA-TURBO Claude plugin (48 skills)
│ ├── skills/ ← one directory per skill (SKILL.md + assets)
│ ├── bin/ ← telemetry, session-track, config helpers
│ ├── setup ← post-install bootstrap
│ ├── install.sh ← curl-able CLI installer (legacy path)
│ ├── build-bundle.sh ← builds dist/reva-turbo-<ver>.zip
│ ├── .claude-plugin/
│ │ └── plugin.json ← manifest + userConfig prompts + mcpServers
│ └── dist/ ← built zips (gitignored; shipped via Releases)
├── services/
│ ├── mcp-router/ ← unified MCP endpoint (FastAPI + FastMCP)
│ ├── nakatomi-backend/
│ │ └── seed/reva.py ← Rev A pipeline + custom-field overlay
│ └── automem-backend/ ← AutoMem is vendored-by-reference via Railway
├── railway/
│ ├── deploy.sh ← phased deploy (init/services/seed/finalize)
│ ├── template.yaml ← reference stack spec (not executable)
│ └── README.md ← deploy reference
└── docs/
├── ARCHITECTURE.md, ARCHITECTURE_V2.md, AUTH.md, INSTALL.md, ROADMAP.md
You need: a work email (@revamfg.com or @mrdula.solutions), the
one-time signup token from your admin, and Claude Desktop installed.
No terminal, no settings hunting.
1. Mint your API key. Click this link:
Fill in your name, your @revamfg.com or @mrdula.solutions email, a
password (12+ chars — only used if you ever need the admin to reset your
key), and paste the signup token. The page shows a key that starts with
nk_. Copy it now — it's only shown once.
2. Download the plugin. Grab the latest reva-turbo-<version>.zip
from GitHub Releases →
latest.
Don't unzip it.
3. Install it in Claude Desktop. Open Plugins → Personal → Local
uploads → + and drop in the zip. Click Enable. No settings to
fill in — the plugin self-configures in the next step.
⚠️ Already have RevAOps installed from before? Claude Desktop's plugin uploader does not auto-upgrade an existing install. If you're onv2.0.xor earlier, go to Plugins → Installed → RevAOps → ⋯ → Remove, then quit Desktop (Cmd-Q), relaunch, and then upload the new zip. Skipping this leaves you on the old launcher and the engine can't pick up your key.
4. Connect your key in chat. In any Claude Desktop conversation, type:
/reva-turbo:revmyengine
The engine greets you and notices it doesn't have a key yet. Reply with:
/connect nk_yourkeyhere
The engine validates the key against the router, saves it locally
(mode-600 file at ~/.reva-turbo/state/mcp-credentials.env), and tells
you to quit and reopen Claude Desktop (Cmd-Q, then relaunch).
5. Pick your role. On the next launch, run /reva-turbo:revmyengine
again. It asks one question — what's your role? (PM / Sales /
Compliance / C-level / Eng) — and you're in.
Everything you log is shared with the Rev A team, and every action is attributed to your user on the Nakatomi timeline.
Only
@revamfg.comand@mrdula.solutionsemails can sign up. The signup token alone isn't enough — the router enforces the email allowlist. If you need access under a different domain, contact the admin (matt@mrdula.solutions) to add yours toREVA_ALLOWED_EMAIL_DOMAINSon the router.
Prefer the terminal? The legacy CLI path still works for Claude Code users:
curl -fsSL https://raw.githubusercontent.com/mrdulasolutions/RevOps-RevAMfg/main/plugin/install.sh \ | REVA_MCP_URL=https://mcp-router-production-460a.up.railway.app/mcp bashIt drops into the same signup wizard and writes
~/.reva-turbo/state/mcp-credentials.envdirectly.
REVA-TURBO ships with Nakatomi (CRM) and AutoMem (semantic memory) as the defaults — those come over the router automatically. But if you've already connected HubSpot, Salesforce, Attio, or any other CRM to Claude Desktop, you can keep using it as your source of truth:
/integrate hubspot
After you do this, skills that write customer/deal/contact data will:
- Write to HubSpot first (your primary CRM — this is the record of truth).
- Shadow-write the same data to Nakatomi so the whole Rev A team sees the activity on the shared timeline.
- Store the semantic memory in AutoMem linked to both IDs.
Reads prefer HubSpot when it's available and fall back to Nakatomi on
an outage. Run /integrate nakatomi (the default) to revert.
See docs/CONNECTORS.md for the full list of
supported connectors and the shadow-write contract.
See docs/AUTH.md for the full auth flow and rotation
story.
Deploy the backend for a new customer:
git clone https://github.com/mrdulasolutions/RevOps-RevAMfg.git
cd RevOps-RevAMfg
./railway/deploy.sh --project-name reva-ops --admin-email you@reva.com
# → prints public MCP URL + admin API key + signup tokenOne Railway project. Three application services (mcp-router,
nakatomi-backend, automem-backend). Three managed databases (Postgres,
FalkorDB, Qdrant). Wired up automatically via Railway's private network —
only mcp-router has a public domain.
The deploy is phased (init / services / seed / finalize), so any
individual phase can be re-run if something fails mid-flight. See
railway/README.md for the full story, including
the one-time Railway GitHub App install flow.
Two reasons we run a router instead of exposing Nakatomi's /mcp and
AutoMem's /mcp separately:
- One connector config, not two. Every MCP client (Claude Desktop, Cursor, the plugin) has to be pointed at every endpoint by hand. Doubling the connector count doubles the onboarding friction for a PM team.
- Cross-system tools. "Remember this ITAR ruling and tag it to Acme's
contact" is a memory write and a CRM link. A router owns that
orchestration (
reva_remember_about_entity); two isolated MCPs cannot.
Tool namespaces keep the surface tidy:
| Prefix | Backend | Examples |
|---|---|---|
crm_ |
Nakatomi | crm_search_contacts, crm_create_deal, crm_move_deal_stage |
mem_ |
AutoMem | mem_store, mem_recall, mem_associate |
reva_ |
router | reva_remember_about_entity, reva_recall_for_entity |
Delivered as overlays, not forks. Applied automatically by railway/deploy.sh
phase 3 (seed):
- Pipeline —
Manufacturing RFQ(12 stages): RFQ Received → Qualified → Quoted → Accepted → In Manufacturing → Inspection (G2) → Repackage → Shipped → Delivered → Invoiced → Paid (won) → Closed Lost. - Custom fields (8 total):
company.partner_scorecard,company.compliance,company.region,contact.role,deal.quality_gates,deal.ncrs,deal.part_numbers,deal.china_source. JSON-shaped payloads ride astextbecause Nakatomi's custom-field schema is scalar-only. - Memory taxonomy —
reva/rfq,reva/quality,reva/compliance,reva/china-source,reva/partner-scorecard,reva/ncr,reva/shipping,reva/itar.
All defined in services/nakatomi-backend/seed/reva.py.
docs/ARCHITECTURE.md/docs/ARCHITECTURE_V2.md— component layout, data flow, hook systemdocs/AUTH.md— signup / rotation storydocs/INSTALL.md— plugin install reference (env overrides, offline, troubleshooting)docs/ROADMAP.md— what's shipped, what's nextplugin/CLIENT.md— Rev A Manufacturing company profileplugin/ETHOS.md— design philosophyplugin/CLAUDE.md— Claude Code project instructionsservices/mcp-router/README.md— router internalsrailway/README.md— Railway deploy reference
Built by MrDula Solutions for Rev A Manufacturing. Powered by Claude, Nakatomi, and AutoMem.