About writespace-mcp
writespace-mcp is a hosted document workspace and MCP server for agents and people collaborating on persistent docs. It combines markdown editing with searchable content, structured metadata, and live updates to open editors.
Key features
- 01Read and search workspace documents
- 02Create and edit Markdown or Tiptap content
- 03Organize folders and documents
- 04Query documents by metadata
- 05Notify open editors of agent changes
Use cases
- 01Keep persistent agent notes in shared docs
- 02Search workspace content for retrieval
- 03Make targeted edits to a document section
MCP support
Exposes workspace reading, search, writing, and organization as MCP tools over hosted HTTP. Clients authenticate with a Bearer token.
Configuration
Remote servers need no local install. Pick your client, then copy the config or install in one click.
https://app.writespace.io/mcpclaude mcp add --transport http write-space-writespace https://app.writespace.io/mcp{"mcpServers":{"write-space-writespace":{"type":"http","url":"https://app.writespace.io/mcp"}}}Open in Cursor{"servers":{"write-space-writespace":{"type":"http","url":"https://app.writespace.io/mcp"}}}Open in VS Code{"mcpServers":{"write-space-writespace":{"type":"http","url":"https://app.writespace.io/mcp"}}}{"mcpServers":{"write-space-writespace":{"serverUrl":"https://app.writespace.io/mcp"}}}Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.
https://app.writespace.io/mcpAuth requiredTools
Details
From the project READMEWritespace MCP Server
A remote, hosted Model Context Protocol server for Writespace — a real-time collaborative document editor. Give Claude, ChatGPT, Gemini, Cursor, or any MCP-speaking agent a shared docs workspace it can read, write, organise and search alongside you.
Endpoint: https://app.writespace.io/mcp (HTTP transport, Bearer auth)
Free tier: yes — up to 10 documents, no card required → sign up
What it does
Writespace is a markdown-first doc editor for humans with an MCP server built in for agents. Every action you can take in the app is exposed as a tool your model can call:
- Read — walk the workspace tree, fetch any doc as lossless JSON or markdown, run ranked full-text search (drop it straight into your agent as RAG retrieval)
- Write — create docs, append content, replace a single section by its heading, shallow-merge structured metadata
- Organise — create/rename/move folders, move docs, query docs by metadata (
{ status: "accepted" })
Agent writes broadcast over Realtime, so open editors reload live. Humans and agents work on the same canvas — no export step, no format negotiation.
Quick start
Three steps, two minutes:
- Get a token — sign in at app.writespace.io, open Settings → API tokens, create a token (shown once, revocable any time).
- Endpoint — one hosted endpoint for all accounts:
https://app.writespace.io/mcp - Configure your client — snippets below.
Claude Code (CLI)
claude mcp add --transport http writespace \
https://app.writespace.io/mcp \
--header "Authorization: Bearer ws_pat_YOUR_TOKEN_HERE"
Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json
Claude Desktop's config supports only local (stdio) servers, so a remote HTTP
server is bridged through mcp-remote,
which Claude Desktop launches locally and which forwards to the endpoint:
{
"mcpServers": {
"writespace": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://app.writespace.io/mcp",
"--header",
"Authorization:${AUTH_HEADER}"
],
"env": {
"AUTH_HEADER": "Bearer ws_pat_YOUR_TOKEN_HERE"
}
}
}
}
Notes:
- The token goes in the
AUTH_HEADERenv var (and--header Authorization:${AUTH_HEADER}with no space after the colon) becausemcp-remotemishandles spaces in--headerarguments. - Claude Desktop launches with a minimal
PATH. Ifnpxisn't found, use its absolute path (e.g./usr/local/bin/npx, or your nvm path) — and add a matching"PATH"entry toenvif it relies on a versionednode. - Fully quit and reopen Claude Desktop (Cmd-Q) after editing — the config is read only at launch.
Cursor
Settings → MCP → Add server
Type: HTTP
URL: https://app.writespace.io/mcp
Header: Authorization: Bearer ws_pat_YOUR_TOKEN_HERE
Gemini CLI
~/.gemini/settings.json
{
"mcpServers": {
"writespace": {
"httpUrl": "https://app.writespace.io/mcp",
"headers": {
"Authorization": "Bearer ws_pat_YOUR_TOKEN_HERE"
}
}
}
}
Any other spec-compliant MCP client works the same way: HTTP transport + Authorization: Bearer header.
Tools
Every tool except list_workspaces takes a workspace_id — call list_workspaces first to discover them.
| Tool | Description |
|---|---|
list_workspaces | List every workspace you belong to |
list_folders | List folders, optionally nested under a parent |
list_docs | List documents, optionally scoped to a folder; returns metadata per row |
get_doc | Fetch a doc by ID — canonical Tiptap JSON + markdown rendering + metadata |
search | Ranked full-text search with <<match>> snippets |
query_docs | Find docs whose metadata contains a JSON object (Postgres JSONB @>) |
create_doc | Create a doc from Tiptap JSON or markdown |
update_doc | Update title, content, or metadata (shallow-merge; null deletes a key) |
upsert_doc | Create-or-update by title within an optional folder — idempotent |
append_to_doc | Append markdown / Tiptap JSON to an existing doc |
replace_section | Replace a section's body by its heading text — surgical edits |
delete_doc | Delete a doc by ID |
move_doc | Move a doc to another folder (folder_id: null → root) |
create_folder | Create a folder, optionally nested |
rename_folder | Rename a folder — IDs stay stable, links don't break |
delete_folder | Delete a folder and its contents |
Full reference with format notes and troubleshooting: writespace.io/connect
Design notes
- Lossless content, two formats — reads return both
content(Tiptap JSON) andcontent_markdown; writes accept either. Markdown round-trips for everything the editor supports, including tables, task lists, and mermaid diagrams. - Lean write responses — write tools return only metadata by default, saving 80–95% of the payload on long docs. Pass
include_content: trueto echo the body. - Structured metadata — every doc carries a JSONB
metadatafield. Treat it as queryable frontmatter: write it, shallow-merge it, query by containment. - Stable cross-doc links — reference docs as
writespace://doc/<id>; IDs survive renames and moves. - Live reload — MCP writes notify open editors over Realtime; they refetch in the same tab.
Use cases
- MCP docs server — a docs backend your agents treat as a tool
- Shared docs for Claude — persistent memory and notes for Claude
- Shared docs for ChatGPT — same workspace, different model
- MCP knowledge base — searchable team knowledge any agent can query
Auth & security
- Per-agent personal access tokens, issued and revoked from Settings — scoped to your account, easy to rotate
- Tokens are shown once at creation
- Standard
Authorization: Bearer ws_pat_…header; spec-compliant HTTP transport
Links
- Website: writespace.io
- App: app.writespace.io
- Setup & full tool reference: writespace.io/connect
- Contact: [email protected]
© 2026 Writespace · Pro is $5/user/month, free tier available.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.