| name | mdshare-tools |
| description | Use this skill when the user wants to share, publish, or send a markdown file to a teammate; needs a hosted URL for markdown content; wants to collaborate on markdown with comments or real-time editing; or asks about mdshare-specific operations like generating share links, managing permissions, or document versions. Activates on phrases like "share this markdown", "publish my notes", "give me a link for this doc", "let me comment on the markdown", or any direct mention of mdshare. |
mdshare — markdown sharing via MCP
mdshare is a free, no-login markdown sharing service at mdshare.live. This skill orchestrates 14 MCP tools that let Cursor upload, read, edit, comment on, and version markdown documents.
When to use
- The user has a markdown file or just-generated markdown content they want to share
- The user wants link-based collaboration (comments, edit permissions, real-time sync)
- The user mentions mdshare specifically
When NOT to use
- The user wants Cursor to read or edit local markdown files (use the standard file tools)
- The user wants to configure Cursor with markdown context (
.cursorrules, .cursor/commands/, AGENTS.md territory — different concept)
- The content is sensitive — share links are the only auth; warn the user instead
Core conventions
- All arguments are literal strings. Shell substitution like
$(cat file) does NOT work.
- For files on disk, prefer
file_path / output_path. Inline content over ~1KB burns tokens unnecessarily.
key is OPTIONAL on tools addressed by document_id — admin keys are looked up automatically from the local credential store.
- Never surface admin URLs to the user unless they explicitly ask.
upload_markdown returns only share_url by design.
- For small edits, prefer
patch_document over update_document — keeps version history granular.
Tool reference
Sharing a new document
upload_markdown(file_path) — preferred; pass disk path so content never enters conversation context
upload_markdown(content) — fallback for inline content under ~1KB
Returns share_url. Admin URL is stored locally; surface only if explicitly asked via get_admin_url(document_id).
Editing an existing document
patch_document(document_id, operations) — preferred for small edits (find/replace operations)
update_document(document_id, file_path) — for whole-doc rewrites; pass file_path not content
Generating links with specific permissions
generate_link(document_id, permission) — permission is one of admin, edit, comment, view
revoke_link(token) — invalidate a specific link
list_links(document_id) — see all active links
Comments
post_comment(document_id, content, anchor_text?) — anchor_text creates an inline-anchored comment
list_comments(document_id) — read the thread
resolve_comment(comment_id) — mark resolved (drops the in-document highlight)
Discovery
list_my_documents() — all documents uploaded via this MCP server
register_document(admin_url) — import an admin URL from elsewhere
read_document(document_id, output_path?) — fetch content; pass output_path for documents over 10KB
Versions
get_versions(document_id) — see edit history
Caveats
- Documents expire after 90 days
- Anyone with a share link can access at the link's permission tier — don't paste sensitive content
- Free service with no accounts; not a Google Docs replacement