Featured

Deploy OpenClaw in 60 seconds — 20% off logoDeploy OpenClaw in 60 seconds — 20% off

Launch OpenClaw on Hostinger in about 60 seconds and keep your agent live 24/7. Our referral link gives you 20% off, no coupon code needed.

Launch on Hostinger
Run your Hermes agent on Hostinger, fully managed logoRun your Hermes agent on Hostinger, fully managed

Launch Hermes on Hostinger in one click, fully managed, no VPS knowledge needed. Use code ZACAARON10 for 10% off.

Launch on Hostinger
Crawl and scrape any site into clean data, 10% off logoCrawl and scrape any site into clean data, 10% off

Firecrawl crawls and scrapes any site into clean markdown for your agent. Get 1,000 free credits, and new users get 10% off their first purchase.

Try Firecrawl free
Your own AI agent, running 24/7 with QwikClaw logoYour own AI agent, running 24/7 with QwikClaw

QwikClaw sets up and runs an always-on OpenClaw agent for you. One click, no config files, no server setup.

Deploy now
One API to scrape, enrich, and extract the internet. logoOne API to scrape, enrich, and extract the internet.

Context.dev gives your agents a single API to scrape, enrich, and extract live web data — no proxies, no parsers, no maintenance.

Start building free
SetupClaw: done-for-you OpenClaw for founders & exec teams logoSetupClaw: done-for-you OpenClaw for founders & exec teams

White-glove OpenClaw for founders and exec teams (4–50+ employees): we install, harden, integrate your tools, and maintain it — secured from day one.

Get it set up for you
SEO data APIs for your agent, $1 free credit logoSEO data APIs for your agent, $1 free credit

DataForSEO gives your agent live access to SERP results, keyword data, backlinks, and on-page SEO data through one API. New accounts get a $1 credit, good for up to 20,000 keyword or backlink lookups.

Try DataForSEO free
Reach 47,000+ AI builders

A flat monthly placement in front of developers actively installing AI tools. No lock-in, cancel anytime.

Advertise here

Works with

Claude CodeClaude DesktopCursorVS CodeClineCodex CLIOpenClaw+ any MCP client

Install to Claude Code

This server doesn't publish a one-line install command. Follow the setup in the source repository.

Summary

MCP-native task management for AI agent fleets with scoped permissions and provenance.

README.md

<div align="center">

WritBase

MCP-native task management for AI agent fleets

A control plane for AI agents and human supervisors. Persistent task registry with scoped permissions, inter-agent delegation, and full provenance — all accessible via MCP.

