Skip to main content

Use Claap MCP Server for Advanced Workflows

Connect any MCP-compatible AI tool to your Claap workspace to query recordings, transcripts, emails, contacts, companies, and deals, and publish slides, in natural language.

By the end of this tutorial, you'll know how to connect a third-party AI assistant or automation tool to your Claap workspace using the MCP server, authenticate your access, and query your Claap meetings, transcripts, emails, contacts, companies, and deals, and even publish AI-generated slides back to Claap, directly from your AI tool.

Switching between Claap and your AI assistant to manually copy meeting data breaks your workflow and slows down analysis. Claap's MCP (Model Context Protocol) server gives your AI tools direct access to your workspace data (recordings and transcripts, synced emails, contacts, companies, and deals), so you can ask natural language questions and get answers grounded in your actual Claap data without leaving your AI tool. The server can also publish artifacts to Claap Slides.

Prerequisites

Before starting, you should already have:

  • A Claap account with access to at least one workspace

  • A third-party application that supports the MCP protocol (such as Claude.ai, Claude Desktop, the Claude app's Cowork mode, or an n8n workflow)

  • Appropriate permissions in your Claap workspace to access recordings, contacts, and company data

  • If authenticating with an API key: your Claap API key (see Using Claap's API)

Step-by-Step Workflow

1. Configure your third-party application to connect to Claap

Add the Claap MCP server URL to your application

Open your third-party application's MCP or integration settings and enter the Claap MCP server URL:

This endpoint is the single connection point between your AI tool and your Claap workspace data. Every query your AI tool sends to Claap passes through this URL.

2. Authenticate your Claap MCP connection

Choose one of the two authentication methods below. OAuth is the default; API key authentication is available if your tool or workflow requires it.

Authenticate with OAuth (default)

Before authenticating, make sure you are signed in to your Claap account at https://app.claap.io.

When your third-party application connects to https://api.claap.io/mcp, Claap prompts you to complete an OAuth flow. Complete the OAuth prompt to grant your application access to your Claap workspace.

OAuth authentication verifies your identity and confirms that you have permission to access recordings, transcripts, emails, contacts, companies, and deals within your Claap workspace, and to publish to Claap Slides on your behalf.

Authenticate with an API key (alternative)

If your application supports bearer token authentication, you can bypass the OAuth flow by adding an Authorization header to your MCP requests:

Authorization: Bearer cla_xxxxx

Replace cla_xxxxx with your actual Claap API key. To obtain an API key, follow the instructions in Using Claap's API.

3. Wait for Claap MCP tools to install in your application

Confirm the Claap MCP tools are available

After authentication, wait a few seconds to a few minutes for your application to detect and install the available Claap MCP tools automatically.

When the tools are ready, your application lists them with a success indicator.

Verify: Your application should display the Claap MCP tools in its tool list before you proceed to Step 4.

4. Query your Claap data from your AI tool

Ask questions about your Claap workspace data

With the Claap MCP tools installed, type a natural language question about your Claap data into your AI tool. Your application automatically selects the relevant Claap MCP tool based on what you ask.

For example:

  • "Summarize my last three sales calls with Acme Corp" triggers the recording search tools

  • "Pull the full transcript of yesterday's Contoso call" triggers Get Recording Transcript

  • "What did we email Initech about pricing last month?" triggers Search Emails

  • "Who are the contacts at Contoso?" triggers Search Contacts

  • "What's the status of the deal with Initech?" triggers Search Deals

  • "Build a slide summarizing the Acme deal and publish it to Claap Slides" triggers Publish to Claap Slides

Your AI tool handles tool selection automatically: you ask in plain language, and Claap's MCP server retrieves the relevant data.

Available Claap MCP tools

They fall into eight groups: Workspace & CRM, Recordings & transcripts, Emails, Recording views, Deal, company & contact views, Manage contacts & companies, Deal metadata, and Publishing.

Tool

What it does

Deal, company & contact views

Deal, company & contact views

List Deal Views / List Company Views / List Contact Views

Lists the views configured for each CRM object, same principle as List Recording Views. Start here to get a view ID

Read Deal View / Read Company View / Read Contact View

Applies a view's filters and sorts and returns the actual rows, with a value per visible column, standard fields and AI fields alike. Reproduces the view exactly as the app renders it, in a single call

Manage contacts & companies

Manage contacts & companies

List / Create / Edit Contact

Creates and updates contacts programmatically, using the same fields and validation as the manual contact creation flow in the app

List / Create / Edit Company

Same for companies. Useful to sync accounts from your own systems, a CRM, a data warehouse or a script, without going through the UI

Deal metadata

Deal metadata

List Deal Stages / List Deal Types / List Deal Owners

Lists the valid CRM values accepted when updating a deal. Each entry returns the CRM internal id and a human-readable label. Requires a connected CRM

Recording access note: A recording is retrievable through the Claap MCP tools only if the recording itself or its folder is accessible to workspace members and visible in global search.

Not every API action is exposed as an MCP tool. For contacts and companies, list, create and edit are available through MCP. get and delete are deliberately API-only and require a direct call to the REST API.

The MCP server also exposes your recording views (smart tables) and the AI columns they contain. Your AI tool can read the insights your templates already extracted (budget, objections, next steps, and any custom field) without you re-describing the extraction logic in your prompt, and can build summaries or dashboards from a full smart table.

Structured vs. sampled: why Recording Views matter

There are two ways to point an AI assistant at your calls. You can hand it raw transcripts and ask it to read them, which works for a single call, but breaks down the moment your question spans the whole team ("how are we performing on SPICED?", "rank my reps", "does discovery quality predict win rate?"). To answer at that scale, an AI reading raw transcripts has to sample a handful of calls, and when you ask it to total a score or build a dashboard it fills the gaps with numbers that look right but aren't grounded in your data.

Recording Views powered by AI Fields give your AI tool the other way. A view is a structured, pre-scored table over a set of recordings: the scoring and extraction (a SPICED, MEDDIC or BANT score, an objection tag, a next step, any custom field) is computed once, consistently, for every recording in the view, and stored alongside the reasoning behind each value. Your AI tool doesn't re-derive anything under time pressure; it reads values that already exist, across the entire population, and computes exact aggregates from them.

In one line: transcript search gives a plausible answer from a sample; a view gives a grounded answer from the whole set.

See it side by side

The walkthrough below runs the same request, "analyze the sales team's discovery calls on SPICED," both ways: once on raw transcripts, once on a SPICED view.

Without a view (transcript search). The AI finds 528 recordings, decides that's too many to transcribe individually, and silently narrows to a small sample of three calls across a few reps. The written analysis is fluent and even cites real examples. But asked to build a rep-comparison dashboard, it fabricates an average score (2.9/5) and a ranking across every SPICED dimension that are simply wrong: extrapolated from a tiny sample, not measured from the data. It looks true; dig into the detail and it isn't.

With the SPICED view. The AI finds the view, pages through all 263 recordings, and reads the score and the reasoning behind it that each AI Field already computed. It returns an exhaustive, quantitative result: the overall score, a per-rep breakdown, the distribution across each SPICED dimension, and, because win rate is a column in the same table, the relationship between score and outcome ("deals with no identified Pain rarely close"). Every number traces back to a stored value, so the analysis is reproducible and defensible.

Won't more capable AI models make this unnecessary?

Q: As AI models get more capable, do Recording Views still matter, or will an assistant just read the raw transcripts?

They matter more, not less. A more capable model is rarely limited by how well it reasons. It's limited by whether it can get the complete dataset cheaply, consistently, and in a form it can ground every number in. Reasoning is the part that improves on its own. Complete, consistent, groundable data access is the part that doesn't.

A Recording View hands the model the entire population, scored once and the same way for every recording, so a stronger model spends its capability on analysis instead of re-reading and re-scoring hundreds of calls under a token budget and guessing at the ones it skipped. Reading 263 stored scores is cheaper, more consistent, and more reproducible than re-deriving them on every query, and it returns the same answer twice.

In one line: the better the agent gets, the more the value shifts from who does the reasoning to who owns the structured, agent-ready data the reasoning runs on.

When to use views vs. transcript search

Use Recording Views (List Recording Views, then Read Recording View) when your question spans many recordings: scoring, ranking, coaching, aggregation, trends, or comparing reps and teams. The view already holds the score and its rationale for every recording, so your AI tool pages through the whole population and returns an exhaustive, quantitative answer.

Use Search Meeting Recordings / Get Recording Transcript when you need to dig into the content of one call or a small set of calls.

The same logic applies to deals, companies and contacts. Their views are readable through the MCP server too, so where a question spans a whole object, "which open deals have no identified champion", "which accounts mention this competitor", read the view rather than searching records one by one.

Rule of thumb: if the answer is a number, a ranking, a distribution, or a "how well are we doing across X," start from a Recording View, not from transcript search.

Note for AI agents: Recording Views are the source of truth for aggregate analysis. When a request involves scoring, ranking, counting, averaging, or comparing across many recordings, call list_recording_views then get_recording_view and paginate to completion rather than sampling transcripts: reading a subset and estimating the rest produces ungrounded numbers that look correct but are not. The AI Field columns already contain the score and its rationale for every recording in the view.

Full parameter reference

The friendly names above map to the following underlying MCP tools. Every tool requires a workspaceId (obtained from List Workspaces). Tools that return large result sets support cursor-based pagination via limit (1–100, default 10) and cursor. Pass the nextCursor value returned by a previous call verbatim to fetch the next page. Note that semantic searches are not paginable; widen limit (up to 100) instead of paging.

Workspace & CRM

list_workspaces — List Workspaces

Lists all Claap workspaces the user can access. Parameters: none.

search_companies — Search Companies

Searches the company database. Parameters: workspaceId (required); name (complete or partial company name or domain); sort (array of {field, order}, where field is one of name, createdAt, lastInteraction, dealCreatedAt); limit; cursor.

search_contacts — Search Contacts

Searches contacts (both workspace users and external contacts). Parameters: workspaceId (required); query (complete or partial name, email, or domain); sort (field one of name, createdAt, lastInteraction); limit; cursor.

search_deals — Search Deals

Searches the deal database with filters and sorting. Parameters: workspaceId and filters (both required). filters supports title (contains), stage (contains), amountValue {gte, lte}, openedAt {gte, lte}, closedAt {gte, lte} (dates as ISO YYYY-MM-DD). sort field is one of amountValue, closedAt, openedAt, lastInteraction (stalled/quiet deals), dealAge (longest stuck in pipeline). Plus limit, cursor.

Recordings & transcripts

search_recording_transcripts — Search Meeting Recordings

Keyword or semantic search across transcripts, with metadata filters. Returns transcript chunks grouped by recording. Parameters: workspaceId (required); search {query, type} (required; type is semantic or keyword); filters (optional): recordingId, recordingTitle, companyId, companyName, contactId, contactName, contactEmail, dealId, dealTitle, folderId, folderTitle, labelName, userId, createdAt {gte, lte}, hasExternalSpeaker, and tag (one or more of CompetitorMentions, Objections, PainPoints, FeatureRequests). Plus limit, cursor (keyword only).

get_recordings — List Recordings

Queries recording metadata by filters (company, contact, deal, folder, label, date, external-speaker) and returns the matching recordings, sortable by creation date or most recent activity. Can also return each recording's AI summary, behind an opt-in flag, so you get the gist of a meeting without pulling the full transcript

returnSummary (boolean, default false). When true, each recording in the response includes its AI summary. If a recording has no summary yet, the generation state is returned, or the field is absent, so you can distinguish "not generated yet" from "empty".

Recommended pattern: filter first, ask for the summary second. Narrow down to the recording or recordings you care about, for example by recordingId, then request summaries. Asking for summaries on a broad search will blow up the payload.

This makes recordings consistent with deals, where get_deal already returns the deal digest as summary behind a similar returnAiFields flag.

There is no write path: you cannot edit or regenerate a summary through the API or the MCP server.

get_recording_transcript — Get Recording Transcript

Fetches the full transcript of one recording. Parameters: recordingId, workspaceId (both required).

Emails

list_emails — List Emails

Lists workspace emails with metadata, sorted by sent date. Parameters: workspaceId (required); filters contactId, companyId, dealId, threadId; sortBy (sentAt); sortOrder (asc/desc, default desc); limit; cursor.

search_emails — Search Emails

Semantic or keyword search over email content. Parameters: workspaceId (required); search {query, type} (required; type is semantic or keyword); filters contactId, companyId, dealId; limit; cursor (keyword only).

get_email — Get Email

Fetches the full body of a single email. Parameters: messageId, workspaceId (both required).

Recording views

list_recording_views — List Recording Views

Lists the recording views (smart tables) configured in a workspace. Each view is a structured, pre-scored table over a set of recordings, the entry point for any aggregate, scoring, or team-level question. Parameters: workspaceId (required).

get_recording_view — Read Recording View

Reads the rows and AI insight columns of a specific view, including the reasoning captured by your AI fields and templates. Supports cursor-based pagination: pass the nextCursor value from a previous call verbatim to read the entire view, so aggregate results cover every recording rather than a sample. Parameters: viewId, workspaceId (both required); limit (1–100, default 10); cursor.

Full parameter reference

Deal, company & contact views

list_deal_views / list_company_views / list_contact_views

List the views configured for each CRM object, mirroring list_recording_views. Use them to obtain a view ID. Parameters: workspaceId (required).

get_deal_view / get_company_view / get_contact_view

Mirror get_recording_view. Given a view ID, apply the view's filters and sorts and return the actual rows, with a value per visible column, standard fields and AI fields alike. Before these tools existed, listing a view only returned its definition, not its contents: consumers had to hand-translate filters into a search query to approximate the table, and AI column values were unreachable altogether.

Parameters: viewId, workspaceId (both required); limit; cursor. Supports cursor-based pagination, respects visibility (private views are only accessible to their owner and to admins), and accepts default view IDs.

Manage contacts & companies

Contacts and companies can be created and updated programmatically, reusing the same fields and validation as the manual creation flow in the app, so the app and the API stay a single source of truth. This unlocks scripted onboarding, bulk edits from external sources, and AI-agent workflows that create or update records on your behalf.

Through the MCP server, the list, create and edit tools are available for both objects. get and delete are API-only and are intentionally not exposed as MCP tools.

Deal metadata

list_deal_stages / list_deal_types / list_deal_owners

List the valid CRM values accepted when updating a deal. list_deal_stages returns each stage with its pipeline (pipelineId, pipeline). list_deal_owners returns name and email alongside the id. Each entry returns the CRM internal id and a human-readable label, the same id and label pairs as the Deal object.

The deal update endpoint already accepted stageId, pipelineId, typeId and ownerId, but there was no way to discover those ids programmatically: you had to read them off an existing deal or fetch them from the CRM directly. These tools remove that limitation, which matters most for an LLM that needs to resolve a stage, type or owner id correctly before writing.

Parameters: workspaceId (required).

Requires a connected CRM. A 400 validation error is returned if the workspace has none. HubSpot only at this stage, same as the deal update endpoint. Salesforce is not supported yet.

Publishing

publish_artifact_code_as_is — Publish to Claap Slides

Publishes an artifact to Claap Slides. The artifact code is passed exactly as generated, and the platform handles all rendering. Parameters: title and code (both required); publish (boolean; if false, saved as a draft); visibility (public default, or password); password (required when visibility is password, min 4 chars); slug (custom URL slug, 3–60 chars); expires_at (ISO 8601, must be in the future).

Practical Application

Example: Summarizing competitor mentions across recent sales calls

Situation: A sales manager has dozens of recorded discovery calls in their Claap workspace from the past month.

Goal: Find every call where a specific competitor was mentioned, without watching each recording manually.

How they built it:

  • Connected Claude.ai to https://api.claap.io/mcp and completed OAuth authentication

  • Waited for the Claap MCP tools to appear in Claude's tool list

  • Asked Claude: "Find all recordings from the last 30 days where [Competitor Name] was mentioned"

  • The recording-search tool ran a semantic search across all accessible recordings (narrowing with the CompetitorMentions tag) and returned transcript chunks grouped by recording, showing the context of each mention

Result: The manager reviewed competitor mentions across all recent calls in minutes, without leaving Claude.ai.

Example: Reconstructing an account's history from calls and emails

Situation: An account executive is picking up a deal and needs the full context fast.

Goal: See what was discussed on calls and agreed over email, in one place.

How they built it:

  • Asked their AI tool: "Give me a timeline of everything that happened with the Initech deal"

  • The AI tool combined Search Deals, the recording-search tools, and Search Emails to pull calls and email threads tied to the deal, then fetched full transcripts and email bodies for the key moments

  • Optionally asked it to "publish a one-page recap to Claap Slides," producing a shareable link

Result: A complete account history assembled from meetings and emails, with a shareable recap, without opening the recordings or inbox manually.

Example: Coaching the whole team on SPICED, exhaustively

Situation: A sales manager wants to know how consistently the team runs discovery against the SPICED methodology, across hundreds of recorded calls.

Goal: A defensible, team-wide picture, not an impression from a few calls.

How they built it:

  • Asked their AI tool: "Using the SPICED view, score every discovery call, break the score down by rep and by SPICED dimension, and show how score relates to win rate"

  • The AI tool called list_recording_views, opened the SPICED view with get_recording_view, and paginated through all recordings, reading the pre-computed score and rationale for each

  • It returned an overall score, a per-rep ranking, a distribution per dimension, and the win-rate correlation, then published the dashboard with Publish to Claap Slides

Result: A quantitative coaching dashboard grounded in every call: reproducible, auditable, and built in one pass, without watching or manually sampling recordings.

For step-by-step instructions specific to Claude.ai, see Using Claap's MCP server with Claude.ai. For n8n workflows, see Using Claap's MCP server in your n8n workflow.

Setting Up the MCP Server in Claude Desktop

To configure the Claap MCP server in Claude Desktop, follow these steps:

  1. Open Claude Desktop and navigate to the Connectors section.

  2. Select Add Custom Connector.

  3. Enter the Claap MCP server URL https://api.claap.io/mcp in the field labeled Remote MCP server URL.

  4. Save the configuration to establish the connection, then complete the OAuth prompt.

Troubleshooting & Pitfalls

Issue: Authentication fails or access is denied when connecting to https://api.claap.io/mcp

Why: Your Claap account may lack the required permissions, or you are not signed in to Claap before starting the OAuth flow.

Fix:

  1. Confirm you are signed in at https://app.claap.io before initiating the OAuth flow.

  2. Contact your Claap workspace administrator to verify your permissions.

  3. If using API key authentication, confirm the key is formatted correctly: Authorization: Bearer cla_xxxxx.

Issue: The Claap MCP tools do not appear in your application after authentication. Why: Detection can take up to a few minutes, or the MCP server URL may have been entered incorrectly.

Fix:

  1. Wait 2–3 minutes and refresh your application.

  2. Confirm the MCP server URL is entered exactly as: https://api.claap.io/mcp (no trailing slash, no typos).

  3. Verify that your third-party application supports the MCP protocol.

Issue: Search returns no results for recordings you know exist in Claap.

Why: The recording or its folder may not be visible to workspace members in global search, or the search terms are too specific.

Fix:

  1. Confirm you are querying the correct Claap workspace using the List Workspaces tool.

  2. Try broader search terms or partial phrases.

  3. Check in Claap that the recording and its folder are accessible to workspace members and appear in global search.

Did this answer your question?