io.github.sathya-sankaran/mdshare
NPM · MDSHARE-MCP · SCANNED AUG 3
Free markdown sharing. Upload, get links, collaborate. No login needed.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score →
Supply Chain Security86
- No malware found by supply-chain analysis.Pass
- Only part of the dependency tree could be resolved (94 of 98), so this covers what we could see, not the whole tree.Partial
- No install/post-install scripts declared.Pass
- Only part of the dependency tree could be resolved (94 of 98), so this covers what we could see, not the whole tree. View diagnostics → Partial
Provenance & Transparency45
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 68 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability73
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 2119 tokens (~151/item across 14 items; 14 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management0
- Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Unverified: 1 category
A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
npm · mdshare-mcp
claude mcp add sathya-sankaran-mdshare -- npx -y mdshare-mcp
codex mcp add sathya-sankaran-mdshare -- npx -y mdshare-mcp
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"sathya-sankaran-mdshare": {
"type": "local",
"command": [
"npx",
"-y",
"mdshare-mcp"
],
"enabled": true
}
}
} openclaw mcp add sathya-sankaran-mdshare --command npx --arg -y --arg mdshare-mcp
mcp_servers:
sathya-sankaran-mdshare:
command: "npx"
args: ["-y", "mdshare-mcp"] {
"mcpServers": {
"sathya-sankaran-mdshare": {
"command": "npx",
"args": [
"-y",
"mdshare-mcp"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 2 Aug 26 +40
- Provenance: unverified → fail ▼ security
- Install scripts: unverified → pass ▲ security
- Known CVEs: unverified → partial ▲ security
- Malware scan: unverified → pass ▲ security
- Stability: Stability not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet. security
- Security disclosure: fail → unverified ▼ functional
- Capabilities: pass → unverified ▼ functional
- Tool coverage: 100 → unverified ▼ functional
- License: unverified → pass ▲ functional
- Schema quality: unverified → excellent ▲ functional
- Maintenance: unverified → pass ▲ functional
- Dependency health: unverified → partial ▲ functional
- First check of Schema quality: unverified functional
- Licence: MIT functional
- 1 Aug 26 +5
- Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window). security
- MCP protocol: unverified → pass ▲ functional
- 31 Jul 26 −25
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 27 Jul 26 44
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 3 Aug 2026 · Analysed npm/[email protected]
Provenance none
Ecosystem: npm · Outcome: none
Dependencies 94 packages
94 packages in the resolved dependency tree · 94 deprecated · 29 stale.
The dependency tree was only partially resolved, so these counts may be incomplete.
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.
generate_link ~97
Generate a share link for a document with specific permissions. Requires admin access. If the document is in this MCP server's local store, 'key' is optional.
| Name | Type | Req | Description |
|---|---|---|---|
| document_id | string | yes | Document ID |
| key | string | — | Admin key. Optional if the document is in this MCP server's local store. |
| label | string | — | Optional label for the link |
| permission | string | yes | Permission level for the link |
No output schema declared.
No examples provided.
get_admin_url ~132
Retrieve the admin URL for a document previously uploaded via this MCP server. The admin URL grants full control and is equivalent to a password. ONLY call this tool when the user explicitly asks to see, save, or copy the admin URL — for example: 'give me the admin URL', 'save the admin link to my notes', 'what's the owner credential'. DO NOT call this as part of normal upload, share, or collaboration flows; the admin URL should never be surfaced to the user unless directly requested.
| Name | Type | Req | Description |
|---|---|---|---|
| document_id | string | yes | Document ID (from upload_markdown response or list_my_documents) |
No output schema declared.
No examples provided.
get_versions ~77
Get the edit history of a document — who edited, when, and via what. If the document is in this MCP server's local store, 'key' is optional.
| Name | Type | Req | Description |
|---|---|---|---|
| document_id | string | yes | Document ID |
| key | string | — | Any valid access key. Optional if the document is in this MCP server's local store. |
No output schema declared.
No examples provided.
list_comments ~73
List all comments on a document, including replies and resolution status. If the document is in this MCP server's local store, 'key' is optional.
| Name | Type | Req | Description |
|---|---|---|---|
| document_id | string | yes | Document ID |
| key | string | — | Any valid access key. Optional if the document is in this MCP server's local store. |
No output schema declared.
No examples provided.
list_links ~83
List all share links for a document, including status (active/revoked), permission, and label. Requires admin access. If the document is in this MCP server's local store, 'key' is optional.
| Name | Type | Req | Description |
|---|---|---|---|
| document_id | string | yes | Document ID |
| key | string | — | Admin key. Optional if the document is in this MCP server's local store. |
No output schema declared.
No examples provided.
list_my_documents ~113
List documents you've previously uploaded via this MCP server on this machine. Returns document_id, title, share_url, share_permission, created_at, and expires_at for each — does NOT return the admin credential. Use this to help the user find and resume older documents without re-pasting admin URLs. Does NOT include documents created via the mdshare web UI or via direct API calls from other clients — only those created by this MCP server. Returns an empty array on a fresh install or after the local store has been cleared.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
patch_document ~212
Apply find/replace operations to a document without rewriting the full content. More efficient than update_document for small edits to large documents. Each find string must be unique unless replace_all is set. If the document is in this MCP server's local store, 'key' is optional. PREFER file_path over operations for batches of operations stored in a JSON file on disk — bypasses inline transmission. If both file_path and operations are provided, file_path wins.
| Name | Type | Req | Description |
|---|---|---|---|
| author | string | — | Your name (for edit attribution) |
| document_id | string | yes | Document ID |
| file_path | string | — | Absolute path to a local JSON file containing an array of {find, replace, replace_all?} operations. PREFERRED when the operations are already prepared on disk. |
| key | string | — | Edit or admin key. Optional if the document is in this MCP server's local store. |
| operations | array | — | Find/replace operations to apply sequentially. Use file_path instead for operations stored on disk. |
No output schema declared.
No examples provided.
post_comment ~138
Post a comment on a document, optionally anchored to specific text. Can also reply to an existing comment. If the document is in this MCP server's local store, 'key' is optional.
| Name | Type | Req | Description |
|---|---|---|---|
| anchor_text | string | — | Text in the document this comment refers to |
| author_name | string | — | Your name |
| content | string | yes | Comment text |
| document_id | string | yes | Document ID |
| key | string | — | Comment, edit, or admin key. Optional if the document is in this MCP server's local store. |
| parent_id | string | — | ID of the comment to reply to (one level nesting) |
No output schema declared.
No examples provided.
read_document ~175
Read a markdown document from mdshare. Returns the content. If the document was uploaded via this MCP server, 'key' is optional — the admin key will be loaded from local storage. PREFER output_path over inline reading for large documents — writes directly to disk and returns a small summary, dramatically faster than echoing content through the conversation.
| Name | Type | Req | Description |
|---|---|---|---|
| document_id | string | yes | Document ID |
| key | string | — | Access key (admin, edit, comment, or view). Optional if the document is in this MCP server's local store. |
| output_path | string | — | Optional. Absolute local file path to write the document content to. PREFERRED for documents larger than ~10KB — bypasses inline content transmission. When provided, the response is a small summary (… |
No output schema declared.
No examples provided.
register_document ~162
Register an mdshare admin URL you already have saved (in notes, chat history, emails, etc.) so it can be resumed without re-pasting the key every time. Takes an admin URL of the form https://mdshare.live/d/{id}?key=adm_..., verifies it against the live API, and stores it in ~/.mdshare-mcp/documents.json. Only accepts admin URLs (adm_ prefix) — view/comment/edit share links will be rejected. For bulk registration across many files, use the LLM's built-in file reading and search tools to find admin URLs, then call this tool once per URL found.
| Name | Type | Req | Description |
|---|---|---|---|
| admin_url | string | yes | Full admin URL: https://mdshare.live/d/{id}?key=adm_{token} |
No output schema declared.
No examples provided.
resolve_comment ~85
Resolve or unresolve a comment. Requires edit or admin permission. Key must be provided explicitly because comments are addressed by comment_id — the MCP server can't look up the parent document.
| Name | Type | Req | Description |
|---|---|---|---|
| comment_id | string | yes | Comment ID to resolve |
| key | string | yes | Edit or admin key for the document |
| resolved | boolean | yes | true to resolve, false to unresolve |
No output schema declared.
No examples provided.
revoke_link ~120
Revoke a share link, making it permanently inactive. Use list_links first to find the token of the link to revoke. Requires admin access. If the document is in this MCP server's local store, 'key' is optional.
| Name | Type | Req | Description |
|---|---|---|---|
| document_id | string | yes | Document ID (used to look up the admin key when 'key' is omitted) |
| key | string | — | Admin key. Optional if the document is in this MCP server's local store. |
| link_token | string | yes | The token of the link to revoke (from list_links) |
No output schema declared.
No examples provided.
update_document ~210
Update the content of an existing mdshare document (full replace). Requires edit or admin permission. If the document is in this MCP server's local store, 'key' is optional. PREFER file_path over content for files already on disk — reads directly from disk without transmitting content through this conversation. If both file_path and content are provided, file_path wins. For small edits to large documents, consider patch_document instead — keeps version history granular.
| Name | Type | Req | Description |
|---|---|---|---|
| author | string | — | Your name (for edit attribution) |
| content | string | — | Inline markdown content (full document body). Only use for short content composed in the conversation. For files on disk, use file_path instead. |
| document_id | string | yes | Document ID |
| file_path | string | — | Absolute path to a local markdown file. PREFERRED for any file already on disk — bypasses inline content transmission entirely. |
| key | string | — | Edit or admin key. Optional if the document is in this MCP server's local store. |
No output schema declared.
No examples provided.
upload_markdown ~231
Upload markdown to mdshare and receive a shareable link. The response contains a read/comment/edit share link (default permission: comment) that the user can share with others. The admin credential (full control) is stored locally in ~/.mdshare-mcp/documents.json and is NOT returned in this response — if the user explicitly asks to see or save the admin URL, call get_admin_url. PREFER file_path over content for files already on disk — reads directly from disk without transmitting content through this conversation, which is dramatically faster for files larger than ~1KB.
| Name | Type | Req | Description |
|---|---|---|---|
| content | string | — | Inline markdown content. Only use this for short snippets composed in the conversation. For files on disk, use file_path instead. |
| file_path | string | — | Absolute path to a local markdown file. PREFERRED for any file already on disk — bypasses inline content transmission entirely. |
| share_permission | string | — | Permission level for the share link returned to the user. Default 'comment' — recipients can read and comment. Use 'view' for read-only, 'edit' for full write access. |
No output schema declared.
No examples provided.