MDX Limo Product Overview
MDX Limo is a modern, web-based markdown document sharing platform that enables users to instantly create, share, and collaborate on markdown (.md) and MDX (.mdx) files. It combines the simplicity of instant sharing with powerful features for authenticated users.
What is MDX Limo?
MDX Limo provides a premium, streamlined experience for markdown and MDX document sharing. The platform serves everyone from developers needing quick code snippet sharing to technical writers managing complex documentation workflows.
Key value proposition: Share markdown instantly without signup, or upgrade for unlimited documents, private sharing, and custom URLs.
Features
Core Features (All Users)
| Feature | Description |
|---|---|
| Instant Sharing | Create and share documents with a unique URL immediately—no sign-up required |
| Markdown & MDX Support | Full support for standard .md and .mdx (markdown with JSX components) |
| Dual View Modes | Toggle between rendered HTML view and raw markdown/MDX source |
| Syntax Highlighting | Automatic language detection and highlighting for code blocks |
| Drag-and-Drop Upload | Upload markdown files directly or paste content |
| Dark/Light Mode | Full theme support with system preference detection |
| LaTeX Math Rendering | Built-in KaTeX support for mathematical equations |
Free Plan (Authenticated Users)
- 15 Document Limit — Create up to 15 documents
- Document Management — Full CRUD operations on documents
- Public Sharing — Share documents via unique URLs
- Cloud Storage — Documents synced via Supabase
Pro Plan ($5/month)
- Unlimited Documents — No document limits
- Private Sharing — Mark documents as private with email-based access control
- Custom URLs — Set custom slugs (e.g.,
mdxlimo.com/my-docs) - View Analytics — Track document view counts
- Version History — Access previous versions of documents
Tech Stack
Frontend
- Framework: Next.js 16 (App Router)
- Language: TypeScript
- Styling: Tailwind CSS 4 + shadcn/ui
- Editor: CodeMirror 6 (lazy-loaded)
- Markdown: react-markdown, remark-gfm, rehype-highlight
- MDX: next-mdx-remote for safe server rendering
Backend
- API: Next.js App Router API routes
- Database: Supabase (PostgreSQL with Row-Level Security)
- Auth: Supabase Auth
- Payments: Stripe (subscription management)
AI Integration
- MCP Server: Built-in Model Context Protocol support for AI agent integration
Target Audience
-
Developers & Engineers
- Quick code snippet sharing with documentation
- Technical documentation collaboration
- Interactive documentation via MDX
-
Technical Writers
- API documentation and guides
- Version history for editorial workflows
- Document analytics
-
Educators & Students
- Lecture notes and study materials
- Course materials with code examples
- Collaborative projects
-
Quick Sharers
- One-time markdown sharing without accounts
- Anonymous sharing for temporary documents
Architecture
Database Schema
| Table | Purpose |
|---|---|
documents | Stores markdown/MDX content, ownership, privacy, custom slugs, view counts |
subscriptions | User subscription status, Stripe IDs, billing periods |
document_shares | Email-based access control for private documents |
document_versions | Version history snapshots (Pro) |
stripe_webhook_events | Webhook idempotency tracking |
Security
- Row-Level Security (RLS): Database-level access control enforced via Supabase policies
- Content Sanitization: DOMPurify for safe HTML rendering
- Auth Tokens: Secure JWT-based authentication via Supabase
Performance Optimizations
- Lazy-loaded Editor: CodeMirror (~150KB+) loads on demand
- Idle-time Preloading: Editor preloads during idle periods
- Efficient Rendering: Optimized markdown parsing pipeline
API & Integrations
REST API Endpoints
| Endpoint | Purpose |
|---|---|
/api/checkout | Stripe checkout session creation |
/api/billing-portal | Stripe customer portal access |
/api/mcp | Model Context Protocol JSON-RPC endpoint |
MCP Server Tools
The MCP server enables AI agents (like Claude) to interact with documents:
list_documents— List all user documentssearch_documents— Search with fuzzy matchingget_document— Retrieve document by slugcreate_document— Create new documentsupdate_document— Update existing documentsdelete_documents— Delete documentsget_document_count— Check usage/limitsadd_document_share— Share via email (Pro)remove_document_share— Revoke access (Pro)
Pricing
| Plan | Price | Documents | Private Sharing | Custom URLs | Analytics | Version History |
|---|---|---|---|---|---|---|
| Free | $0 | 15 | No | No | No | No |
| Pro | $5/mo | Unlimited | Yes | Yes | Yes | Yes |
Unique Differentiators
- Zero-Friction Sharing — No account required for basic document sharing
- Native MDX Support — JSX components in markdown for interactive docs
- Email-Based Privacy — Granular access control without complex team management
- AI-Ready — MCP server integration for AI agent workflows
- Hybrid Storage — Local storage for anonymous users, cloud for authenticated
Getting Started
For Users
- Visit the app and paste or upload markdown content
- Click share to get a unique URL
- Sign up to save documents and access Pro features
For AI Agents
Add the MCP server to your configuration:
1claude mcp add mdx-limo https://mdxlimo.com/api/mcp --transport http-streamThen use the available tools to manage documents programmatically.
Development
Local Setup
1# Install dependencies
2pnpm install
3
4# Set up environment variables
5cp .env.example .env.local
6# Add Supabase and Stripe credentials
7
8# Run development server
9pnpm devEnvironment Variables
| Variable | Description |
|---|---|
NEXT_PUBLIC_SUPABASE_URL | Supabase project URL |
NEXT_PUBLIC_SUPABASE_ANON_KEY | Supabase anonymous key |
SUPABASE_SERVICE_ROLE_KEY | Supabase service role key |
STRIPE_SECRET_KEY | Stripe secret key |
STRIPE_WEBHOOK_SECRET | Stripe webhook signing secret |
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY | Stripe publishable key |
STRIPE_PRO_PRICE_ID | Stripe price ID for Pro plan |
Version
Current Version: 0.1.0 (Early Release)
Last updated: February 2025