A side-by-side look at the Plsreadme and Md Log MCP MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose Plsreadme for file systems work as a local process; choose Md Log MCP for file systems as a local process. You can also run both side by side in one mcpServers block.
PLSREADME_API_KEY.plsreadme_share_file, plsreadme_share_text, plsreadme_update.MDLOG_API_BASE_URL.upload_asset, append_to_markdown, edit_markdown.Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | File Systems | File Systems |
| Quality signal | 59/100 · Good | 56/100 · Good |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | other | Not declared |
| Pricing | Free | Not declared |
| Required env vars | PLSREADME_API_KEY | MDLOG_API_BASE_URL |
| Verified owner | Community listing | Community listing |
| GitHub stars | 4 | 3 |
| Directory activity | 3 views 0 installs 0 upvotes | 0 views 0 installs 0 upvotes |
| Tools | 5 | 16 |
| Full listing | View Plsreadme | View Md Log MCP |
plsreadme_share_fileShare a local markdown file as a clean, readable web link on plsreadme.com.
Reads the file, uploads it, and returns a permanent shareable URL. If the file was previously shared, updates the existing link instead of creating a new one.
Tracks links in a local .plsreadme file for future edits and deletes.plsreadme_share_textShare text as a clean, readable web link on plsreadme.com.
Accepts markdown or plain text. Plain text is auto-structured into markdown before upload. Returns a permanent shareable URL.
Tracks links in a local .plsreadme file for future edits and deletes.plsreadme_updateUpdate an existing plsreadme document with new content.
Requires either the document ID or the original file path. Looks up the admin token from the local .plsreadme record file.plsreadme_deleteDelete a plsreadme document permanently.
Requires either the document ID or the original file path. Looks up the admin token from the local .plsreadme record file.plsreadme_listList all plsreadme documents tracked in the local .plsreadme file.
Shows document IDs, titles, URLs, and source files.upload_assetUpload one image (reserve → presigned PUT → complete) and return an `asset://<key>` reference to embed as ``. Provide the image as **either** `data_base64` (inline base64) **or** `file_path` (a local file the server reads) — exactly one; with `file_path`, `filename` defaults to…append_to_markdownAppend to an existing file with optimistic concurrency (GET current → concat → conditional PUT with `base_version_no`). Auto-retries once on conflict, then surfaces `CONFLICT`. Accepts `commit_message` — a recommended 1-2 line change summary shown in the version history.edit_markdownChange PART of a file by exact literal replacement (read → apply → conditional PUT with `base_version_no`; auto-retries once on conflict, re-applying every edit). Pass several changes at once as **`edits: [{old_string, new_string, replace_all?}, …]`** (max 50, applied in order) — they land as **one…update_markdownReplace a file's ENTIRE content. Pass `expected_version` for optimistic concurrency (mismatch → `CONFLICT`); omit it to force LWW. Passing `expected_version` for a path that does **not** exist now returns `CONFLICT` (`detail.server_version_no` = `0`), not a silent create. For a partial change use `…restore_versionRoll a file back to an earlier `version_no` (from `list_versions`): that version's content becomes a NEW current version — history is immutable, so the rollback is itself undoable. Restoring the version the file is already on is an accepted no-op. Accepts `commit_message`.get_markdownRead a file's content by path (materializes inline content or a presigned content URL for large docs). Pass `version` (a `version_no` from `list_versions`) to read an old immutable version.list_versionsList a file's immutable version history, newest first (`version_no`, `commit_message`, author, `registered_at`, size).delete_markdownSoft-delete a file. Requires `confirm:true` (otherwise `VALIDATION`); resolves the path to a document key first.create_foldermkdir -p` — create every missing segment; already-existing folders count as success.list_foldersReturn the full folder tree.list_filesList the documents and immediate subfolders inside a folder path.search_markdownSearch by TITLE (substring) + BODY full-text (current versions; whole-word match, ranked, body hits include a snippet).Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
{
"mcpServers": {
"facundolucci-plsreadme": {
"command": "npx",
"args": [
"-y",
"plsreadme-mcp"
],
"env": {
"PLSREADME_API_KEY": "YOUR_PLSREADME_API_KEY_HERE"
}
}
}
}
{
"mcpServers": {
"md-log-mcp": {
"command": "npx",
"args": [
"-y",
"md-log-mcp"
],
"env": {
"MDLOG_API_BASE_URL": "YOUR_MDLOG_API_BASE_URL_HERE"
}
}
}
}