plaud-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@plaud-mcpget the transcript of my latest recording"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Plaud MCP Server
MCP server for Plaud transcripts via CDP proxy through the running Plaud Desktop app.
How It Works
Claude Code → MCP Server → CDP (WebSocket) → Plaud Desktop → Plaud APIThe MCP connects to the running Plaud Desktop Electron app via Chrome DevTools Protocol:
Sends
SIGUSR1to the Plaud Desktop process to enable Node.js inspector (port 9229)Connects via WebSocket to the inspector
Executes API calls through the app's own authenticated
$fetchfunctionReturns results back through MCP tools
No token extraction, no cookies, no API keys. Uses the app's live authenticated session directly.
Related MCP server: TradingView MCP Bridge
Prerequisites
Plaud Desktop - installed and signed in
Python 3.10+
uv (recommended)
Installation
# Install as a CLI tool (recommended)
uv tool install "plaud-mcp @ git+https://github.com/davidlinjiahao/plaud-mcp"
# Or install from local source
uv tool install --force "plaud-mcp @ ."Configuration
Add to ~/.claude.json:
{
"mcpServers": {
"plaud": {
"command": "${HOME}/.local/bin/plaud-mcp",
"args": [],
"env": {}
}
}
}No API keys or tokens needed. Just ensure Plaud Desktop is running.
MCP Tools
Tool | Description |
| Verify Plaud Desktop is available |
| Total number of recordings |
| Files from the last N days |
| Files with optional date filters |
| Metadata for a specific file |
| Full transcript with speaker labels |
| AI-generated summary |
| Search transcripts by content |
Troubleshooting
"Plaud Desktop is not running"
Launch the Plaud Desktop app and sign in.
"Could not enable inspector"
The SIGUSR1 signal may have failed. Ensure Plaud Desktop is the main process, not a helper.
Search is slow
search_transcripts fetches and searches client-side. Reduce the days parameter.
Why CDP?
Plaud's API validates auth at the Chromium network stack level - tokens extracted from LevelDB don't work with standard HTTP clients (httpx, curl, curl_cffi with Chrome impersonation all return 401). The CDP approach bypasses this entirely by executing requests through the app's own authenticated context.
Development
uv venv && source .venv/bin/activate
uv pip install -e ".[dev]"
ruff check src/ && pyright src/Available Tools
8 toolscheck_connectionA
Check if Plaud Desktop is available and authenticated.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses basic behavior (check availability and authentication) but does not specify response details or side effects. Since annotations are absent, the description carries the burden but provides only high-level info.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single concise sentence, front-loaded with the core action. No extraneous information, every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no parameters and the presence of an output schema, the description is adequate for a simple check tool. It could be improved by suggesting to call before other operations, but overall it's complete enough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, so schema coverage is trivially 100%. With zero params, the baseline is 4, and the description adds no parameter-specific info, which is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool checks availability and authentication of Plaud Desktop, using a specific verb and resource. It distinguishes well from sibling tools focused on file and transcript operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. While it's implied as a preliminary check, the description lacks 'when to use' or 'when not to use' context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_fileB
Get metadata for a specific Plaud file.
| Name | Required | Description | Default |
|---|---|---|---|
| file_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must bear the burden. It only states 'Get metadata' implying a read operation but lacks details on error behavior, prerequisites, or access restrictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded with purpose. No unnecessary words; appropriately concise for a simple get tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity (one parameter, output schema exists), the description is minimally adequate. However, with no annotations, it could mention that this is a safe read operation or that the output schema describes metadata fields.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 0% description coverage for file_id. The tool description does not explain what file_id represents or its format, relying solely on the parameter name. No added semantic value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (Get) and resource (metadata for a specific Plaud file), distinguishing it from siblings like get_files (listing) or get_transcript.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs siblings (e.g., get_files for listing, get_transcript for content). No exclusions or alternatives mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_file_countA
Get the total number of Plaud files.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool returns a total count, but does not disclose traits like performance, accuracy, whether the count is real-time, or if it includes hidden files. The output schema exists but is not considered in this dimension. The description is minimally acceptable for a simple count, but lacks depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no redundant information. It is front-loaded with the action and resource, and every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with no parameters and an output schema, the description is mostly complete. However, it could provide additional context, such as noting it is a quick alternative to listing files or mentioning any limitations (e.g., counts only files the user has access to). Despite this, it sufficiently explains the tool's purpose.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters, so schema coverage is 100%. According to the baseline rule for zero parameters, a score of 4 is appropriate since the description does not need to add parameter semantics. No additional explanation is required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (get) and the resource (total number of Plaud files), distinguishing it from siblings like get_files (which retrieves file details) and search_transcripts (which searches transcripts). It uses a specific verb and resource, leaving no ambiguity about the tool's function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as get_files or search_transcripts. There is no mention of use cases, prerequisites, or exclusions, leaving the agent to infer appropriate usage without explicit context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_filesB
Get Plaud files with optional date filters (ISO format, e.g. '2024-01-01').
| Name | Required | Description | Default |
|---|---|---|---|
| start_date | No | ||
| end_date | No | ||
| limit | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should disclose behavioral traits. It only states a basic read operation without mentioning pagination, rate limits, auth needs, or whether it returns metadata or full files. The limit parameter hints at pagination but is not explained.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no wasted words. It could be more structured (e.g., listing parameters), but it is efficient and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 3 optional params and an output schema, the description is adequate but incomplete: it covers date filters but not limit behavior or result scope. Siblings indicate it is a general listing tool, but that is implied. Output schema exists, so return values are covered elsewhere.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It adds format guidance for start_date and end_date (ISO format), but does not mention the limit parameter. This partial coverage earns a 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get Plaud files' with optional date filters, which distinguishes it from siblings like get_file (single file) and get_file_count (count). However, it does not explicitly differentiate from get_recent_files, leaving some ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for listing files with optional date range, but lacks explicit when-not or alternative guidance. For instance, it does not clarify when to use get_recent_files instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_recent_filesB
Get Plaud files from the last N days.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must cover behavior. It only states 'Get Plaud files' without clarifying whether it's read-only, whether permissions are needed, or any side effects. Lacks details on output format or pagination beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no redundancy, directly conveys the core function. Efficiently sized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity and existence of output schema, the description is too sparse. Lacks context on how this differs from get_files or search_transcripts, and does not mention any limitations like maximum days or performance considerations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so description must compensate. It explains 'days' as 'from the last N days', adding meaning beyond the bare schema. However, it does not specify valid range, format, or default behavior beyond the default value in schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states verb 'Get' and resource 'Plaud files' with a time constraint 'from the last N days', which is specific. However, it does not explicitly differentiate from sibling tools like get_files or search_transcripts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for time-based retrieval via the 'days' parameter, but gives no explicit guidance on when not to use this tool or mention of alternatives among sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_summaryB
Get AI-generated summary for a Plaud file.
| Name | Required | Description | Default |
|---|---|---|---|
| file_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description does not disclose if the operation is read-only, destructive, or any rate limits. Fails to add behavioral context beyond the action name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, no wasted words; concise but could be improved by including critical details without bloating.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema, the description omits key aspects: what the summary contains, whether it is generated on demand, and error handling. Inadequate for a tool with no annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 0% description coverage for the sole parameter 'file_id'. Description offers no additional meaning, leaving the agent to infer its purpose from the tool name.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states verb 'Get' and resource 'AI-generated summary for a Plaud file', distinguishing it from siblings like get_transcript or get_file.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage for retrieving summaries, but no explicit when-to-use or when-not-to-use compared to alternatives like get_transcript or get_file.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_transcriptB
Get full transcript with speaker labels for a Plaud file.
| Name | Required | Description | Default |
|---|---|---|---|
| file_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must cover behavior. It implies a read operation but does not disclose idempotency, auth needs, or output format. However, an output schema exists which mitigates the gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence that is front-loaded and efficient. Every word adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a single required parameter and existing output schema, the description is mostly adequate but lacks context on what a 'Plaud file' is and how to retrieve file_id from other tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%. The description does not explain the file_id parameter, how to obtain it, or its format. No additional semantics beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and resource 'transcript with speaker labels', specifying it is for a 'Plaud file'. This distinguishes it from siblings like get_summary and get_file.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives such as search_transcripts or get_summary. Lacks prerequisites or context for file_id.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_transcriptsC
Search recent transcripts for matching content. Searches client-side.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| days | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description mentions 'client-side' behavior but does not elaborate on implications like performance, data loading, or read-only nature. No annotations exist to supplement, leaving gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but not overly terse; however, it could benefit from additional structured detail without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 0% schema coverage and an existing output schema, the description lacks information on return format, pagination, or extent of search, making it incomplete for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the description does not explain the 'query' or 'days' parameters beyond implying recency. Adds minimal value over the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('search') and the resource ('recent transcripts'), with an added behavioral detail ('searches client-side'). It distinguishes itself from sibling tools like get_transcript and get_summary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives, nor any conditions or exclusions. The description lacks context for appropriate usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Most tools have distinct purposes: connection check, file retrieval variants, summary, transcript, and search. However, 'get_files' and 'get_recent_files' could cause slight confusion as both retrieve files but with different filtering.
All tool names follow a consistent verb_noun pattern using snake_case, such as 'check_connection', 'get_file', 'search_transcripts'. The naming is predictable and easy to understand.
With 8 tools, the server is well-scoped for its purpose of interacting with Plaud files. Each tool provides distinct functionality without redundancy or excessive complexity.
The tool set covers retrieval (files, summaries, transcripts) and search, but lacks any create, update, or delete operations. This leaves a notable gap for file management, though it may be intentional due to API limitations.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Your Plaud recordings in natural language: list recordings, read speaker-attributed transcripts and
A paid remote MCP for AI agent browser DevTools MCP, built to return verdicts, receipts, usage logs,
Search meetings, export summaries and transcripts, and manage recordings from any AI tool.
A paid remote MCP for AI SDK data query MCP, built to return verdicts, receipts, usage logs, and aud
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceEnables AI assistants to interact with TradingView Desktop charts for analysis, Pine Script development, and workflow automation via Chrome DevTools Protocol.552
- FlicenseNot gradedqualityBmaintenanceEnables AI assistants to interact with locally running TradingView Desktop for chart analysis, Pine Script development, and workflow automation via Chrome DevTools Protocol.5525,928
- FlicenseNot gradedqualityCmaintenanceConnects Claude Code to your locally running TradingView Desktop app via Chrome DevTools Protocol for AI-assisted chart analysis, Pine Script development, and workflow automation.
- FlicenseNot gradedqualityBmaintenanceEnables AI assistants to interact with locally running TradingView Desktop for chart analysis, Pine Script development, and workflow automation via Chrome DevTools Protocol.552
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/davidlinjiahao/plaud-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server