Skip to main content
Glama
README.md
# mdshare

Share markdown instantly. Free. No login required.

[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
[![MCP](https://img.shields.io/npm/v/mdshare-mcp?label=MCP&color=indigo)](https://www.npmjs.com/package/mdshare-mcp)
[![GitHub last commit](https://img.shields.io/github/last-commit/urbanmorph/mdshare)](https://github.com/urbanmorph/mdshare)
[![Runs on Cloudflare Workers](https://img.shields.io/badge/Runs%20on-Cloudflare%20Workers-F38020?logo=cloudflare)](https://mdshare.live)

**[mdshare.live](https://mdshare.live)** | **[API Docs](https://mdshare.live/docs)** | **[VS Code](https://mdshare.live/docs#vscode)** | **[Obsidian](https://mdshare.live/docs#obsidian)**

![mdshare editor](public/screenshot.png)

## Quick Start

Paste markdown at [mdshare.live](https://mdshare.live), start from a blank page, or upload via curl:

```bash
curl -X POST https://mdshare.live/api/documents \
  -H "Content-Type: text/markdown" \
  --data-binary @your-file.md
```

You get back an admin URL. Share it, or generate links with different permissions.

[Full API documentation](https://mdshare.live/docs)

## Features

- **Four permission levels** -- Admin, Edit, Comment, View -- each with its own shareable link
- **WYSIWYG editor** -- formatting toolbar, tables, code blocks, keyboard shortcuts
- **Inline comments** -- anchor comments to specific text, reply, and resolve
- **Real-time sync** -- WebSocket collaboration, live presence indicators
- **Link management** -- revoke links instantly, optional expiry, 50-link cap per document
- **VS Code & Obsidian plugins** -- share markdown directly from your editor
- **API & MCP** -- REST API + MCP server for Claude, ChatGPT, Gemini, Cursor, and Windsurf

## MCP Server

```bash
npx mdshare-mcp
```

Say *"upload my-notes.md to mdshare"* in any MCP-compatible AI tool. The MCP server reads files directly from disk (no echoing through the conversation), so it's fast even for large markdown files. [Setup guide](https://mdshare.live/share-markdown-with-ai)

## Claude Code Plugin

```
/plugin marketplace add urbanmorph/mdshare
/plugin install mdshare@urbanmorph
```

Wraps the MCP server above with a single skill — Claude reaches for it on phrases like *"share this markdown"*. [Setup guide](https://mdshare.live/install-mdshare-plugin) · [source](plugins/claude-code/)

## Cursor Plugin

Listed on [Cursor Directory](https://cursor.directory/plugins/mdshare) — click "Add to Cursor" on the listing page. Same MCP server, same skill as the Claude Code plugin. [Source](plugins/mdshare-cursor/)

## Obsidian Plugin

Listed in the [Obsidian Community Plugins directory](https://community.obsidian.md/plugins/mdshare) — install via `Settings → Community Plugins → Browse → search "mdshare"`. Right-click any `.md` file in your vault to share it; admin URL is copied to your clipboard. [Source](https://github.com/urbanmorph/obsidian-mdshare)

## Tech Stack

| Component | Technology |
|-----------|-----------|
| Framework | Astro 5 |
| UI | React (as Astro islands) |
| Hosting | Cloudflare Workers (native) |
| Database | Cloudflare D1 (SQLite) |
| Real-time | Cloudflare Durable Objects (WebSocket) |
| Editor | Tiptap + tiptap-markdown |
| Styling | Tailwind CSS v4 |
| CI/CD | GitHub Actions |

## Local Development

```bash
git clone https://github.com/urbanmorph/mdshare.git
cd mdshare
npm install

# Create a .dev.vars file with your Cloudflare API token
echo "CLOUDFLARE_API_TOKEN=your_token" > .dev.vars

# Apply local D1 migrations
npx wrangler d1 migrations apply mdshare-db --local

# Start dev server
npm run dev -- -p 3737
```

## Contributing

Issues and PRs welcome. Please open an issue first to discuss significant changes.

## License

MIT

TDQS

A4.4/5.0

Scored across 14 tools

Disambiguation5/5

Each tool has a distinct purpose with no overlap: upload_markdown creates new documents, read_document retrieves content, update_document and patch_document handle edits differently, list_my_documents manages local storage, generate_link/revoke_link/list_links manage sharing, and post_comment/list_comments/resolve_comment handle comments. The descriptions clearly differentiate their functions, preventing agent misselection.

Naming Consistency5/5

All tools follow a consistent verb_noun naming pattern (e.g., upload_markdown, read_document, list_comments) with no deviations. The pattern is uniform across all 14 tools, making them predictable and easy for an agent to parse and understand.

Tool Count5/5

With 14 tools, the server is well-scoped for managing markdown documents on mdshare, covering upload, read, update, patch, local listing, sharing, and commenting. Each tool serves a specific function without redundancy, making the count appropriate for the domain's complexity and workflows.

Completeness4/5

The tool set provides comprehensive coverage for document lifecycle (upload, read, update, patch, history via get_versions) and collaboration (sharing, commenting). Minor gaps include no tool for deleting documents or managing user permissions beyond share links, but core workflows are fully supported, allowing agents to work effectively.

Maintenance

ActivitySlowing
ResponsivenessNo issues