Markitdown vs Virtual Fs

A side-by-side look at the Markitdown and Virtual Fs MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.

Markitdown logoMarkitdownFile Systems · Local subprocess (stdio)MCP tool access to MarkItDown -- a library that converts many file formats (local or remote) to Markdown for LLM consumption.67GreatAuth: no auth requiredVirtual Fs logoVirtual FsFile Systems · Local subprocess (stdio)PostgreSQL-backed virtual filesystem for AI agents with persistent, session-isolated storage.51GoodAuth: not declared

Verdict: choose Markitdown for file systems work as a local process; choose Virtual Fs for file systems as a local process. You can also run both side by side in one mcpServers block.

Which MCP server should you choose?

Markitdown logoChoose Markitdown when

  • You need dedicated capabilities in the File Systems domain.
  • You prefer a local stdio subprocess transport.
  • Its auth model fits you: No auth required.
  • You want tools like convert_to_markdown.
Explore Markitdown

Virtual Fs logoChoose Virtual Fs when

  • You need dedicated capabilities in the File Systems domain.
  • You prefer a local stdio subprocess transport.
  • You have the keys it needs: DATABASE_URL.
  • You want tools like read, write, append.
Explore Virtual Fs

Feature & specification comparison

Rows where the two servers differ are marked.

SpecMarkitdown logoMarkitdownVirtual Fs logoVirtual Fs
CategoryFile SystemsFile Systems
Quality signal67/100 · Great51/100 · Good
Install commandConfirmedConfirmed
TransportLocal subprocess (stdio)Local subprocess (stdio)
AuthNo auth requiredNot declared
PricingFreeNot declared
Required env varsNone listedDATABASE_URL
Verified ownerCommunity listingCommunity listing
GitHub stars191,7583
Directory activity 6 views 0 installs 0 upvotes 1 views 0 installs 0 upvotes
Tools111

Tools & capabilities

Markitdown tools 1

  • convert_to_markdownConvert a resource described by an http:, https:, file: or data: URI to markdown

Virtual Fs tools 11

  • readRead file contents
  • writeWrite file (creates parents automatically)
  • appendAppend to file (creates if missing)
  • statCheck existence and get metadata
  • lsList directory (dirs first, then alphabetical)
  • mkdirCreate directory and parents (mkdir -p)
  • rmRemove file or directory recursively
  • mvMove/rename file or directory
  • globFind files by glob (e.g., `**/*.ts`, `**/*.{js,ts}`)
  • grepSearch file contents by regex
  • storesList all persistent store names

Ready-to-paste client configs

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.

Markitdown

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "microsoft-markitdown": {
      "command": "uvx",
      "args": [
        "markitdown-mcp"
      ]
    }
  }
}

Virtual Fs

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "virtual-fs": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-virtual-fs"
      ],
      "env": {
        "DATABASE_URL": "YOUR_DATABASE_URL_HERE"
      }
    }
  }
}

Frequently asked questions

Markitdown is categorized under File Systems and uses a local stdio subprocess. Virtual Fs belongs to File Systems and uses a local stdio subprocess. Pick Markitdown for file systems work and Virtual Fs for file systems.

Copy the mcpServers block from the config section on this page into your client's config (for example claude_desktop_config.json or ~/.cursor/mcp.json), then fully restart the client.

Markitdown is listed as free. Auth: no auth required. Virtual Fs has no declared pricing — check the project's own site. If a server needs environment variables such as API keys, define them under the env key in your client's MCP config.

Yes. MCP clients support multiple servers: add microsoft-markitdown and virtual-fs as separate keys in the same mcpServers object, and your assistant will call tools from either one.

On AllMCPs, Markitdown has a quality signal of 67/100 (Great) with 6 views, 0 installs and 191,758 GitHub stars. Virtual Fs has 51/100 (Good) with 1 views, 0 installs and 3 GitHub stars.