MCP Server (Model Context Protocol)

The Salescaling MCP server allows AI agents like Claude, Cursor and other clients compatible with the MCP protocol to access your meeting data, transcripts and summaries in a structured and secure way.

What is MCP?

Model Context Protocol (MCP) is a standard protocol that enables language models (LLMs) to interact with external systems in a structured manner. The Salescaling MCP server implements this protocol to expose your meeting data through tools that AI agents can use.

Features

  • Spec-Compliant: Full implementation of the official MCP protocol

  • 6 Tools Available: Search, list, transcripts, summaries, full data and search by participant

  • Advanced Search: Full Text Search with PostgreSQL for semantic searches with optimized GIN indexes

  • Payload Control: Configurable limits to prevent context overflow

  • Secure Authentication: Uses your existing Salescaling API key

  • Multi-tenant: Automatic isolation by organization

  • High Performance: Optimized for millions of rows with GIN indexes and concurrency control

MCP Endpoints

The MCP server exposes two main endpoints:

GET /api/v1/mcp - List Tools

Returns the list of available tools with their input schemas.

Example:

POST /api/v1/mcp - Run Tool

Executes a specific tool with the provided arguments.

Example:

Available Tools

Searches meetings by text in titles and/or transcripts using PostgreSQL Full Text Search.

Parameters:

Parameter
Type
Required
Description

query

string

Yes

Search term

scope

string

No

title, sentences or all (default: all)

fromDate

string

No

Start date (YYYY-MM-DD)

toDate

string

No

End date (YYYY-MM-DD)

limit

number

No

Maximum 50 (default: 20)

Example:

2. list_meetings - List Meetings

Lists meetings with structured filters.

Parameters:

Parameter
Type
Required
Description

keyword

string

No

Search in names

fromDate

string

No

Start date

toDate

string

No

End date

limit

number

No

Maximum 50 (default: 20)

skip

number

No

Pagination (default: 0)

participants

string[]

No

Participant emails

organizers

string[]

No

Organizer emails

Example:

3. get_meeting_transcript - Get Transcript

Retrieves the detailed transcript of a meeting with speaker attribution.

Parameters:

Parameter
Type
Required
Description

transcriptId

string

Yes

Meeting ID

language

string

No

Language code (e.g.: "es", "en")

maxSentences

number

No

Sentence limit (payload control)

Payload Control:

  • Auto-truncates at 10,000 sentences if not specified maxSentences

  • Indicates in the response if the content was truncated

Example:

4. get_meeting_summary - Get Summary

Retrieves the AI-generated summary of a meeting.

Parameters:

Parameter
Type
Required
Description

transcriptId

string

Yes

Meeting ID

language

string

No

Language code

Example:

5. get_meeting_details - Full Details

Retrieves full details of a meeting (metadata + transcript + summary).

Parameters:

Parameter
Type
Required
Description

id

string

Yes

Meeting ID

includeTranscript

boolean

No

Include transcript (default: true)

includeSummary

boolean

No

Include summary (default: true)

maxSentences

number

No

Sentence limit in transcript

Example:

6. find_meetings_by_participant - Find Meetings by Participant

Finds meetings where a specific person participated. Searches by name (partial match) or email (exact match).

Parameters:

Parameter
Type
Required
Description

participant

string

Yes

Participant name or email

fromDate

string

No

Start date (YYYY-MM-DD)

toDate

string

No

End date (YYYY-MM-DD)

limit

number

No

Maximum 50 (default: 20)

skip

number

No

Pagination (default: 0)

Features:

  • Search by email: Exact match (case-insensitive)

  • Search by name: Partial match

    • Example: Jon will find "Jon Smith", "Jonathan", "Jon Doe", etc.

  • Returns full information of participants and organizer

  • Ordered by descending date (most recent first)

Examples:

Search by email:

Search by name:

MCP Clients Configuration

Claude Desktop

  1. Locate your configuration file:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

    • Windows: %APPDATA%\Claude\claude_desktop_config.json

  2. Add the MCP server configuration:

  1. Restart Claude Desktop

  2. Verify that the server is connected:

    • Look for the tools icon in the interface

    • You should see "salescaling" as an available server

    • The 6 tools should appear listed

Cursor IDE

  1. Open Cursor settings (Cmd/Ctrl + ,)

  2. Search for "MCP Servers" in the settings

  3. Add the Salescaling server:

  1. Restart Cursor

  2. Use the server from Cursor chat:

    • Mention "@salescaling" in the chat

    • Or ask directly: "Search meetings about performance"

Other MCP Clients

For any client compatible with MCP:

  1. Server URL: https://api.salescaling.com/api/v1/mcp

  2. Authentication: Header X-API-Key with your API key

  3. Protocol: Standard HTTP/HTTPS

  4. Format: JSON

Usage Examples

Example 1: Search Meetings with Claude

Example 2: Get Full Transcript

Example 3: Analysis of Multiple Meetings

Response Format

All tools return responses in the standard MCP format:

Security and Privacy

Authentication

  • All requests require a valid API key

  • API keys are managed from Settings > API Keys

  • Each key is tied to your organization (tenant)

Data Isolation

  • The MCP server respects multi-tenant isolation

  • You can only access meetings from your organization

  • OpenFGA permissions are applied automatically

Best Practices

  1. Never share your API key: Treat it like a password

  2. Use environment variables: Do not hardcode the key in files

  3. Rotate keys periodically: Create new keys and delete old ones

  4. Set expiration dates: For temporary or test keys

  5. Monitor usage: Review access logs regularly

Limits and Quotas

Rate Limiting

The MCP server shares the same limits as the public API:

  • Short term: 35 requests per second

  • Medium term: 200 requests every 10 seconds

  • Long term: 1000 requests per minute

Payload Limits

  • Transcripts: Auto-truncates at 10,000 sentences

  • Searches: Maximum 50 results per request

  • Listings: Maximum 50 meetings per request

Use the parameter maxSentences to control the size of transcripts.

Troubleshooting

Error: "Unauthorized - missing or invalid API key"

Cause: Invalid or missing API key

Solution:

  1. Verify that the header X-API-Key is present

  2. Confirm that the key is valid in Settings > API Keys

  3. Check that the key has not expired

Error: "Unknown tool: xxx"

Cause: Incorrect tool name

Solution:

  1. Verify the tool name (case-sensitive)

  2. Use GET /api/v1/mcp to see the available tools

  3. Valid names: search_meetings, list_meetings, get_transcript, get_summary, fetch

Error: "Meeting not found"

Cause: Meeting ID does not exist or you do not have access

Solution:

  1. Verify that the ID is correct

  2. Confirm that the meeting belongs to your organization

  3. Use list_meetings to obtain valid IDs

Server does not appear in Claude Desktop

Solution:

  1. Verify that the configuration file is in the correct location

  2. Check that the JSON is valid (no syntax errors)

  3. Restart Claude Desktop completely

  4. Check Claude Desktop logs for errors

Very long responses or timeouts

Solution:

  1. Use maxSentences to limit transcripts

  2. Reduce the limit in searches and listings

  3. Use includeTranscript: false if you only need the summary

  4. Filter by dates to reduce the data set

Support

Need help with the MCP server?

Additional Resources


Last updated: February 2026

Last updated

Was this helpful?