Craft for AI agents

Craft is a documents and notes app where an agent can search, read, and edit daily notes, tasks, and collections in a person's workspace. Connect it once through Arc0, and your agent, or Claude, ChatGPT and Cursor, can use it through one MCP endpoint, limited to what each user approved.

ProductivityOAuth 2.0 (MCP)MCP + RESTcraft.do
AUDIT LOG · CRAFTPOLICY: acme-support
09:41:09 · claude · u_8f2write
craft.craft_read
Craft read✓ approved · approved by user
EVERY CRAFT CALL, ON THE RECORD
01 · USE CASES

What agents do in Craft.

01

Search across documents

Search across documents and daily notes for a specific topic or task.

02

Add a task to a daily note

Write a new task into today's daily note so it's ready to review.

03

Revert a recent block change

Revert a block's recent change if an edit turns out to be wrong.

02 · ACTIONS

3 Craft actions, graded by risk.

Every Craft action is tagged read, write or destructive, so one policy covers the whole app and new actions inherit the right default.

read

0

Look things up. Allowed by default.

  • No read actions.

write

3

Create and change things. Allow, or ask the user first.

  • craft.craft_read
    Craft read
  • craft.craft_write
    Craft write
  • craft.blocks_revert
    Blocks revert

destructive

0

Delete, cancel or archive. Ask first, or deny outright.

  • No destructive actions.
03 · HOW IT WORKS

Craft in three steps.

  1. 01Your users connect CraftThey sign in to Craft on Arc0 Connect, under your brand, and approve the access you ask for.
  2. 02You set the rulesReads run, and writes like “craft read” can wait for the user to approve.
  3. 03Any agent can actYour agent calls Craft through the Arc0 SDK or MCP, and so can Claude, ChatGPT and Cursor. Every call lands on the audit log.
POLICY.TS
await arc0.policies.set('craft', {
  read: 'allow',
  write: 'ask',        // craft_read
  destructive: 'deny',  
})

# Claude Code: the same connection, one URL
$ claude mcp add --transport http arc0 \
    https://mcp.arc0.ai/u/u_8f2
04 · AUTH AND DATA

How Craft connects.

Craft runs its own MCP server behind OAuth. Arc0 registers the client, users approve access on Arc0 Connect, and your agent reaches Craft through the same endpoint, policies and audit log as every other app.

The same Craft connection serves your agent over MCP and your own backend over REST and the proxy, so a user connects once. How Arc0 handles credentials →

AUTH
OAuth 2.0 (MCP)
CREDENTIALS
Per-tenant encrypted vault
MODEL SEES
Results only, never credentials
AUDIT LOG
Every call, on every plan
05 · WORKS WITH

Use Craft from any agent.

Claude
ChatGPT
Cursor
Codex
VS Code
OpenAI Agents SDK
Claude Agent SDK
Vercel AI SDK
Mastra
LangGraph
07 · FAQ

Craft and Arc0, answered.

Q01

Can I use Craft with Claude, ChatGPT or Cursor?

Yes. Connect Craft to Arc0 once, then add your Arc0 MCP URL to Claude, ChatGPT, Cursor, Claude Code or any other remote-MCP client. Each assistant only gets the Craft actions you allow.

Q02

How do users connect Craft?

Craft runs its own MCP server behind OAuth. Arc0 registers the client, users approve access on Arc0 Connect, and your agent reaches Craft through the same endpoint, policies and audit log as every other app.

Q03

Which Craft actions can my agent take?

3 in total: 0 read, 3 write and 0 destructive, such as “craft read”. Your policies decide which of them each agent may call.

Q04

Can I make my agent read-only in Craft?

Yes. Allow read actions and deny writes in the Craft policy. Your agent can still look things up, and any write it attempts is blocked and logged.

Q05

Can my own backend call Craft too?

Yes. The same Craft connection is available over REST and through the Arc0 proxy, so your product and your agent share one connection per user.

Get started

Plug Craft into your agent.

Your users connect Craft once, under your brand. Your agent gets 3 actions behind your policies, with every call on the record.

Free to build · MCP + REST · Audit log on every plan