Agents & MCP
An MCP server the agent never calls is decoration. The bet is the loop, not the tool (PRD §15): the win is an agent that checks a migration against production shape before it opens a PR, and rewrites it when the verdict says to — with no human turn. Two things make that happen: the MCP tools, and getting rowshape into the agent’s context so it actually reaches for them.
rowshape init --agent
Section titled “rowshape init --agent”One command wires a repo for coding agents. It makes no network or database connection — it reads the repo layout and writes three things:
rowshape init --agent-
MCP client config. It registers
rowshape mcpin the MCP config of every detected client —.mcp.json(Claude Code),.cursor/mcp.json,.vscode/mcp.json— merging into existing config, safe to re-run:{"mcpServers": {"rowshape": { "command": "rowshape", "args": ["mcp"] }}} -
A versioned agent rule. It writes the rule into
AGENTS.md(andCLAUDE.md) inside a managed block, leaving the rest of your file untouched. The rule is a product artifact, iterated like a prompt and shipped versioned so an improvement reaches repos that raninit --agentmonths ago. See the exact text. -
A pre-commit backstop. In a git repo it installs a pre-commit hook so a migration can’t be committed without a verdict — the belt to the rule’s suspenders, for when an agent forgets to ask.
It is safe to re-run: existing config is merged, and the managed rule block is replaced in place rather than duplicated.
The loop it enables
Section titled “The loop it enables”With the tools wired in and the rule in context, the agent runs the loop on its own — read the shape, validate before the PR, act on the verdict:
describe_shapefor the tables it’s about to touch — the shape decides the answer.- write the migration.
validate_migration— a verdict and compact finding codes.- on a WARN/FAIL,
explain_finding <CODE>for the fix, rewrite, and validate again.
See the MCP tools for what each does, and the agent-loop demo for the whole thing closing without a human turn.
The spec is the position
Section titled “The spec is the position”rowshape’s fixture format is an open spec anyone can emit, not a private file format — that is the strategic claim (PRD §3). It lives in its own repo:
- The Rowshape Fixture Spec (RFC-0001)
- MCPFold — the thin-MCP discipline rowshape’s server is built to; rowshape is its flagship consumer.