plsreadme
Share markdown files and text as clean, readable web links. Works with Cursor, Claude Desktop, VS Code, Windsurf, and any MCP client.
The Problem
You wrote a README, a PRD, meeting notes, or an API doc in markdown. Now you need to share it with someone who doesn't have a markdown renderer, doesn't use GitHub, or just needs a clean link they can open in a browser.
plsreadme turns any markdown into a permanent, beautifully rendered web page in one step. No accounts. No sign-ups. No friction.
✨ Features
- Instant sharing — Paste markdown or upload a file, get a
plsrd.melink - Beautiful rendering — Clean typography, dark mode, mobile-responsive
- Inline comments — Readers can click any paragraph and leave feedback
- AI auto-formatting — Throw raw text at it; it comes out as clean markdown
- MCP server — Share docs directly from Claude, Cursor, VS Code, or any MCP client
- OpenClaw skill — Available on ClawHub for AI agent workflows
- Short links — Every doc gets a compact
plsrd.me/v/xxxURL - Raw access — Download the original
.mdfile from any shared link - Zero config — No API keys needed for basic usage
🚀 Quick Start
Web
Go to plsreadme.com, paste your markdown, click share.
API
curl -X POST https://plsreadme.com/api/render \
-H "Content-Type: application/json" \
-d '{"markdown": "# Hello World\n\nThis is my doc."}'
{
"id": "abc123def456",
"url": "https://plsreadme.com/v/abc123def456",
"raw_url": "https://plsreadme.com/v/abc123def456/raw",
"admin_token": "sk_..."
}
Save the admin_token — you'll need it to edit or delete:
# Update
curl -X PUT https://plsreadme.com/v/abc123def456 \
-H "Authorization: Bearer sk_..." \
-H "Content-Type: application/json" \
-d '{"markdown": "# Updated content"}'
# Delete
curl -X DELETE https://plsreadme.com/v/abc123def456 \
-H "Authorization: Bearer sk_..."
MCP (AI Editors)
Connect your editor to plsreadme and share docs with natural language:
"Share this README as a plsreadme link" "Turn my PRD into a shareable page" "Make these meeting notes into a readable link"
🔌 MCP Setup
Claude Code
claude mcp add plsreadme -- npx -y plsreadme-mcp
Cursor
Add to ~/.cursor/mcp.json:
{
"mcpServers": {
"plsreadme": {
"command": "npx",
"args": ["-y", "plsreadme-mcp"]
}
}
}
VS Code
Add to your settings.json:
{
"mcp": {
"servers": {
"plsreadme": {
"command": "npx",
"args": ["-y", "plsreadme-mcp"]
}
}
}
}
Claude Desktop
Add to claude_desktop_config.json:
{
"mcpServers": {
"plsreadme": {
"command": "npx",
"args": ["-y", "plsreadme-mcp"]
}
}
}
Windsurf
{
"mcpServers": {
"plsreadme": {
"command": "npx",
"args": ["-y", "plsreadme-mcp"]
}
}
}
Remote MCP (zero install)
Some clients support remote MCP endpoints directly:
https://plsreadme.com/mcp
add-mcp
npx add-mcp plsreadme-mcp
OpenClaw
clawhub install plsreadme
🛠 MCP Tools
| Tool | What it does |
|---|---|
plsreadme_share_file | Share a local file by path → returns shareable link. Re-sharing updates the same link. |
plsreadme_share_text | Share markdown or plain text directly → returns shareable link |
plsreadme_update | Update an existing doc with new content (by ID or file path) |
plsreadme_delete | Delete a shared doc permanently (by ID or file path) |
plsreadme_list | List all documents you've shared from this project |
Prompts:
share-document— Guided flow to share content as a readable linkrefactor-and-share— Uses your AI model to refactor raw text into polished markdown, then shares it
Plain text input? No problem — the MCP auto-structures it into markdown, or you can use the refactor-and-share prompt to leverage your AI's reasoning for a polished result.
.plsreadme Record File
The MCP server tracks your shared documents in a .plsreadme JSON file in your project root. This stores document IDs, URLs, and admin tokens needed for editing and deleting.
⚠️ Add .plsreadme to your .gitignore — it contains admin tokens. The tool will warn you if it's missing.
🏗 Architecture
Built on Cloudflare's edge stack for speed everywhere:
┌─────────────┐ ┌──────────────────┐ ┌─────────┐
│ Web / API │────▶│ Cloudflare │────▶│ R2 │
│ MCP Client │ │ Workers (Hono) │ │ (docs) │
└─────────────┘ └──────────────────┘ └─────────┘
│
┌──────┴──────┐
│ D1 │
│ (metadata) │
└─────────────┘
- Hono — Lightweight web framework on Workers
- Cloudflare D1 — SQLite at the edge for metadata, comments, analytics
- Cloudflare R2 — Object storage for markdown documents
- Durable Objects — Stateful MCP server endpoint
- Workers AI — Optional fallback for text-to-markdown conversion
📁 Project Structure
plsreadme/
├── worker/
│ ├── index.ts # Main worker entry
│ ├── routes/
│ │ ├── docs.ts # Document creation & rendering
│ │ ├── comments.ts # Inline commenting system
│ │ ├── convert.ts # AI text→markdown conversion
│ │ ├── analytics.ts # View tracking
│ │ ├── links.ts # Short link handling
│ │ └── waitlist.ts # Waitlist & notifications
│ ├── mcp-agent.ts # Remote MCP server (Durable Object)
│ └── types.ts # TypeScript types
├── packages/
│ └── mcp/ # npm package: plsreadme-mcp
│ └── src/index.ts # MCP server (stdio transport)
├── public/ # Static assets & landing pages
├── db/
│ └── schema.sql # D1 database schema
├── skill/
│ └── plsreadme/ # OpenClaw agent skill
└── wrangler.jsonc # Cloudflare Workers config
🔧 Development
# Install dependencies
npm install
# Run locally
npm run dev
# Deploy
npm run deploy
# Database migrations
npm run db:migrate
Environment Variables
Set via wrangler secret put:
| Variable | Required | Description |
|---|---|---|
OPENAI_API_KEY | No | OpenAI key for /api/convert text→markdown |
DISCORD_WEBHOOK_URL | No | Waitlist signup notifications |
DISCORD_LINK_WEBHOOK_URL | No | New link creation notifications |
RESEND_API_KEY | No | Email notifications |
NOTIFICATION_EMAIL | No | Email recipient for notifications |
The core sharing functionality requires zero configuration. AI conversion and notifications are optional add-ons.
📊 Limits
| Limit | Value |
|---|---|
| Max document size | 200 KB |
| Upload rate limit | 30/hour per IP |
| AI convert rate limit | 10/hour per IP |
| Link lifetime | Permanent |
🤝 Contributing
Feature ideas? Bug reports? Open an issue.
PRs welcome for bug fixes and improvements.
📄 License
MIT — do whatever you want with it.
Related Servers
YggTorrent
A server to programmatically interact with the YggTorrent file-sharing platform.
Filesystem MCP Server
Provides file system operations, analysis, and manipulation capabilities through a standardized tool interface.
Excel/CSV MCP Server
Read, analyze, and manipulate data in Excel (XLSX, XLS) and CSV files with advanced filtering and analytics.
PDF Splitter
Provides random access to PDF contents, allowing selective extraction of pages and content to reduce reading costs.
Excel MCP Server
An MCP server for manipulating and managing Excel files.
File Convert MCP Server
Convert files between various formats, including images, documents, audio, video, and more.
Synology MCP Server
Manage files and downloads on Synology NAS devices using an AI assistant.
Readonly Filesystem MCP Server
Provides read-only access to local files and directories.
MCP Excel Reader
Read large Excel files with automatic chunking and pagination support.
Basic Memory
Build a persistent, local knowledge base in Markdown files through conversations with LLMs.