streamable-httpMITupdated 2mo ago
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.
What can you do with writespace mcp?
Writespace 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: hello@writespace.io
ยฉ 2026 Writespace ยท Pro is $5/user/month, free tier available.
Install
Add writespace mcp to your client. Pick the one you use.
claude mcp add --transport http writespace-mcp https://app.writespace.io/mcpcodex mcp add writespace-mcp --url https://app.writespace.io/mcp{
"mcpServers": {
"writespace-mcp": {
"url": "https://app.writespace.io/mcp"
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
{
"servers": {
"writespace-mcp": {
"type": "http",
"url": "https://app.writespace.io/mcp"
}
}
}Add to `.vscode/mcp.json` in your workspace.
{
"mcpServers": {
"writespace-mcp": {
"url": "https://app.writespace.io/mcp"
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"writespace-mcp": {
"serverUrl": "https://app.writespace.io/mcp"
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
15 tools
writespace mcp exposes 15 tools to a connected agent.
- 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
- 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
Score
77 / 100
Good
- Documentation25/25
- Maintenance16/25
- Trust16/20
- Capability8/15
- Install experience12/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 68 days ago
- Has a release history
- Repository is not archived
- Licensed MIT
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 15 tool(s) documented
- Provides prompt templates
- Provides resources
- 6 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint โ no local install
Version history
| Versions | Published |
|---|---|
| 1.0.0Latest | Jun 18, 2026 |