Md.page
Markdown in, beautiful page out. Turn any Markdown into a shareable web page β one API call, zero setup.
Ask AI about Md.page
Powered by Claude Β· Grounded in docs
I know everything about Md.page. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
Instantly turn Markdown into a shareable web page.
Free anonymous pages expire in 24h. Sign in for permanent pages with your own subdomain.
Website Β· AI Agents Β· API Β· Accounts Β· Self-Host
Add to your AI Agent
The easiest way to use md.page is through your AI coding agent. Just ask it to "share this" or "publish this markdown" and it creates a link for you.
Claude Code
Install the md.page skill:
npx skills add maypaz/md.page
OpenClaw
npx clawhub@latest install publish-to-mdpage
MCP Server
For agents that support MCP (Cursor, Claude Desktop, VS Code, and others), add md.page as a tool server:
{
"mcpServers": {
"mdpage": {
"command": "npx",
"args": ["-y", "mdpage-mcp"]
}
}
}
See mcp/README.md for full setup instructions.
Any Agent (Prompt-Based)
Copy this prompt into any AI agent that can make HTTP requests:
From now on, whenever I ask you to share or publish a markdown file, use the md.page API to create a shareable HTML page. Send a POST request to https://md.page/api/publish with the body {"markdown": ""} and return the shareable URL to me.
Use Directly
CLI
npx mdpage-cli README.md
Published β https://md.page/a8Xk2m
Expires in 24h
One command, zero setup.
# Publish and copy URL to clipboard
npx mdpage-cli README.md --copy
# Publish and open in browser
npx mdpage-cli notes.md --open
# Pipe from stdin
cat CHANGELOG.md | npx mdpage-cli
# Install globally for faster access
npm i -g mdpage-cli
mdpage-cli README.md
API
POST /api/publish
Create a shareable page from markdown.
curl -X POST https://md.page/api/publish \
-H "Content-Type: application/json" \
-d '{"markdown": "# Hello World\nYour markdown here..."}'
{
"url": "https://md.page/a8Xk2m",
"expires_at": "2026-03-28T12:00:00.000Z"
}
| Status | Description |
|---|---|
201 | Created successfully |
400 | Missing or invalid markdown field |
413 | Content too large (max 500KB) |
GET /:id
View a published page. Returns rendered HTML.
Features
- One command β
npx mdpage-cli README.mdand you're done - Beautiful β clean typography, code blocks, tables, responsive design
- Short URLs β
md.page/a8Xk2m(6-character IDs) - Private β links are unguessable, only people with the URL can view
- Auto-expiry β anonymous pages self-delete after 24 hours
- Permanent pages β sign in for pages that never expire
- Your subdomain β
username.md.page/slug - API keys β programmatic publishing from any agent or script
- Visibility control β public or private per page
- AI agent friendly β designed to work with any AI agent or LLM
Accounts & Subdomains
Sign in at md.page/login with Google to get:
- Your own subdomain β
username.md.page - Permanent pages β up to 10 docs that never expire
- API keys β publish from scripts, CI, or AI agents
- Dashboard β manage all your pages from one place
- Visibility control β make pages public or private
Authenticated API
All authenticated endpoints require either a session cookie or an API key (Authorization: Bearer mdp_xxx).
Create API keys from your settings page.
POST /api/pages β create a permanent page
curl -X POST https://md.page/api/pages \
-H "Authorization: Bearer mdp_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"markdown": "# Hello", "title": "hello", "slug": "hello", "visibility": "public"}'
{
"id": "a8Xk2m",
"url": "https://username.md.page/hello",
"slug": "hello",
"visibility": "public"
}
PUT /api/pages/:id β update a page
curl -X PUT https://md.page/api/pages/a8Xk2m \
-H "Authorization: Bearer mdp_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"markdown": "# Updated content"}'
DELETE /api/pages/:id β delete a page
curl -X DELETE https://md.page/api/pages/a8Xk2m \
-H "Authorization: Bearer mdp_YOUR_KEY"
GET /api/pages β list your pages
curl https://md.page/api/pages \
-H "Authorization: Bearer mdp_YOUR_KEY"
GET /api/me β current user info
curl https://md.page/api/me \
-H "Authorization: Bearer mdp_YOUR_KEY"
API Key Management
| Method | Endpoint | Description |
|---|---|---|
POST | /api/keys | Create a new API key (max 5) |
GET | /api/keys | List your API keys |
PATCH | /api/keys/:id | Rename a key |
DELETE | /api/keys/:id | Revoke a key |
Self-Hosting
md.page runs on Cloudflare Workers with KV storage. Deploy your own instance:
Prerequisites
- Cloudflare account (free tier works)
- Node.js 18+
Setup
# Clone the repo
git clone https://github.com/maypaz/md.page.git
cd md.page
# Install dependencies
npm install
# Create a KV namespace
npx wrangler kv namespace create PAGES
# Update wrangler.toml with your KV namespace ID
# Deploy
npx wrangler deploy
Local Development
npm run dev
# β http://localhost:8787
Tech Stack
- Runtime: Cloudflare Workers (Hono framework)
- Storage: Cloudflare KV (page content), D1 (users, sessions, keys, pages metadata), R2 (assets)
- Markdown: markdown-it
- Auth: Google OAuth 2.0
Contributing
Contributions are welcome! See CONTRIBUTING.md for guidelines.
