philipand avatar

mkdshare.DEV

io.github.philipand/mkdshare

A streamable HTTP server that lets Claude create, read, and update Markdown documents on mkdshare.dev with built-in access control and inline annotations. You get eight tools: standard CRUD operations for documents, plus list and create methods for anchored comments on specific text ranges. Authentication runs through Google OAuth with a device flow option, so you can sign in entirely through MCP tool calls without touching a browser. Each published document gets a shareable URL. Reach for this when you're drafting technical docs, collaborative notes, or any Markdown content you want to iterate on with an AI assistant and share with specific people rather than dumping everything into local files.

tools
11
auth
Secret needed
transport
HTTP
last updated
May 15, 2026

Install

From registry metadata
$ npx add-mcp https://mkdshare.dev/mcp --name mkdshare --header 'Authorization: Bearer ${API_TOKEN}'

Run in your terminal. add-mcp asks which agents to add it to, then asks for each value it needs. Add -g to install it for every project.

Review the command, arguments and environment values before installing. MCP servers run with your local permissions.

Other ways

Claude Code

$ claude mcp add --transport http mkdshare https://mkdshare.dev/mcp --header 'Authorization: YOUR_AUTHORIZATION'

Run in your terminal. Add --scope user to make it available in every project.

Tools

Verified live · 11 tools

Verified live against the running server on Nov 6, 2026.

list_documentsList all mkdshare.DEV documents owned by or shared with the authenticated user.

List all mkdshare.DEV documents owned by or shared with the authenticated user.

No parameters. Call it with no arguments.

get_documentRead the full markdown content of a document by its slug.1 params

Read the full markdown content of a document by its slug.

Parameters* required
slug*string
8-character document slug from the URL
create_documentCreate a new mkdshare.DEV document. If visibility is omitted the document is owner-only (login_required, restricted to your email).8 params

Create a new mkdshare.DEV document. If visibility is omitted the document is owner-only (login_required, restricted to your email).

Parameters* required
allowed_domainstring
Domain allowed to view, e.g. company.com (domain_restricted visibility)
allowed_emailsstring
Comma-separated emails allowed to view (login_required visibility)
content*string
Markdown content
domain_can_editboolean
When true, all users in allowed_domain can edit (not just view)
editor_emailsstring
Comma-separated emails that can edit this document (in addition to the owner)
expires_atstring
ISO 8601 datetime after which the document expires, e.g. 2026-06-01T00:00:00Z
title*string
Document title
visibilitystring
Who can view the document. If the user didn't specify who should see it, ask them. Omitted = owner-only (login_required, restricted to your email).one of public · login_required · domain_restricted
update_documentUpdate an existing document you own. Omit any field to keep its current value.9 params

Update an existing document you own. Omit any field to keep its current value.

Parameters* required
allowed_domainstring
Domain allowed to view, e.g. company.com; required for domain_restricted
allowed_emailsstring
Comma-separated emails allowed to view; pass empty string to clear
contentstring
New markdown content
domain_can_editboolean
When true, all users in allowed_domain can edit (not just view)
editor_emailsstring
Comma-separated emails that can edit; pass empty string to clear
expires_atstring
ISO 8601 expiry datetime; omit to keep current
slug*string
Document slug
titlestring
New title
visibilitystring
New visibility levelone of public · login_required · domain_restricted
list_annotationsList all annotations (comments) on a document.1 params

List all annotations (comments) on a document.

Parameters* required
slug*string
Document slug
create_annotationAdd an annotation (comment) to a document. Pass quoted_text with the exact passage you want to annotate — the server will locate it automatically. Omit quoted_text to attach to the whole document. You can also provide start_offset + end_offset explicitly if needed.5 params

Add an annotation (comment) to a document. Pass quoted_text with the exact passage you want to annotate — the server will locate it automatically. Omit quoted_text to attach to the whole document. You can also provide start_offset + end_offset explicitly if needed.

Parameters* required
body*string
Annotation text
end_offsetinteger
Character offset where annotation ends
quoted_textstring
The exact text being annotated
slug*string
Document slug
start_offsetinteger
Character offset where annotation starts
archive_documentArchive a document. For documents you own, archives it for everyone. For shared documents, archives it only for you.1 params

Archive a document. For documents you own, archives it for everyone. For shared documents, archives it only for you.

Parameters* required
slug*string
Document slug
search_documentsSearch mkdshare.DEV documents by title and content. Returns documents owned by or shared with the authenticated user that match the query.1 params

Search mkdshare.DEV documents by title and content. Returns documents owned by or shared with the authenticated user that match the query.

Parameters* required
query*string
Search string matched case-insensitively against document title and content
upload_imageUpload an image (png, jpeg, gif, webp; max 1MB) for embedding in documents. Returns a URL and a ready-to-paste markdown snippet. Images are served at an unguessable URL — anyone with the exact link can view.2 params

Upload an image (png, jpeg, gif, webp; max 1MB) for embedding in documents. Returns a URL and a ready-to-paste markdown snippet. Images are served at an unguessable URL — anyone with the exact link can view.

Parameters* required
data*string
Base64-encoded image bytes (standard alphabet, no data: URI prefix)
filename*string
Original filename, e.g. screenshot.png
request_device_authStart a headless Google sign-in. Call this FIRST if you don't have an API token yet. Returns a user_code and verification_url for the user to visit, plus a device_code to use with poll_device_auth. No Bearer token required.

Start a headless Google sign-in. Call this FIRST if you don't have an API token yet. Returns a user_code and verification_url for the user to visit, plus a device_code to use with poll_device_auth. No Bearer token required.

No parameters. Call it with no arguments.

poll_device_authCheck whether the user has approved the device authorization. Call every 5 seconds (or the interval returned by a slow_down response) until status is 'complete'. Save the returned api_token to your MCP server config.1 params

Check whether the user has approved the device authorization. Call every 5 seconds (or the interval returned by a slow_down response) until status is 'complete'. Save the returned api_token to your MCP server config.

Parameters* required
device_code*string
device_code returned by request_device_auth

Sponsors

Details

Category
Documents & Knowledge
Transport
HTTP
Auth
Required
Registry
MCP registry, active
Tools verified
Nov 6, 2026

Related Documents & Knowledge MCP servers

View all
1sunholo-data avatarAILANG Parsesunholo-data/ailang-parseParse, convert and create Office and PDF documents. OAuth at /mcp/connect/, API key at /mcp/.0stars
2mcpcentral-io avatarJsoncanvasmcpcentral-io/jsoncanvas-mcpCreate, validate, edit, export (markdown/svg/png/mermaid), and search JSON Canvas files.0stars
3stablebaseline avatarStable Baselinestablebaseline/mcpEnd-to-end agent-managed company brain. Docs, diagrams, plans, databases, agents, Knowledge Graph.0stars
4kedarvartak avatarMd Mdkedarvartak/md.mdMCP server for md.md - provides team knowledge context to AI assistants0stars
5m2ai-mcp-servers avatarMcp Ratchet Clinical Chartingm2ai-mcp-servers/mcp-ratchet-clinical-chartingMCP server for clinical charting with Claude - document patient visits to EMR0stars
6onetrueclaude-creator avatarMcp Contradiction Checkonetrueclaude-creator/mcp-contradiction-checkFind where your notes disagree — contradiction detection for markdown vaults.0stars