jason 82b700e2e1 v0.1.1: Rewrite with curl-based HTTP (Cloudflare bypass), S3 gzip content fetching, correct API field names
- Switch urllib to curl subprocess to bypass Cloudflare Error 1010
- Add _fetch_s3_json() for gzipped content from signed S3 URLs  
- Fix list endpoint key: data_file_list (not data)
- Fix detail endpoint title field: file_name (not filename)
- Fix token key: support both token and accessToken in config
- Add _format_transcript() with speaker grouping
- plaud_get_transcript: fetch from content_list S3 URLs (transaction_polish → transaction)
- plaud_get_summary: fetch outline from S3
- plaud_get_notes: fetch all non-transcript content_list items from S3
- plaud_get_recording_detail: derive has_transcript from content_types list
2026-05-12 14:11:55 -05:00
2026-05-12 12:26:32 -05:00
2026-05-12 12:26:38 -05:00
2026-05-12 12:26:42 -05:00

plaud-mpm-plugin

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.jsontoken.token field (plaud-connector format). Falls back to PLAUD_TOKEN environment variable.

Token setup (one-time):

npx tsx ~/Developer/plaud-connector/packages/cli/bin/plaud.ts import-token app "<jwt>"

Get the JWT from Chrome DevTools → Network → any api.plaud.ai request → Authorization: Bearer <token>. 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

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
S
Description
CoWork plugin — connects Claude to Plaud recordings (transcripts, summaries, AI notes) via MCP. CW-012.
Readme 100 KiB
Languages
Python 100%