claude-video-effects
51 video effects for Claude Code: drop in a talking-head clip, type /effects orbit. Face tracking, behind-your-head layers. By @vibha.in.progress
Ctrl Notes hosts your Obsidian vault as an MCP server, so Claude Code, Codex, Gemini and Muse can search and edit your notes while your laptop is off.
PluginsTypeScript · JavaScriptGitHub @ctrlnotesOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
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.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Obsidian plugin: connect your vault to Claude Code and other AI agents through a hosted remote MCP server, with two-way sync. Ctrl Notes Cloud MCP.
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
Connect your Obsidian vault to Claude Code and other AI agents. This plugin syncs the vault
with Ctrl Notes, a hosted copy of your notes that agents reach
through a remote MCP server you sign in to. An edit an agent makes appears here; an edit
you make here is there for the agent. Every device that pairs with the same Ctrl Notes
vault stays in step with the others.
Not in Obsidian's community directory yet. Until it is, install it with
BRAT, which installs plugins from their GitHub
releases and keeps them updated:Read the full README ↗Connect your Obsidian vault to Claude Code and other AI agents. This plugin syncs the vault with Ctrl Notes, a hosted copy of your notes that agents reach through a remote MCP server you sign in to. An edit an agent makes appears here; an edit you make here is there for the agent. Every device that pairs with the same Ctrl Notes vault stays in step with the others.
Not in Obsidian's community directory yet. Until it is, install it with BRAT, which installs plugins from their GitHub releases and keeps them updated:
ctrlnotes/obsidian-cloud-mcp, choose Latest version, and press Add plugin.It needs Obsidian 1.13.4 or later. Once it is listed, install it from Settings → Community plugins by searching for "Ctrl Notes".
Ctrl Notes is a hosted service, and this plugin is only useful with it. The Obsidian community directory asks plugins to state the following up front, and so do we.
An account is required. You sign in to ctrlnotes.app with a Google account or your email address.
Payment is required for continued use. A free 7-day trial, for one vault with 10 GB, starts when you pair your first device. Some accounts, including most that sign up with an email address at their own or a company's domain, are not offered the trial and start on the paid plan. After that, the standard plan is $25 per vault per month, with 10 GB included per vault and $1 per GB per month above that. Current pricing is on ctrlnotes.app.
It uses the network, and only these services:
https://sync.ctrlnotes.app: the Ctrl Notes control plane. This device registers a
pairing request there, and the sync connection (a WebSocket) is made to it. The
control plane routes that connection to your vault and never stores your notes. When
you open the plugin's settings, it also asks the control plane for your vault's name
and the list of agents that can reach it, to show them there.https://ctrlnotes.app: opened in your browser, not by the plugin, when you pair
a device or press Manage devices or Manage agents. It is where you sign in and
choose which vault this device joins.Both addresses are editable in the plugin's settings so the plugin can be pointed at a development build. The Ctrl Notes service itself is not open source and is not offered for self-hosting.
The MCP server your agent connects to (https://mcp.ctrlnotes.app/mcp) is used by the
agent, never by this plugin.
What the service keeps about you is described in the privacy policy. The plugin itself sends no analytics or usage telemetry. The only data it sends is your notes, your attachments and what pairing and syncing need.
Where it is offered. Ctrl Notes is not offered in the European Economic Area, the United Kingdom or Switzerland. Elsewhere, your account and your vault are processed in the United States.
Files outside the vault. The plugin reads and writes only inside this vault, and it
never syncs the vault's configuration folder (.obsidian, or wherever you have moved
it), so other plugins' settings stay on this device. Nor does it sync anything else at
the top of the vault whose name starts with a dot (another device's config folder,
Obsidian's .trash, a hidden file); Obsidian hides those from the vault anyway.
If the browser opens and you are signed out, sign in and then press Pair in
Obsidian again. The pairing request does not survive the sign-in (the page at /app/pair
tells you so), so a fresh one is needed.
Pairing never shows or asks for a code. The request is tied to a key this device generates, which never leaves it, so only this device can complete it. Only confirm a pairing you started yourself: a pairing link somebody else sends you would connect their device to your vault, which is why the page in your browser warns you about it.
Pair a device first, so your vault has your notes in it. Then point your agent at the Ctrl Notes MCP server:
https://mcp.ctrlnotes.app/mcp
In Claude Code:
claude mcp add --transport http --scope user ctrlnotes https://mcp.ctrlnotes.app/mcp
Then run /mcp in Claude Code and authenticate. Your browser opens at ctrlnotes.app:
sign in, choose the vault (or tick several, if you have more than one: one connection
reaches every vault you tick), and choose read only (the default) or read and write for
each. Ready-made agent plugins, with a skill that teaches the agent to edit
safely, are at ctrlnotes/agent-plugins.
The server speaks MCP over Streamable HTTP and signs you in with OAuth. Claude Code is the client we have tested end to end.
Once paired, the plugin syncs in both directions while Obsidian is open:
.canvas, .base and .txt.A few things to know:
.md or .txt re-saved as
UTF-16 by another editor) is withheld by this device, because the vault reads every
note as text. The settings pane counts it under "not synced by this device"; re-save it
as UTF-8 and it syncs.The pane opens on this device's sync status, then the vault and this device, then the Agents that can reach the vault: each one's name, whether it can read only or read and write, and when it was last used. If a count of files that are not syncing appears, Show files lists each one and why. On desktop, the same status is in Obsidian's status bar; click it to open these settings.
Under Advanced, at the end, are two addresses, both prefilled with the hosted service's and both editable:
https://sync.ctrlnotes.app), not the web
app's, because the plugin is not a browser and does not go through the web front end.https://ctrlnotes.app).There is deliberately no vault-id field. The vault is chosen in the browser, from the vaults you own, and adopted here only after you confirm it in Obsidian.
"Disconnect this device" is local. It forgets this device's registration and erases its private key from this device, so this installation can no longer prove it is that device. It is not a revocation: the vault keeps trusting the registration until it is removed from the device list at ctrlnotes.app. If a device is lost, revoke it there; disconnecting on a device you still hold is not a substitute.
If a device is revoked while it is running, the vault refuses its next connection with a deliberately uninformative "not authorised", the same answer an unknown device gets, so that nobody can probe which devices exist. The settings pane explains what that most likely means, and offers Pair again…, which asks first: pairing again erases this device's key, and the old registration stays in the device list until it is removed there. Any other refusal is offered Try again, which keeps the registration; Sync now in the command palette does the same.
Issues and pull requests are welcome; see CONTRIBUTING.md.
bun install --frozen-lockfile # every dependency is pinned exactly
bun run typecheck
bun run lint # Biome, then Obsidian's own review rules at zero warnings
bun run test
bun run build # writes main.js
bun run install-to-vault -- /absolute/path/to/a/vault # copy the build in to try it
lint runs the Obsidian community directory's own review rules
(eslint-plugin-obsidianmd, pinned), so a release meets nothing CI has not already.
The plugin reads and writes files through Obsidian's DataAdapter rather than the Vault
API that Obsidian's guidelines prefer. That is deliberate for a sync engine: it has to
move exact bytes (a text file's byte-order mark included), rename and trash without
triggering its own change detection, and read files the metadata cache may not have
indexed yet. Every path it touches is checked first (src/sync/safe-path.ts).
The plugin is MIT-licensed. That covers this plugin's source only; the
Ctrl Notes service it connects to is proprietary. main.js opens with the licence of every
package it bundles (today, @noble/ed25519, also MIT), because minifying removes their
notices from the code itself.