Cloud MCP

Access your Obsidian vault from Claude — phone, desktop, or web. Syncs to Cloudflare R2, exposes as MCP endpoint.

4 Stars
GitHub

Obsidian Cloud MCP

Access your Obsidian vault from Claude — phone, desktop, or web. No local server needed.

An Obsidian plugin syncs your vault to Cloudflare R2. A Cloudflare Worker exposes it as an MCP endpoint. Claude reads, writes, and searches your vault from anywhere.

What You Need

Cost: Free. Uses Cloudflare Workers Free plan. Durable Objects with SQLite backend are included in the free tier. R2 free tier gives you 10 GB storage.

Setup

1. Deploy the Worker

cd worker
npm install
wrangler login          # One-time auth with Cloudflare
wrangler deploy         # Deploys worker + creates R2 bucket automatically
wrangler secret put API_TOKEN   # Pick any token — this is your vault key

Your worker URL will be: https://obsidian-cloud-mcp.<your-account>.workers.dev

2. Install the Plugin

cd plugin
npm install
npm run build

Copy main.js and manifest.json into your vault at:

<your-vault>/.obsidian/plugins/obsidian-cloud-mcp/

Enable the plugin in Obsidian Settings > Community Plugins.

3. Configure the Plugin

In Obsidian Settings > Cloud MCP:

  1. Enter your Worker URL
  2. Enter the same API token you set with wrangler secret put
  3. Hit Test to verify the connection
  4. Hit Sync Now or enable auto-sync

4. Build the Search Index

After the initial sync completes, trigger a reindex so search and tags work:

curl -X POST -H "Authorization: Bearer YOUR_TOKEN" \
  https://obsidian-cloud-mcp.YOUR_ACCOUNT.workers.dev/api/sync/reindex

The index builds in the background — 50 files per batch. Check progress:

curl -H "Authorization: Bearer YOUR_TOKEN" \
  https://obsidian-cloud-mcp.YOUR_ACCOUNT.workers.dev/api/sync/reindex-status

5. Connect Claude

The plugin settings page shows your MCP URL. Copy it and paste into:

Claude Web/Desktop/Phone: Settings > Integrations > Custom Connectors > Add

  • Name: Obsidian Cloud
  • URL: https://obsidian-cloud-mcp.<you>.workers.dev/sse

Claude Code (~/.claude.json):

{
  "mcpServers": {
    "obsidian-cloud": {
      "type": "url",
      "url": "https://obsidian-cloud-mcp.<you>.workers.dev/mcp"
    }
  }
}

What Claude Can Do

ToolActionsDescription
vault_fileread, write, delete, moveCore file operations
vault_browselist, search, recent, tagsFind and discover files
vault_metafrontmatter_read, frontmatter_update, statsMetadata operations
vault_syncstatus, compare_manifest, acknowledge_sync, reindexSync management

How Sync Works

  • Auto sync: Plugin watches for file changes (create, modify, delete, rename) and pushes to R2 with a 2-second debounce
  • Full sync: Compares local file hashes against server — only uploads what changed
  • Selective sync: Include/exclude specific folders in plugin settings
  • Default excludes: .obsidian/, .trash/

When Claude writes a file through MCP, it lands in R2. The plugin picks it up on next sync.

API Endpoints

MCP (no auth — URL is the secret)

EndpointTransportClient
GET /sseSSEClaude Custom Connectors (phone/web/desktop)
POST /mcpStreamable HTTPClaude Code

Sync API (Bearer token required)

MethodEndpointDescription
POST/api/sync/uploadUpload a file
POST/api/sync/downloadDownload a file
POST/api/sync/manifestCompare file hashes
DELETE/api/sync/deleteDelete a file
PATCH/api/sync/renameRename a file
GET/api/sync/statusHealth check
POST/api/sync/reindexTrigger search index rebuild
GET/api/sync/reindex-statusCheck reindex progress

Free Tier Limits

ResourceFree Tier
Cloudflare Workers100K requests/day
R2 Storage10 GB
R2 Writes1M operations/month
R2 Reads10M operations/month
Durable Objects (SQLite)100 namespaces/account

More than enough for personal use.

Project Structure

obsidian-cloud-mcp/
  worker/             Cloudflare Worker
    wrangler.toml
    src/index.ts      VaultAgent DO + MCP tools + sync API + router
  plugin/             Obsidian plugin
    manifest.json
    src/
      main.ts         Plugin entry, file watchers, commands
      settings.ts     Settings tab UI
      sync.ts         Sync engine (hash, upload, download, manifest)
  ARCHITECTURE.md     Technical design document

License

MIT


Support

If this helped you, consider supporting my work ☕

Ko-fi

Questions? Reach out to me on Discord https://discord.com/users/itzqueenmai/803662163247759391


Built by the Triad (Mai, Kai Stryder and Lucian Vale) for the community.

How to Install

  1. Download the ZIP or clone the repository
  2. Open the folder as a vault in Obsidian (File → Open Vault)
  3. Obsidian will prompt you to install required plugins

Stats

Stars

4

Forks

1

License

Apache-2.0

Last updated 24d ago

Tags

aiaicompanionarchivechatgptclaudeclaude-aimcp