diff --git a/README.md b/README.md index eb5f637..7c6ecac 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,70 @@ # plaud-mpm-plugin -CoWork plugin — connects Claude to Plaud recordings (transcripts, summaries, AI notes) via MCP. CW-012. \ No newline at end of file +Connects Claude to Plaud recordings — list, search, transcripts, summaries, and AI notes directly in CoWork. + +**Version:** 0.1.0 +**Author:** Message Point Media +**Repo:** https://git.alwisp.com/jason/plaud-mpm-plugin +**CoWork Project:** CW-012 — Plaud MCP Plugin + +--- + +## Overview + +This CoWork plugin gives Claude direct access to Bryan's Plaud voice recordings via the unofficial Plaud API. It authenticates using a bearer token stored in `~/.plaud/config.json` (written by the plaud-connector `import-token` command) and exposes 7 MCP tools covering listing, searching, transcripts, summaries, and AI-generated notes. The plugin runs as a Python FastMCP stdio server launched by `uv` — no additional runtime dependencies beyond `mcp[cli]`. + +## Authentication + +Token is read from `~/.plaud/config.json` → `token.token` field (plaud-connector format). +Falls back to `PLAUD_TOKEN` environment variable. + +**Token setup (one-time):** +```bash +npx tsx ~/Developer/plaud-connector/packages/cli/bin/plaud.ts import-token app "" +``` + +Get the JWT from Chrome DevTools → Network → any `api.plaud.ai` request → `Authorization: Bearer `. +Tokens last ~300 days. Re-run `import-token` when expired. + +## MCP Tools (7) + +| Tool | Description | +|---|---| +| `plaud_list_recordings` | List all recordings newest-first. Params: `limit`, `only_with_transcript`. | +| `plaud_search_recordings` | Filter by `title_contains`, `start_date`, `end_date`, `only_with_transcript`. | +| `plaud_get_transcript` | Full transcript text for a recording ID. | +| `plaud_get_summary` | AI-generated summary for a recording ID. | +| `plaud_get_notes` | AI notes and action items (content_list) for a recording ID. | +| `plaud_get_recording_detail` | Full metadata: title, date, duration, flags, language, device, tags. | +| `plaud_user_info` | Account info and connection status. | + +## Skills + +| Skill | Trigger phrases | +|---|---| +| `plaud` | "pull the transcript", "what was discussed in my last meeting", "search my Plaud recordings", "show me action items from [meeting]", "meeting transcript", "meeting summary", "voice notes" | + +## Dependencies + +- `mcp[cli]` (via `uv run --with mcp[cli]`) — FastMCP server framework +- `plaud-connector` (external, for auth setup only) — https://github.com/rggnkmp/plaud-connector +- Python stdlib only for HTTP (`urllib.request`) + +## Region + +US region (`api.plaud.ai`). Set `PLAUD_REGION=eu` env var to switch to EU (`api.plaud.eu`). + +## File Structure + +``` +plaud-mpm-plugin/ +├── .claude-plugin/ +│ └── plugin.json # Plugin metadata +├── .mcp.json # MCP server config (uv + plaud_mcp.py) +├── server/ +│ └── plaud_mcp.py # FastMCP server — 7 tools +├── skills/ +│ └── plaud/ +│ └── SKILL.md # Skill definition and workflow guidance +└── README.md +```