Python rewrite for Plaud CLI and MCP workflows.
Project description
plaud-tools
Bridge your Plaud recordings into AI assistants via a Python CLI and an MCP server.
Alpha software. This project is pre-1.0. APIs, tool names, and CLI flags may change between minor versions. Pin a known-good version in production wiring and review the CHANGELOG before upgrading.
Unofficial — not affiliated with Plaud. The Plaud API is reverse-engineered from the Plaud web app. "Plaud" is a trademark of Plaud Inc.; this project is not affiliated with, endorsed by, or sponsored by Plaud. Use at your own risk: Plaud's Terms of Service may restrict reverse-engineering and automated access, and your account could be rate-limited or suspended. You still need a real Plaud account; this package does not replace the Plaud mobile or web apps.
Install
From PyPI:
pip install plaud-tools
Windows users can also grab a bundled tray app + frozen CLI + MCP server from the latest release (no Python install required). See docs/INSTALL.md for the full walkthrough.
Quickstart
# Sign in once. Region is `us` or `eu`; auto-detected on first API call.
plaud-tools login --email you@example.com --region us
# Recent recordings
plaud-tools list
# Full detail for one recording (title, date, duration, headline)
plaud-tools show <recording-id>
The CLI ships as both plaud-tools and the shorter alias pt. Run
plaud-tools --help for the full subcommand list.
Wire the MCP server into your AI client
Log in via the CLI before starting the AI client; the MCP server reads the saved session automatically.
Claude Desktop — add to claude_desktop_config.json (Windows:
%APPDATA%\Claude\claude_desktop_config.json; macOS:
~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"plaud": {
"command": "plaud-mcp"
}
}
}
Claude Code — same JSON block, in ~/.claude.json (user-level) or
.claude.json at the project root.
Codex CLI — in ~/.codex/config.toml:
[mcp_servers.plaud]
command = "plaud-mcp"
Fully quit and relaunch the AI client after editing the config — MCP servers are loaded once at startup. Full wiring details, troubleshooting, and tray bundle install steps live in docs/INSTALL.md.
What's in the box
| Entry point | What it is |
|---|---|
plaud-tools / pt |
Python CLI — list, search, transcribe, upload, rename, trash, merge recordings |
plaud-mcp |
MCP server (stdio transport) — exposes the tool surface below to AI clients |
plaud-tray (optional, pip install plaud-tools[tray]) |
Windows system-tray app for one-click sign-in and MCP wiring |
MCP tool surface
The MCP server exposes 7 workflow-oriented tools (canonical list in
src/plaud_tools/server.py):
| Tool | What it does |
|---|---|
browse_recordings |
List and filter recordings by date, title, folder |
get_recording |
Full detail for one recording; opt in to transcript / speakers / summary |
mutate_recording |
Rename, trash, restore, delete, move to folder, rename speaker |
upload_recording |
Upload a local audio file (transcodes via ffmpeg if needed) |
process_recording |
Trigger transcription + summarization; block until both complete |
list_folders |
List Plaud folders (id, name, color, icon) |
merge_recordings |
Merge two or more recordings into a single new recording |
Develop
git clone https://github.com/massive-value/plaud-tools.git
cd plaud-tools
pip install -e ".[dev]"
pytest -q
See CONTRIBUTING.md for the full contributor workflow,
including the PLAUD_LIVE_READS=1 live-test gate.
Token & secrets
Plaud JWTs last ~300 days; plaud-tools auto-refreshes silently when the
token is within 30 days of expiry. Sessions are stored in the OS keyring when
available, with a mode-600 fallback at
~/.config/plaud-tools/session.json.
Docs
- docs/INSTALL.md — install + AI-client wiring walkthrough
- CONTRIBUTING.md — dev setup, testing, PR workflow
- SECURITY.md — security policy and vulnerability disclosure
- CHANGELOG.md — release notes
- LICENSE — LGPL-3.0-or-later
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file plaud_tools-0.1.8.tar.gz.
File metadata
- Download URL: plaud_tools-0.1.8.tar.gz
- Upload date:
- Size: 63.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8be34b310126b9834084979b3830b629c0fc3786d01801801a2c7445313048d4
|
|
| MD5 |
976ce163b258f038bd6d704fb93ea76b
|
|
| BLAKE2b-256 |
1e493918771e42f4c81051fb7f7de244025880a5b3ada550cb0018eaef6e74d1
|
Provenance
The following attestation bundles were made for plaud_tools-0.1.8.tar.gz:
Publisher:
release.yml on massive-value/plaud-tools
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
plaud_tools-0.1.8.tar.gz -
Subject digest:
8be34b310126b9834084979b3830b629c0fc3786d01801801a2c7445313048d4 - Sigstore transparency entry: 1575622272
- Sigstore integration time:
-
Permalink:
massive-value/plaud-tools@67893e5dd01e1114a0a4a5c6b1995a12241ee9e4 -
Branch / Tag:
refs/tags/v0.1.9 - Owner: https://github.com/massive-value
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@67893e5dd01e1114a0a4a5c6b1995a12241ee9e4 -
Trigger Event:
push
-
Statement type:
File details
Details for the file plaud_tools-0.1.8-py3-none-any.whl.
File metadata
- Download URL: plaud_tools-0.1.8-py3-none-any.whl
- Upload date:
- Size: 50.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b066627d77a6e79850710deada2d65081128b32d4677ba1cd203fb4f393deea4
|
|
| MD5 |
0438fcdec1b96de04b227b8fa6e38042
|
|
| BLAKE2b-256 |
35bfb1e967eae64946ce0a2223782707a00ce142e03211de2847033d0990a470
|
Provenance
The following attestation bundles were made for plaud_tools-0.1.8-py3-none-any.whl:
Publisher:
release.yml on massive-value/plaud-tools
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
plaud_tools-0.1.8-py3-none-any.whl -
Subject digest:
b066627d77a6e79850710deada2d65081128b32d4677ba1cd203fb4f393deea4 - Sigstore transparency entry: 1575622303
- Sigstore integration time:
-
Permalink:
massive-value/plaud-tools@67893e5dd01e1114a0a4a5c6b1995a12241ee9e4 -
Branch / Tag:
refs/tags/v0.1.9 - Owner: https://github.com/massive-value
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@67893e5dd01e1114a0a4a5c6b1995a12241ee9e4 -
Trigger Event:
push
-
Statement type: