why
Content as code.
Skip the dashboard.
Built for how people ship now. Agents and the humans who run them.
§00 foundations
Open source. Self-hostable. Yours to run.
No Graft cloud in the critical path. Point DATABASE_URL at your database, mount your project, ship.
- 01
Open source
Packages live in the monorepo. Read the compiler, the MCP server, the CLI. No hosted CMS black box.
- 02
Self-hostable
Your Postgres. Your object store. One Docker image, split compose, or handlers mounted in your app.
- 03
No dashboard required
Admin UIs lock agents behind a mouse. Author MDX, run the CLI, or speak MCP. Same loop for you and the agent.
- 04
You still own the gate
Destructive ops file an approval. You decide with graft approve. Runtime credentials cannot self-approve.
§01 how building works
Agents already do most of the typing.
Teams ship with agents more than they write every line by hand. A CMS that only works as a human-only admin leaves that work stuck: the agent cannot see the schema or finish the job without someone clicking panels.
§02 the lock-out
Dashboards were built for mice.
Opaque admin flows make agents second-class. Bolting MCP onto a dashboard rarely matches what a human can do in the panel. Graft refuses that shape: content is MDX in git, schema is TypeScript, ops are CLI and MCP.
§03 the loop
Let them code. Still get content.
Author MDX or call write_content. graft compile validates and updates the index. Typed reads render in whichever framework you brought. If git and Postgres disagree, recompile. Git wins.
§04 roles
Same product. Two operators.
You
- Own the repo and merges
- Define schema and access in code
- Run graft approve on destructive ops
- Deploy a hardened runtime role
Your agent
- Author and refactor content via MCP / CLI
- Discover schema with describe_schema
- Retry gated calls with the approval id
- Call functions under runtime limits
§05 receipts
Claims with docs attached.
Every capability links to the page that teaches it.
§06 faq
Common questions
Do I need a dashboard?
No for day-to-day authoring. Write MDX, use the CLI, or drive MCP. Approvals are graft approve on your machine today.
Is Graft open source and self-hostable?
Yes. You run the packages against your Postgres and S3-compatible store. One container, split compose, or handlers embedded in your app. No Graft cloud required.
Does this replace developers?
No. You own the repo, review diffs, and decide destructive gates. Agents do the repetitive authoring and ops that already happen through chat tools.
begin
Drop Graft onto your repo.
Scaffold locally. Connect your database. Point your agent at MCP or the CLI.