loading…
Search for a command to run...
loading…
Bring your Plaud Note recordings into Claude Desktop. Search meetings, pull transcripts, and ask Claude about your notes — directly from chat.
Bring your Plaud Note recordings into Claude Desktop. Search meetings, pull transcripts, and ask Claude about your notes — directly from chat.
A Humanly Labs open source project.
Bring your Plaud Note recordings into Claude Desktop. Search meetings, pull transcripts, and ask Claude about your notes — directly from chat.
A checklist. If you're missing any of these, the setup script will tell you and point you at how to get it — but it's faster to confirm now.
| Requirement | How to check | How to get it |
|---|---|---|
| macOS (Sequoia, Sonoma, or Ventura) | Apple menu → About This Mac | This script is macOS-only. For Linux/Windows, see Manual setup below. |
| Claude Desktop | Look in /Applications/ |
Download from claude.ai/download and install before continuing. |
| Python 3.9 or newer | Run python3 --version in Terminal |
brew install python3 (Homebrew) or download from python.org. |
| A paid Plaud account (Pro or Unlimited) | Sign in at web.plaud.ai — your plan is shown on the account page | Upgrade at plaud.ai/pricing. Plaud's Developer API doesn't include the free Starter tier. |
| A Plaud Note device or recordings made via the Plaud app | Open web.plaud.ai and look at your library | The MCP server can only see what's already in your Plaud cloud — if your library is empty, Claude won't have anything to fetch. |
Open Terminal (Cmd+Space → type "Terminal" → Enter), then run these three commands one at a time:
git clone https://github.com/Humanly-Labs/plaud-mcp.git
cd plaud-mcp
./setup
That's it. The setup script does everything else. The rest of this section explains what's happening while it runs, so nothing surprises you.
./setup does, step by stepPre-flight checks ✓ Confirms you have macOS, Python 3.9+, and Claude Desktop. If any of them are missing, the script stops with a clear instruction on how to get it.
Creates a Python virtual environment in .venv/
So this project's Python packages don't conflict with your system Python or other projects.
Installs dependencies from requirements.txt
Three small Python packages: mcp[cli], python-dotenv, pydantic.
Signs you in to Plaud in your browser 🌐 A browser tab opens to web.plaud.ai/platform/oauth — sign in however you normally use Plaud (Google, Apple, passkey, email/password), then click Authorize on Plaud's consent screen. When you see the rainbow nyan-cat page, you're done — close the tab.
Registers Plaud with Claude Desktop
Adds a plaud entry to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json). Any other MCP servers you have configured are left untouched. A timestamped backup is saved before any change.
Restarts Claude Desktop 🔄 The script quits and relaunches Claude Desktop so it picks up the new MCP server. macOS may ask "Terminal wants to control Claude" — click Allow. This is one-time and expected.
Verifies everything works ✓ Starts the MCP server in the background and confirms it responds to the same protocol Claude Desktop will use. If anything's wrong, you'll see a clear error.
When the script finishes, you'll see ✓ All set in your terminal. Open Claude Desktop and ask:
"List my recent Plaud recordings."
Claude should immediately respond with a list of your meetings.
./setup is idempotent — running it a second time is a no-op. It detects you're already signed in, that the Claude Desktop entry already matches, and skips the restart. Re-run any time you want to verify everything is healthy.
Once setup completes, Claude has access to your Plaud library. Try:
| Tool | Description |
|---|---|
plaud_verify_token |
Verify authentication and show account info |
plaud_list_recordings |
List recordings (paginated, most recent first) |
plaud_get_transcript |
Full transcript + AI summary for a recording |
plaud_search_recordings |
Search recordings by title keyword |
plaud_get_recent |
Recent recordings with transcripts + summaries inline |
The same server.py powers both setup and the MCP server itself. From the plaud-mcp directory:
| Command | Purpose |
|---|---|
./setup |
First-time setup. Idempotent — safe to re-run any time. |
python3 server.py |
Run as MCP server (used by Claude Desktop — you don't invoke this manually). |
python3 server.py --login |
Sign in to Plaud (browser-based OAuth). |
python3 server.py --install |
Register in Claude Desktop's config (interactive). |
python3 server.py --status |
Show who's signed in. |
python3 server.py --logout |
Revoke server-side, forget cached tokens. |
python3 server.py --help |
Show CLI usage. |
The server uses Plaud's official OAuth 2 + PKCE developer flow — the same flow Plaud's own MCP package (@plaud-ai/mcp) uses:
--login opens web.plaud.ai/platform/oauth in your browser. You sign in however you normally do (Google, Apple, passkey, email/password) and click Authorize.access_token + refresh_token and caches them in .plaud_token.json next to server.py (mode 0600, ignored by git).API calls go to https://platform.plaud.ai/developer/api/open/third-party/* (Plaud's official developer API).
The OAuth client ID used is the public client baked into Plaud's own MCP bundle (client_9c501dad-…). This isn't a security backdoor — it's a public OAuth identifier intended for third-party clients. You can override it via PLAUD_OAUTH_CLIENT_ID in .env if Plaud ever rotates it.
./setup says Python 3.9+ is required
Install a current Python with brew install python3 (Homebrew) or from python.org. Then re-run ./setup.
./setup says Claude Desktop isn't installed
Download it from claude.ai/download, install, then re-run ./setup.
Setup completes but Claude says it doesn't have Plaud tools
Quit Claude Desktop fully (Cmd+Q) and reopen it. Claude Desktop sometimes needs a moment to reconnect after MCP changes. If the problem persists, run python3 server.py --status to verify auth, then python3 server.py --install to re-register.
./setup says "OAuth login timed out"
You probably closed the browser before clicking Authorize. Re-run ./setup. If the browser doesn't open automatically, copy the URL printed in your terminal into a browser manually.
./setup step 2 (Plaud sign-in) fails with an authorization error
Plaud's Developer API requires a paid Plaud subscription (Pro or Unlimited). The free Starter tier doesn't currently include API access. Upgrade your Plaud account at plaud.ai/pricing, then re-run ./setup.
pip install fails with "externally-managed-environment"
This shouldn't happen with ./setup since it uses a venv. If you're running pip manually, use the venv's pip: .venv/bin/pip install -r requirements.txt.
Wrong Plaud account is signed in
Run python3 server.py --logout, then ./setup again.
"Permission denied" when running ./setup
If you downloaded the repo as a .zip from GitHub (instead of cloning with git), macOS may have stripped the executable bit. Either run chmod +x setup once, or invoke it via bash directly: bash setup.
macOS asks for permission to control Claude Desktop This is normal and expected the first time setup runs on a new Mac. The dialog reads something like "Terminal wants access to control Claude." Click Allow. If you click Don't Allow by mistake, grant it manually in System Settings → Privacy & Security → Automation.
OAuth login: browser opens but callback never returns
Some setups block the local callback URL (http://localhost:8199/auth/callback). Common causes:
localhost during setup.PLAUD_OAUTH_REDIRECT_PORT in .env to a free port and re-run setup.Claude says "No Plaud recordings found" Your account has no recordings yet, or none have synced to Plaud's cloud. Make a recording with your Plaud Note device (or the Plaud mobile/web app), wait for it to sync, then try again. The MCP server only sees what's already in your Plaud account.
Tokens look stale / Claude returns auth errors
Run python3 server.py --logout, then ./setup again.
./setup)If you'd rather not run a shell script, do these by hand from the plaud-mcp/ directory:
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
python3 server.py --login # browser-based sign-in
python3 server.py --install # register in Claude Desktop, restart prompt
claude mcp add plaud -- /absolute/path/to/plaud-mcp/.venv/bin/python3 /absolute/path/to/plaud-mcp/server.py
Point the MCP client at the venv's Python and server.py:
{
"mcpServers": {
"plaud": {
"command": "/absolute/path/to/plaud-mcp/.venv/bin/python3",
"args": ["/absolute/path/to/plaud-mcp/server.py"]
}
}
}
No env vars are required.
Optional environment variables, settable in .env:
| Variable | Default | Purpose |
|---|---|---|
PLAUD_OAUTH_REDIRECT_PORT |
8199 |
Local port for the OAuth callback. Change if your firewall blocks 8199. |
PLAUD_OAUTH_CLIENT_ID |
client_9c501dad-… |
Override if Plaud rotates the public client ID. |
web.plaud.ai, platform.plaud.ai, and localhost. No third-party telemetry..plaud_token.json next to server.py — mode 0600, ignored by git, written atomically via tempfile.mkstemp + os.replace so there's never a window where the file is world-readable.--logout calls Plaud's revoke endpoint to invalidate the access token server-side, then deletes the local file.refresh_token is a long-lived credential — treat it like a password. If you suspect it's been exfiltrated, run --logout and revoke the app from your Plaud account settings.exp claim to decide when to refresh. Authorization decisions happen on Plaud's servers.This is a Humanly Labs open source project. We didn't start from scratch — we took an early Plaud-MCP scaffold and pushed it toward something anyone with a Mac can install in a single command. A nod of credit to the projects that came before:
client_id and follow the same platform.plaud.ai/developer/api/open/third-party/* endpoint conventions, which is why anything that works with Plaud's official MCP also works here../setup checks every prerequisite, creates a Python venv, installs dependencies, opens the browser for OAuth sign-in, registers with Claude Desktop (preserving every other MCP server you've configured), auto-restarts Claude Desktop, and runs a real end-to-end smoke test against the MCP protocol — all in about 30 seconds, from a clean clone, with zero manual config edits.NO_COLOR respect, status icons, sectioned headings, aligned key/value rows, a nyan-cat browser callback after sign-in, and unknown CLI flags that surface help instead of silently launching the MCP server../setup correctly detects existing state and doesn't restart Claude Desktop when nothing changed.chmod 0600 from creation (no TOCTOU window), server-side /revoke call on logout, CSRF-safe OAuth callback handler that only responds to requests carrying the expected state, defensive URLError/OSError handling on every network call, HTML-escaped error rendering.If you maintain one of the upstream projects above and want a different form of attribution, please open an issue.
PRs welcome. The codebase is one file (server.py) on purpose — keep it that way unless there's a clear reason to split.
MIT — use it however you want.
Выполни в терминале:
claude mcp add plaud-mcp -- npx