io.github.Writbase/writbase

Official registry Productivity

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

What can you do with io.github.Writbase/writbase?

  • 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 types — can_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

Install

Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).

Remote (streamable-http)
Claude Code
claude mcp add --transport http writbase 'https://{PROJECT_REF}.supabase.co/functions/v1/mcp-server/mcp' --header 'Authorization: <Bearer token: wb_<key_id>_<secret>>'
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "writbase": {
            "type": "http",
            "url": "https://{PROJECT_REF}.supabase.co/functions/v1/mcp-server/mcp",
            "headers": {
                "Authorization": "<Bearer token: wb_<key_id>_<secret>>"
            }
        }
    }
}
NPM package writbase
Claude Code
claude mcp add writbase -e 'WRITBASE_URL=<WRITBASE_URL>' -e 'WRITBASE_AGENT_KEY=<your writbase_agent_key>' -- npx -y writbase@0.1.3
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "writbase": {
            "command": "npx",
            "args": [
                "-y",
                "writbase@0.1.3"
            ],
            "env": {
                "WRITBASE_URL": "<WRITBASE_URL>",
                "WRITBASE_AGENT_KEY": "<your writbase_agent_key>"
            }
        }
    }
}

Environment variables

  • WRITBASE_URL required Your WritBase MCP endpoint URL
  • WRITBASE_AGENT_KEY required secret Agent key (wb_<key_id>_<secret>)

Documentation

From the project's README on GitHub, refreshed weekly. Links open on GitHub.

Contents
  1. WritBase
  2. Why WritBase?
  3. Getting Started
  4. MCP Tools
  5. Features
  6. Architecture
  7. Deployment Options
  8. Documentation
  9. Contributing
  10. Security
  11. License

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.


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

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

Clone and deploy manually

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.

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 permissions — writbase key permit my-agent --grant --project my-app --can-read --can-create --can-update (or via dashboard)
3. Connect your MCP client

Claude Code

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

Cursor

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>" }
    }
  }
}

VS Code / Copilot

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>" }
    }
  }
}

Windsurf / Claude Desktop / Other

See the MCP Config Reference for all supported clients.

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
AgentRoleScoped toUse case
ci-botworkermy-app/devops — can_createCI creates tasks on build failure
triage-agentworkermy-app (all depts) — can_commentReviews tasks, adds notes
ops-managermanager(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)
ToolDescription
infoAgent identity, permissions, and system metadata
get_tasksList tasks with filtering, pagination, and full-text search
add_taskCreate a task in permitted scope
update_taskUpdate a task with optimistic concurrency control
Manager Tools (manager agents only)
ToolDescription
manage_agent_keysCreate, update, deactivate, rotate agent keys
manage_agent_permissionsGrant/revoke permissions with subset enforcement
get_provenanceQuery the append-only audit log
manage_projectsCreate, rename, archive projects
manage_departmentsCreate, rename, archive departments
subscribeRegister webhooks for task event notifications
discover_agentsFind 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 types — can_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
Setupnpx writbase init → npx writbase migrate → doneDocker Compose (5 containers)
CostFree tier: 500MB DB, 50K MAUsYour infrastructure
DashboardDeploy to Vercel (free)Self-host Next.js
UpdatesAutomatic platform updatesManual
ControlSupabase-managedFull

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.

Frequently asked questions

What is io.github.Writbase/writbase?

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

How do I install io.github.Writbase/writbase?

It runs as a remote server. In Claude Code: claude mcp add --transport http writbase 'https://{PROJECT_REF}.supabase.co/functions/v1/mcp-server/mcp' --header 'Authorization: <Bearer token: wb_<key_id>_<secret>>'. For other clients, paste the JSON configuration from this page into their MCP settings.

Does io.github.Writbase/writbase need an API key?

Yes. It expects WRITBASE_URL, WRITBASE_AGENT_KEY, Authorization, which you set in its configuration.

Is io.github.Writbase/writbase open source?

Yes. Its code is on GitHub under the Apache-2.0 license.

Who maintains io.github.Writbase/writbase?

It is published by Writbase. AI.tn lists it but does not maintain or endorse it.

From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.