Start with runnable agent projects, then inspect and adapt their Firedrill integration.
These repositories show customer-owned agents using synthetic Tools in Firedrill.
They include a real agent, a local UI, saved test definitions and runner code.
They do not contain a standalone Firedrill runtime or synthetic Tool servers.
Gmail Agent
A small Claude Agent SDK email assistant with a React chat UI. Learn one
MCP connection, a read-only task, and a checked mailbox operation.
Revenue Desk
A revenue-operations agent with six integrations. Explore its explicit
synthetic mode, multiple Tool setups, CLI tests and an SDK simulation runner.
You need a Firedrill account and your own model credentials to execute either
agent. Installing dependencies and running offline checks does not call the
model or create Tools. Review each repository’s license before copying code.
git clone https://github.com/firedrill-tools/firedrill-example-gmail-agent.gitcd firedrill-example-gmail-agentnpm cinpm run checknpx firedrill init
Choose Gmail, starter data and a persistent connection in your own project.
The repository README explains how to obtain your scoped MCP values, configure
the agent’s model key and open its local React chat UI. No real Gmail account
is needed.The example includes firedrill.tests.json and firedrill.config.json. Save its
test definitions against your ready setup:
Replace both IDs with your own returned IDs and provide ANTHROPIC_API_KEY in
your terminal. The second command uses the new setup created by the first.
It runs the actual agent and checks a successful mailbox-list operation, not
just the model’s final reply. For the definition and invocation contracts, see
your first test.
Follow the repository’s Try Revenue Desk with Firedrill guide to create your
own Tool setups, run the local agent and save its tests. This explicit test mode
uses synthetic Gmail, Calendar, QuickBooks, Slack, HubSpot and Stripe; ordinary
application commands still use real-service connections.
The current example uses two setups: five Tools together, and Stripe
separately. QuickBooks and Stripe currently declare overlapping MCP aliases.
The guide explains that limitation; a result from one setup is not a verdict
covering all six integrations.
Its SDK runner calls runSimulation with case-scoped bindings, executes the
existing agent, and attaches real outputs and redacted runner logs. Start with
one case before increasing seeds, repetitions or concurrency. More cases can
consume more model usage; repeated cases are not automatically different
authored scenarios. See SDK simulations.
Both projects include offline GitHub Actions checks and a separate opt-in
Firedrill drills workflow. Configure your own project/setup IDs and scoped
credentials, then run it manually before enabling automatic trusted triggers.
Fork pull requests do not run provider-backed drills with repository secrets.The CLI or SDK prints a result link. Firedrill retains the test definitions,
simulation batches, Tool calls, checks and submitted evidence. The agent still
runs in your workstation or CI runner. API/MCP-only tests do not automatically
produce browser screenshots. Use capture or
browser tests when your runner actually produces them.Use the repository workflows for direct CLI execution, or follow
PR CI for revision-bound GitHub integration. The
portal is where you inspect saved setups and outcomes—not a prerequisite to
execute a local agent.