Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add OutlineDriven/outline-driven-development --skill factory-mcp-bootstrapgit clone --depth 1 https://github.com/OutlineDriven/outline-driven-developmentWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/outlinedriven/outline-driven-development/factory-mcp-bootstrap)<a href="https://agentmods.dev/skills/outlinedriven/outline-driven-development/factory-mcp-bootstrap"><img src="https://agentmods.dev/badge/skills/outlinedriven/outline-driven-development/factory-mcp-bootstrap/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/outlinedriven/outline-driven-development/factory-mcp-bootstrap"><img src="https://agentmods.dev/badge/skills/outlinedriven/outline-driven-development/factory-mcp-bootstrap.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00081 | $0.01297 |
| Opus 5 | $0.00041 | $0.00648 |
| Sonnet 5 | $0.00016 | $0.00259 |
| Haiku 4.5 | $0.00008 | $0.00130 |
Grade B, and why
factory-mcp-bootstrap scanned grade B with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 6d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Reads MCP configurationmediumAgent snooping
mcp.json carries server URLs and auth tokens; reading it lets a mod discover and abuse other integrations.
- Claude Code: add the server entry to `.claude/mcp.json` (project) or `~/.claude/mcp.json` (global), pointing at `{server_root}/api/v1/mcp/factory` with `Authorization: Bearer $WARP_API_KEY` in the headers. Copies of this mod
1 near-identical copy found in the catalogue:
- factory-mcp-bootstrap — 100% identical, 0 lines differ
How it starts
The opening of the file, as written. The whole thing — 55 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Factory MCP bootstrap
Contract
| Field | Bound contract |
|---|---|
| Trigger | Someone outside Warp wants a third-party coding agent to reach a Warp Factory: "set up Factory MCP in Claude Code / Codex / Cursor", "add the factory MCP server", "connect my agent to Warp Factory" |
| Authority | Human-only. Mints a 30-day API credential and writes a bearer-token MCP registration; both are credential and data-at-rest mutations requiring explicit human invocation |
| Side effect | Confirms the oz CLI, runs oz login, mints a 30-day API key exported as WARP_API_KEY, writes a harness-specific MCP registration carrying an Authorization: Bearer header, reloads the harness, and performs read-only protocol verification calls |
| Done | The MCP endpoint {server_root}/api/v1/mcp/factory is registered with a valid bearer token; tools/list shows the ten Factory tools; list_factories returns any non-auth-error response (empty allowed); the endpoint serves its factory setup document through both resources/list and resources/read without an auth error; the user is told setup is done and the agent hands off and stops |
Inputs
- Target harness: which coding agent to wire — Claude Code, Codex, or Cursor. Must be supplied.
- Server root: the Warp Factory API root URL. Must be supplied if not inferable from oz context.
- Factory creation: optional. Create a factory only when the user explicitly requests it; otherwise skip.
Procedure
- Confirm the
ozCLI is installed by runningoz --version. If it is not on PATH, tell the user thatozis required and stop. Do not invent or guess an install command. Done when: oz is confirmed installed, or the user is told it is required and the skill stops. - Run
oz loginand let the human complete authentication interactively. Do not proceed until login succeeds. Done when: login succeeds. - Provision a short-lived bearer credential. Mint a 30-day API key with
oz api-key create --expires 30dand export it asWARP_API_KEYin the shell environment that will launch the target harness. Done when: WARP_API_KEY is exported with a valid key. - Determine the target harness configuration path and schema. Write the MCP server registration with the bearer token to the configuration file:
- Claude Code: add the server entry to
.claude/mcp.json(project) or~/.claude/mcp.json(global), pointing at{server_root}/api/v1/mcp/factorywithAuthorization: Bearer $WARP_API_KEYin the headers. - Codex: add the server entry to
~/.codex/mcp.jsonwith the same URL and bearer header. - Cursor: add the server entry to
~/.cursor/mcp.jsonwith the same URL and bearer header. Done when: the MCP registration is written for the target harness with the bearer token.
- Claude Code: add the server entry to
- Reload the harness so it picks up the new registration. For Claude Code: restart the session or run the MCP reload command. For Codex: restart the Codex process. For Cursor: restart Cursor or reload the MCP configuration. Done when: the harness picks up the new registration.
- Verify protocol-level discovery by calling
tools/liston the registered endpoint. Confirm the ten Factory tools are present:list_factories,create_factory,get_factory,update_factory,delete_factory,list_factory_runs,create_factory_run,get_factory_run,cancel_factory_run,get_factory_status. Done when: the ten Factory tools are present in thetools/listresponse. - Call
list_factoriesand confirm the response is not an authentication error. An empty list is acceptable. Done when: the response is not an auth error (empty list allowed). - Confirm the endpoint serves its factory setup document: call
resources/listand confirm the setup resource URI (factory://setup) is present, then callresources/readon that URI and confirm content is returned without an auth error. Done when:resources/listincludes the setup document URI andresources/readreturns its content without an auth error. - If the user explicitly requested a factory, create it now; otherwise skip. Done when: the factory is created or skipped.
- Tell the user setup is done, hand off, and stop. Done when: the user is told setup is done and the agent stops.
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 6d ago First seen · 55 lines · 81 tokens per session scan B df258e648731
factory-mcp-bootstrap is a skill published in the GitHub repository OutlineDriven/outline-driven-development (52 stars, last pushed 4d ago), licensed Apache-2.0. It adds 81 tokens to every session and 1,297 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it B with 1 finding (reads mcp configuration). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.
Other skills, from other repositories
audit-project
Run an iterative multi-agent code audit until critical and high findings are resolved. Use when the user says "audit my code", "find all the bugs", "deep code audit", "iterative review", or "review until clean".
duet
Use when the user invokes /duet, says "pair with me", or faces aesthetic, architectural, or irreversible decisions.
goal-prompt-drafting
Use when asked to draft copy-ready /goal objectives for long-running agents; returns one normalized one-line objective with measurable end state, grounded proof, easy-out invariants, a stop clause, and a Missing list. Not for source or remote-system changes.
handoff-prompt
Use when the user asks for a handoff, delegation, or clipboard-ready prompt for another agent: a standalone path-free prompt copied to the clipboard, confirmed by title. Not for session-snapshot briefs — use handoff; never remote, credential, publish, deploy, or irreversible.
publish-branch
Use when asked to publish the checked-out branch: commit and push it on whatever branch it is, the default branch included. Not for creating branches, PRs, force pushes, or pushing any other branch; when the request excludes the default branch, use commit-push-current.
snippet-image-rendering
Use when the user explicitly names snipgrapher and wants code rendered to a polished PNG, SVG, or WebP at an explicit local path. Probes the installed CLI for supported flags and writes only the named image file. Not for other renderers, publishing, or remote actions.