rustpad-mcp
Provides tools to read and write collaborative text pads in a Rustpad instance, supporting operations such as creating, editing, and replacing document content via operational transformation to merge cleanly with concurrent human edits.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@rustpad-mcpcreate a collaborative todo list pad and share the link"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
rustpad-mcp
A Model Context Protocol server for Rustpad, the efficient, minimal, self-hosted collaborative text editor.
It gives an AI assistant read and write access to the pads of a Rustpad
instance. Reads go through Rustpad's HTTP API; writes speak the
operational-transformation WebSocket protocol, so targeted edits
(append_to_document, replace_in_document) merge cleanly with what human
collaborators type at the same time instead of overwriting it. While the
server edits a pad, it is visible to everyone in the pad as a collaborator
named rustpad-mcp.
📖 Full documentation at rustpad-mcp.ni-c.de

Requirements
A reachable Rustpad instance (self-hosted; the server is stateless and needs no credentials — Rustpad has no authentication)
Node.js >= 22, or Docker
Related MCP server: SSH MCP Server
Configuration
Variable | Required | Description |
| yes | Base URL of the instance, e.g. |
| no |
|
| no |
|
The same URL serves the HTTP API, the WebSocket endpoint and the share links
returned by the tools (<RUSTPAD_URL>/#<pad-id>). Booleans must be exactly
true. The server starts and lists its tools without configuration; every
call then fails with setup instructions.
Keep in mind what Rustpad is: pads are ephemeral (lost on server restart
and after 24 hours of inactivity, unless the instance is run with
SQLITE_URI) and anyone who knows a pad id can read and write it. Do not
put secrets in pads.
Installation
Claude Code
claude mcp add rustpad --env RUSTPAD_URL=https://rustpad.example.net -- npx rustpad-mcpClaude Desktop
{
"mcpServers": {
"rustpad": {
"command": "npx",
"args": ["rustpad-mcp"],
"env": {
"RUSTPAD_URL": "https://rustpad.example.net"
}
}
}
}Codex
~/.codex/config.toml:
[mcp_servers.rustpad]
command = "npx"
args = ["-y", "rustpad-mcp"]
[mcp_servers.rustpad.env]
RUSTPAD_URL = "https://rustpad.example.net"Docker
docker run -i --rm -e RUSTPAD_URL=https://rustpad.example.net ghcr.io/ni-c/rustpad-mcpTools
Tool | Description |
| Read the plain-text content of a pad |
| Content length, revision, language and the users editing right now |
| Server statistics (uptime, number of documents) |
| Create a pad (random or chosen id), optionally with content and language |
| Replace the entire content — non-empty pads require a confirmation token |
| Append text; concurrent edits elsewhere survive |
| Exact search & replace via OT; unique match required unless |
| Set the Monaco syntax-highlighting language |
With RUSTPAD_READ_ONLY=true only the first three are registered.
Safety
Pad content is world-writable and therefore untrusted: every read result is prefixed with a marker telling the model to treat it as data, never as instructions.
Replacing a non-empty pad is irreversible and guarded by a single-use confirmation token that only ever appears in a previous tool result.
Tool results are size-capped; upstream error bodies are sanitized before they reach the model.
RUSTPAD_INSECURE_TLSrelaxes certificate validation only for the configured connection, never process-wide.
Development
npm install
npm run lint && npm run build && npm testThe test suite talks to an in-memory fake of rustpad-server (including OT
transformation of concurrent edits) over the real MCP protocol; no live
instance is needed. The architecture diagram and social card are generated —
edit docs/assets/architecture.source.svg and run npm run assets, never the
rendered copies.
Releasing
Releases are tag-driven. Bump package.json, move the [Unreleased] notes in
CHANGELOG.md under the new version, commit, then:
git tag -s vX.Y.Z -m "vX.Y.Z"
git push origin main vX.Y.ZThe release workflow publishes to npm via Trusted Publishing (OIDC, with provenance), pushes the multi-arch container image to GHCR, creates the GitHub release from the CHANGELOG section, and updates the entry in the official MCP registry.
License
MIT © Willi Thiel
Maintenance
Related MCP Servers
- Alicense-qualityAmaintenanceA Model Context Protocol server that enables AI assistants like Claude to read from, append to, and format text in Google Documents programmatically.3,704637MIT
- AlicenseAqualityDmaintenanceEnables AI assistants to execute SSH commands and perform token-efficient file operations on remote servers via the Model Context Protocol.58111MIT
- AlicenseBqualityDmaintenanceEnables AI-powered document automation and data manipulation with Coda.io through the Model Context Protocol, supporting document, page, table, row, and formula operations.266MIT
- FlicenseBqualityCmaintenanceEnables AI agents to interact with Overleaf projects directly, including creating projects, managing files, and editing documents in real-time using Overleaf's native Operational Transformation protocol.10
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
The team layer for AI coding agents: shared contracts, collision alerts, E2EE sessions.
MCP-native collaborative markdown editor with real-time AI document editing
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ni-c/rustpad-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server