pad-core
Allows agents to create, read, update, and list Markdown documents, and manage threaded comments on them.
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., "@pad-corecreate a new document titled 'Project Plan'"
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.
██████╗ █████╗ ██████╗
██╔══██╗██╔══██╗██╔══██╗
██████╔╝███████║██║ ██║
██╔═══╝ ██╔══██║██║ ██║
██║ ██║ ██║██████╔╝
╚═╝ ╚═╝ ╚═╝╚═════╝pad
A HackMD your agents can write to directly: no browser, no human relay.
mcp · bun · postgres · drizzle · agent-to-agent
> "draft the winlab meeting notes as a pad doc, share it with the lab"
⚡ doc_create { title: "winlab meeting notes", visibility: "shared" }
✓ doc created · id k3f9pQz2mTxA · version 1One tool call, one markdown doc, owned by the agent that wrote it.
Every agent used to keep its own scratch notes nobody else could reach, so drafts died in one context window and feedback meant pasting text back and forth by hand. pad gives them a shared surface instead: a document store agents write to directly, with real optimistic-lock updates and threaded comments a human can leave without touching an SDK. Storage is boring Postgres; the whole interface is seven MCP tools.
Install
claude mcp add --transport http pad https://pad-mcp.app.zyx.tw/mcp --header "Authorization: Bearer <token>"Any other MCP client:
{
"mcpServers": {
"pad": {
"type": "http",
"url": "https://pad-mcp.app.zyx.tw/mcp",
"headers": { "Authorization": "Bearer <token>" }
}
}
}The endpoint above is Loki's own cluster; bring your own token, or self-host withbun run apps/mcp/src/server.ts (see Dev below).
Every request is bearer-gated and fails closed: no valid token, no access, ever.
Related MCP server: md-feedback
What it gives you
Create and edit docs:
doc_create/doc_update, optimistic locking viabase_versionso concurrent writes never silently clobber each other.List and filter your own drafts:
doc_listbystatus(draft·in_review·changes_requested·approved) or tag.Read threaded comments:
comments_listre-anchors each comment's line range to the current revision, or flags it outdated if the quoted text is gone.Reply and resolve:
comment_replythreads under a parent comment,comment_resolvecloses the loop.
Tools
Tool | Description |
| Create a doc you own; defaults to |
| Read a doc, returns the current |
| Update content; requires |
| List your docs, optional |
| List comments with live-recomputed trust and re-anchored positions |
| Reply to a comment thread, posted as the doc owner |
| Mark a comment resolved |
Trust model
Every comment carries a live-recomputed trust: owner, shared, or public. Only owner trust is a real instruction to the agent; shared and public are data for a human to triage. The domain layer also blocks the agent from ever changing a doc's visibility or ACL, so a hostile public comment cannot talk it into publishing or re-sharing something private.
Dev
bun install
bun run typecheck
# needs DATABASE_URL, MCP_WRITE_TOKEN (>=16 chars), OWNER_EMAIL
bun run apps/mcp/src/server.tspackages/domain is the single authz source, imported by every consumer. apps/mcp (pad-core) is the only one that exists today: a Bun server that hand-rolls JSON-RPC over /mcp, since Bun.serve speaks the WHATWG fetch API and the standard MCP SDK transport expects Node's http.ServerResponse.
Deploy
CI builds ghcr.io/zyx1121/pad-core (SHA-pinned) on every push to main; the vivarium GitOps repo deploys it to k3s (namespace pad) alongside its own Postgres. Reachable at pad-mcp.app.zyx.tw (external, token) and pad-mcp.internal (in-cluster).
A human read/comment web app (apps/web + packages/ui) used to live here and was removed; it is still in git history if it ever comes back, but for now pad only speaks MCP.
Contributing
Issues and PRs welcome: start with CONTRIBUTING.md.
License
MIT · the only reader that never complains about the markdown formatting
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityBmaintenanceMCP server for MDMA (Markdown Document with Mounted Applications) — interactive Markdown with forms, approval gates, tables, and more. Exposes the MDMA spec, authoring prompts, package metadata, and live docs to AI assistants so agents can author and integrate MDMA correctly.75658MIT
- Flicense-qualityBmaintenanceAn MCP server for reviewing markdown plans before AI agents implement them. Enables annotation of plans with Fix, Question, and Highlight, which AI agents can read directly through MCP.5
- Alicense-qualityDmaintenanceMCP server that enables AI coding agents to communicate, share state, and coordinate work in real time via MCP tools or REST API.895MIT
- Alicense-qualityAmaintenanceMCP server for structured document management of markdown and YAML files, with RBAC, git-based approval workflows, and semantic search, enabling agents to read, edit, and maintain documents under governance.MIT
Related MCP Connectors
MCP-native collaborative markdown editor with real-time AI document editing
MCP server for AgentDocs (agentdocs.eu): read, search, write, comment on & share Markdown docs.
Real-time collaborative whiteboard — AI agents and humans edit the same board live over MCP.
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/zyx1121/pad'
If you have feedback or need assistance with the MCP directory API, please join our Discord server