Era generates a complete, coherent, synthetic company on demand — its Salesforce pipeline, Slack history, Zendesk queue, Jira board, Gong calls, shared drive and more — and serves it over each vendor's real API shape and over MCP. Point your agent at a full simulated enterprise to build, test, demo, and benchmark — with zero real data.
- 🧩 One company, many systems. The data is cross-system coherent: the account behind a Salesforce opportunity is the same account a Zendesk ticket references and a Gong call discusses. Cross-system questions — "which accounts with an open ticket have a renewal this quarter?" — have real answers. 61 systems and counting — see the full catalog.
- 🔌 Real API shapes. Each emulated system speaks its vendor's actual REST surface with realistic authentication, so the SDK or integration you ship is the one you test.
- 🤖 MCP everywhere. Every system exposes an MCP endpoint, so any MCP-capable
agent or framework connects with a URL and a header. The console itself is an
MCP server too, at
https://console.era.eon.io/mcp— your agent can create its own environments. - ♻️ Deterministic and disposable. Environments are generated, not recorded: spin one up per experiment or per CI run, and tear it down when you're done.
- 🔒 100% synthetic. No real records, no real people, no customer data — free for builders.
curl -fsSL https://console.era.eon.io/install.sh | sh# Sign in from the browser; the credential is stored locally.
era init
# Generate a company: pick an industry, a size, and the systems it runs on.
era new --industry fintech --size mid --systems salesforce,slack,zendesk
# Wire the environment into an MCP client (Claude Code, here) —
# prints ready-to-run commands with the credentials embedded.
era mcp <tenant> --client claudeUseful along the way:
era ls # your environments
era options # industries, sizes, day-states
era systems # every system Era can emulate
era usage # what you've consumed
era rm # tear an environment downPrefer the browser? Generate a company from the web console instead — same environments, no CLI.
Each system in an environment gets its own base URL, MCP URL, and credential;
era mcp prints them, and the CLI can write them to a .env
(<SYSTEM>_BASE_URL, <SYSTEM>_MCP_URL, <SYSTEM>_MCP_HEADER) so your code
and the examples below pick them up with no editing.
📚 The full API, MCP, and CLI reference lives in the Era docs.
Runnable, self-contained starting points in examples/:
| Directory | What it shows |
|---|---|
curl/ |
The whole model in one shell script — the REST API and a by-hand MCP handshake, no SDK |
mcp-clients/ |
Pointing Claude Code, Claude Desktop, and MCP Inspector at an environment |
agent-frameworks/ |
Runnable agents: Claude Agent SDK, OpenAI Agents SDK, LangGraph, Mastra, Vercel AI SDK |
node/ |
Plain fetch + an MCP client in Node — call a system's real API and its MCP tools, no framework |
python/ |
The same in Python, as pytest tests you can copy into your suite |
ci/ |
A GitHub Actions workflow running those suites against a hosted environment |
Three recipes from the use cases page — tailor the right company, wire it into your agent, and ask.
era new --industry fintech --size mid --scenario hypergrowth \
--systems salesforce,hubspot,gong,slackWhich open opportunities have had no contact in the last 21 days, and who owns them?
Draft a follow-up to each champion that cites something from their own call, not a template.
Where do HubSpot and Salesforce disagree about the same contact?
era new --industry ecommerce --size mid --scenario churn_wave \
--systems zendesk,slack,jira-confluence,google-driveTriage the oldest ten open tickets: what is each one really about, and who should hold it?
Answer the oldest open ticket using only what the company holds, citing the ticket or Slack message you took each fact from.
Which tickets from the last week share one cause, and what is it?
era new --industry fintech --size mid --strict \
--systems salesforce,hubspot,zendesk,jira-confluence,gong,slack,google-driveTell me everything about our largest account: the deal, the open tickets, what was said internally, the documents written for them. Cite
system:idfor every fact.What did we promise this customer that engineering has not shipped? Name the Jira issue.
Two systems disagree about this customer's plan. Which, and which is likelier to be right?
- 🛠️ Agent development — build against a full enterprise stack from day one, before you have a design partner's blessing (or their data).
- ✅ Testing and CI — a fresh, deterministic company per test run; assert on answers, tool choices, and that read-only agents stayed read-only.
- 🎬 Demos — a believable company with history, not three rows of lorem ipsum.
- 📊 Benchmarks — the same questions, the same ground truth, every run.
"Realistic" is a measurable claim. The methodology behind Era is published:
Benchmark — The Era by Eon Benchmark: A Generated Enterprise Estate with Exact Ground Truth for Benchmarking LLM Agents (PDF)
Generation — Generating a Consistent Enterprise: Synthesis and Reference-Free Evaluation of Multi-System Business Data (PDF)
Every environment is 100% synthetic. That's the point — and it also means Era is no substitute for a staging system that carries your real data. Use Era to get correct, tested, demoable software sooner; validate against your own staging before you ship.
Questions, feedback, or something you want Era to emulate? Join the Era Discord — it's where builders and the team hang out.
All data generated by Era is synthetic — no real records, no real people. Era is not affiliated with, endorsed by, or sponsored by any referenced vendor; product names refer to API and schema compatibility only.
© Eon. All rights reserved.