![License](LICENSE) ![CI](https://github.com/Writbase/writbase/actions) ![MCP Compatible](https://modelcontextprotocol.io)

<br/>

<img src="docs/assets/demo.svg" alt="WritBase MCP demo — agent creates a task and delegates to another agent" width="100%"/>

</div>

---

Why WritBase?

AI agents need a shared, persistent task registry — not ephemeral in-memory state that vanishes between sessions. WritBase gives your agent fleet:

  • One source of truth — Tasks live in Postgres, not scattered across files and chat threads
  • Scoped permissions — Each agent gets exactly the access it needs, nothing more
  • Full provenance — Every change is recorded: who, what, when, and why
  • Inter-agent delegation — Agents can assign tasks to each other with depth limits and cycle detection
  • MCP-native — Agents connect via the Model Context Protocol, no custom integration needed

Getting Started

Option A: CLI Setup (recommended)

No repo clone needed. Just npx:

npx writbase init        # Interactive setup — configures Supabase credentials
npx writbase migrate     # Apply database schema
npx writbase key create  # Create your first agent key

That's it. Your MCP endpoint is live at:

https://<project-ref>.supabase.co/functions/v1/mcp-server/mcp

Prerequisites: Node 18+, Supabase CLI, a Supabase project (free tier works) Deploy the Edge Function: npx supabase functions deploy mcp-server --no-verify-jwt See the CLI README for all commands.

Option B: Manual Setup

<details> <summary>Clone and deploy manually</summary>

git clone https://github.com/Writbase/writbase.git
cd writbase && npm install

# Create a free project at supabase.com/dashboard, then:
npx supabase link --project-ref <your-project-ref>
npx supabase db push
npx supabase functions deploy mcp-server --no-verify-jwt

Optional dashboard: cp .env.example .env.local → edit with your Supabase URL + anon key → npm run dev See the Deployment Guide for Vercel hosting and self-hosted Supabase.

</details>

2. Create a project and agent key

Via the CLI (npx writbase key create), the dashboard, or a manager agent:

  1. Create a project — e.g., my-app. Optionally add departments (backend, frontend, devops)
  2. Create an agent key — name it, pick the worker role, save the key (wb_<key_id>_<secret> — shown once)
  3. Grant permissionswritbase key permit my-agent --grant --project my-app --can-read --can-create --can-update (or via dashboard)

3. Connect your MCP client

<details> <summary><strong>Claude Code</strong></summary>

claude mcp add writbase \
  --transport http \
  --url https://<project-ref>.supabase.co/functions/v1/mcp-server/mcp \
  --header "Authorization: Bearer wb_<key_id>_<secret>"

</details>

<details> <summary><strong>Cursor</strong></summary>

Add to .cursor/mcp.json:

{
  "mcpServers": {
    "writbase": {
      "type": "streamableHttp",
      "url": "https://<project-ref>.supabase.co/functions/v1/mcp-server/mcp",
      "headers": { "Authorization": "Bearer wb_<key_id>_<secret>" }
    }
  }
}

</details>

<details> <summary><strong>VS Code / Copilot</strong></summary>

Add to .vscode/mcp.json:

{
  "servers": {
    "writbase": {
      "type": "http",
      "url": "https://<project-ref>.supabase.co/functions/v1/mcp-server/mcp",
      "headers": { "Authorization": "Bearer wb_<key_id>_<secret>" }
    }
  }
}

</details>

<details> <summary><strong>Windsurf / Claude Desktop / Other</strong></summary>

See the MCP Config Reference for all supported clients. </details>

4. Use it

Ask your agent:

"Check my WritBase permissions"          → calls info
"Create a task in my-app: Fix login bug" → calls add_task
"Mark it as in_progress"                 → calls update_task (with version for concurrency)
"Show all high priority tasks"           → calls get_tasks with priority filter

5. Scale up

| Agent | Role | Scoped to | Use case | |-------|------|-----------|----------| | ci-bot | worker | my-app/devops — can_create | CI creates tasks on build failure | | triage-agent | worker | my-app (all depts) — can_comment | Reviews tasks, adds notes | | ops-manager | manager | (workspace-wide) | Manages keys, permissions, projects |

Each agent gets its own key with exactly the permissions it needs — nothing more.

Full walkthrough: Getting Started Guide — permissions, departments, troubleshooting

MCP Tools

Worker Tools (all agents)

| Tool | Description | |------|-------------| | info | Agent identity, permissions, and system metadata | | get_tasks | List tasks with filtering, pagination, and full-text search | | add_task | Create a task in permitted scope | | update_task | Update a task with optimistic concurrency control |

Manager Tools (manager agents only)

| Tool | Description | |------|-------------| | manage_agent_keys | Create, update, deactivate, rotate agent keys | | manage_agent_permissions | Grant/revoke permissions with subset enforcement | | get_provenance | Query the append-only audit log | | manage_projects | Create, rename, archive projects | | manage_departments | Create, rename, archive departments | | subscribe | Register webhooks for task event notifications | | discover_agents | Find agents by capability and skill |

Features

  • Multi-tenant workspaces — Signup auto-provisions an isolated workspace
  • Dynamic MCP schema — Tool visibility and parameter enums adapt per agent's role and permissions
  • 6 permission typescan_read, can_create, can_update, can_assign, can_comment, can_archive
  • Project + department scoping — Permissions are granted per (project, department) pair
  • Optimistic concurrency — Version-based conflict detection prevents silent overwrites
  • Cursor pagination — Efficient traversal of large task sets
  • Rate limiting — Per-agent-key request throttling
  • Request logging — Every MCP call logged with latency, status, and agent context

Architecture

┌─────────────┐     ┌──────────────────┐     ┌──────────────┐
│  MCP Client │────▶│  Edge Function   │────▶│   Postgres   │
│  (Agent)    │◀────│  (Hono + MCP SDK)│◀────│  (Supabase)  │
└─────────────┘     └──────────────────┘     └──────────────┘
                           │
                    ┌──────┴──────┐
                    │  Next.js 16 │
                    │  Dashboard  │
                    └─────────────┘
  • Backend: Supabase (Postgres + Edge Functions with Deno runtime)
  • Transport: Streamable HTTP (MCP SDK)
  • Frontend: Next.js 16 (App Router) + Tailwind CSS
  • Auth: Supabase Auth (humans) + SHA-256 agent keys (agents)

Deployment Options

| | Supabase Cloud (recommended) | Self-Hosted Supabase | |---|---|---| | Setup | npx writbase initnpx writbase migrate → done | Docker Compose (5 containers) | | Cost | Free tier: 500MB DB, 50K MAUs | Your infrastructure | | Dashboard | Deploy to Vercel (free) | Self-host Next.js | | Updates | Automatic platform updates | Manual | | Control | Supabase-managed | Full |

See docs/deployment.md for detailed setup instructions.

Documentation

Contributing

See CONTRIBUTING.md for development setup, testing, and PR guidelines.

Security

See SECURITY.md for vulnerability reporting.

License

Apache 2.0 — see LICENSE.

See related servers & alternatives →

Related MCP servers

Browse all →

Related guides

Hand-picked reading to help you choose and use Productivity servers.