mkdshare.DEV
Publish and share access-controlled Markdown documents from any MCP-enabled AI tool.
Sollte ich dies verwenden
Qualität und Sicherheit
Befunde (1)
- LOWin archive_document
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"mkdshare": {
"url": "https://mkdshare.dev/mcp"
}
}
}Remote-Endpunkte
https://mkdshare.dev/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (11)
🟢list_documents
List all mkdshare.DEV documents owned by or shared with the authenticated user.
Eingabe-Schema
{
"type": "object",
"properties": {},
"required": []
}🟢get_document(slug)
Read the full markdown content of a document by its slug.
Eingabe-Schema
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "8-character document slug from the URL"
}
},
"required": [
"slug"
]
}🟡create_document(title, content, visibility, allowed_emails, allowed_domain, ...)
Create a new mkdshare.DEV document. If visibility is omitted the document is owner-only (login_required, restricted to your email).
Eingabe-Schema
{
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "Document title"
},
"content": {
"type": "string",
"description": "Markdown content"
},
"visibility": {
"type": "string",
"enum": [
"public",
"login_required",
"domain_restricted"
],
"description": "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)."
},
"allowed_emails": {
"type": "string",
"description": "Comma-separated emails allowed to view (login_required visibility)"
},
"allowed_domain": {
"type": "string",
"description": "Domain allowed to view, e.g. company.com (domain_restricted visibility)"
},
"domain_can_edit": {
"type": "boolean",
"description": "When true, all users in allowed_domain can edit (not just view)"
},
"editor_emails": {
"type": "string",
"description": "Comma-separated emails that can edit this document (in addition to the owner)"
},
"expires_at": {
"type": "string",
"description": "ISO 8601 datetime after which the document expires, e.g. 2026-06-01T00:00:00Z"
}
},
"required": [
"title",
"content"
]
}🟡update_document(slug, title, content, visibility, allowed_emails, ...)
Update an existing document you own. Omit any field to keep its current value.
Eingabe-Schema
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "Document slug"
},
"title": {
"type": "string",
"description": "New title"
},
"content": {
"type": "string",
"description": "New markdown content"
},
"visibility": {
"type": "string",
"enum": [
"public",
"login_required",
"domain_restricted"
],
"description": "New visibility level"
},
"allowed_emails": {
"type": "string",
"description": "Comma-separated emails allowed to view; pass empty string to clear"
},
"allowed_domain": {
"type": "string",
"description": "Domain allowed to view, e.g. company.com; required for domain_restricted"
},
"domain_can_edit": {
"type": "boolean",
"description": "When true, all users in allowed_domain can edit (not just view)"
},
"editor_emails": {
"type": "string",
"description": "Comma-separated emails that can edit; pass empty string to clear"
},
"expires_at": {
"type": "string",
"description": "ISO 8601 expiry datetime; omit to keep current"
}
},
"required": [
"slug"
]
}🟢list_annotations(slug)
List all annotations (comments) on a document.
Eingabe-Schema
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "Document slug"
}
},
"required": [
"slug"
]
}🟡create_annotation(slug, body, quoted_text, start_offset, end_offset)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "Document slug"
},
"body": {
"type": "string",
"description": "Annotation text"
},
"quoted_text": {
"type": "string",
"description": "The exact text being annotated"
},
"start_offset": {
"type": "integer",
"description": "Character offset where annotation starts"
},
"end_offset": {
"type": "integer",
"description": "Character offset where annotation ends"
}
},
"required": [
"slug",
"body"
]
}⚪archive_document(slug)
Archive a document. For documents you own, archives it for everyone. For shared documents, archives it only for you.
Eingabe-Schema
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "Document slug"
}
},
"required": [
"slug"
]
}🟢search_documents(query)
Search mkdshare.DEV documents by title and content. Returns documents owned by or shared with the authenticated user that match the query.
Eingabe-Schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Search string matched case-insensitively against document title and content"
}
},
"required": [
"query"
]
}🟡upload_image(filename, data)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"filename": {
"type": "string",
"description": "Original filename, e.g. screenshot.png"
},
"data": {
"type": "string",
"description": "Base64-encoded image bytes (standard alphabet, no data: URI prefix)"
}
},
"required": [
"filename",
"data"
]
}⚪request_device_auth
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.
Eingabe-Schema
{
"type": "object",
"properties": {},
"required": []
}🟡poll_device_auth(device_code)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"device_code": {
"type": "string",
"description": "device_code returned by request_device_auth"
}
},
"required": [
"device_code"
]
}Community
Nachweis