Sno Station
Sno Station is your agents' workstation: open-source software that turns the AI agents you already run into one squad on your own machine. Two heads are better than one, and they get better with every
Access your Obsidian vault from Claude — phone, desktop, or web. Syncs to Cloudflare R2, exposes as MCP endpoint.
PluginsTypeScriptGitHub @amarisasterSelf-installOwner unconfirmed
Paste into Claude or ChatGPT for installation instructions suited to your environment.
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Installable projects can be verified without a deployment domain. Use GitHub sign-in for a personal repository, or the repository verification file above for an organization repository.
Ask about other verification options
Loading the full README. The saved excerpt is shown below.
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.
• A free Cloudflare account with R2 enabled
• Node.js installed
• Wrangler CLI (npm install -g wrangler)
• An Obsidian vault
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.Read the full README ↗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.
npm install -g wrangler)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.
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
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.
In Obsidian Settings > Cloud MCP:
wrangler secret putAfter 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
The plugin settings page shows your MCP URL. Copy it and paste into:
Claude Web/Desktop/Phone: Settings > Integrations > Custom Connectors > Add
Obsidian Cloudhttps://obsidian-cloud-mcp.<you>.workers.dev/sseClaude Code (~/.claude.json):
{
"mcpServers": {
"obsidian-cloud": {
"type": "url",
"url": "https://obsidian-cloud-mcp.<you>.workers.dev/mcp"
}
}
}
| Tool | Actions | Description |
|---|---|---|
vault_file | read, write, delete, move | Core file operations |
vault_browse | list, search, recent, tags | Find and discover files |
vault_meta | frontmatter_read, frontmatter_update, stats | Metadata operations |
vault_sync | status, compare_manifest, acknowledge_sync, reindex | Sync management |
.obsidian/, .trash/When Claude writes a file through MCP, it lands in R2. The plugin picks it up on next sync.
| Endpoint | Transport | Client |
|---|---|---|
GET /sse | SSE | Claude Custom Connectors (phone/web/desktop) |
POST /mcp | Streamable HTTP | Claude Code |
| Method | Endpoint | Description |
|---|---|---|
| POST | /api/sync/upload | Upload a file |
| POST | /api/sync/download | Download a file |
| POST | /api/sync/manifest | Compare file hashes |
| DELETE | /api/sync/delete | Delete a file |
| PATCH | /api/sync/rename | Rename a file |
| GET | /api/sync/status | Health check |
| POST | /api/sync/reindex | Trigger search index rebuild |
| GET | /api/sync/reindex-status | Check reindex progress |
| Resource | Free Tier |
|---|---|
| Cloudflare Workers | 100K requests/day |
| R2 Storage | 10 GB |
| R2 Writes | 1M operations/month |
| R2 Reads | 10M operations/month |
| Durable Objects (SQLite) | 100 namespaces/account |
More than enough for personal use.
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
MIT
If this helped you, consider supporting my work ☕
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.