Use this reference to look up each tool’s required scope, parameters, returned fields, and behavior. Each tool is listed under its group with its identifier and required scope.
The server returns only tools permitted by the access token’s scopes through tools/list, and checks access on every tools/call. For authentication, token handling, and error codes, see Build a custom client.
The Mindtickle MCP server is hosted on each Mindtickle instance. Use the following URL pattern:
https://{mindtickle-instance-url}/mcp
Replace {mindtickle-instance-url} with the hostname of your Mindtickle instance (for example, example.mindtickle.com). Use only the hostname; do not include the protocol or any other path. The /mcp path is fixed and must not be modified.
Transport: The server supports MCP over HTTP. The protocol uses GET requests for streaming and POST requests for JSON-RPC communication. Authentication is required on every request; see Build a custom client for the authentication model, scopes, and token endpoint.
The list tools (find_deals, find_companies, find_contacts, and find_rooms) return up to 10 results per page by default. Use each tool’s documented limit and offset parameters to retrieve more results. mindtickle_search has separate result and pagination behavior described below.
Searches across Mindtickle learning content (including assets, modules, files, series, asset hubs, tags, and peers) using hybrid keyword and AI-powered semantic search. Results respect the user’s existing content access permissions. The content library includes training modules, sales assets, battle cards, and playbooks.
Up to limit items; an empty array on no matches. Each item includes a relevance score, matched excerpts in matchingText, and a metaDetails object whose fields depend on the result’s content type and which fetch* flags were set.
totalCount
integer
Total number of matches, not just the ones included in this response.
returnedCount
integer
Number of items actually included in this response.
Sends a conversation to Mindtickle’s Seller Copilot and returns the assistant’s response. Draws context from the calling user’s own assigned training, sales assets, and Call AI recordings. Requires the client to maintain and send the full conversation history with each request. Supports optional streaming responses; see Streaming responses.
Either a single question as a string, or the full conversation so far as an array of {role, content} turns (role is user or assistant; content can’t be empty). If you pass an array, its last turn’s role must be user.
Each call starts a new session. To continue a conversation, resend the full prior exchange in input with your new question as the final user turn. A previous response’s sessionId cannot resume the session.
Looks up deals (CRM opportunities) by name, company, or stage. Useful for finding the deal behind a Digital Sales Room, or for confirming whether a room already exists for one. Results are scoped to the calling user’s organization. Every parameter is optional. An unfiltered call matches every deal in the organization, so filter whenever possible.
Restricts results to one or more deal stages. Exact match.
with_room
boolean
Optional
true returns only deals that already have a room; false returns only deals without one; omit to return all deals.
limit
integer
Optional
Minimum 1; maximum 1,000, enforced by the server; default 10. Results per page.
offset
integer
Optional
Minimum 0. Number of matches to skip for pagination.
include_total_count
boolean
Optional
Default false. Adds total_count to the response, but only on the first page (when offset is omitted). Counting every match across a large pipeline can be slow, so pass this only when a count is actually needed.
Present only when include_total_count: true was passed, and only on the first page. Absence never means zero.
deals
array
Up to limit items; an empty array on no matches (a normal success response, not an error). Each item includes deal_id, name, stage, amount, currency, close_date, next_step, crm_deal_id, company_id, company.name, owner.full_name, room_id (UUID, nullable), and room_id_int (nullable).
Looks up companies (CRM accounts) by name, so you can attach one to a Digital Sales Room for company-level branding and analytics. Matching is partial and case-insensitive. Results are scoped to the calling user’s organization.
Part or all of the company name. Matching is partial and case-insensitive: a plain substring match, not exact and not embedding-based. Omit or pass an empty string to match every company.
limit
integer
Optional
Minimum 1; default 10. The documented maximum is 1,000. The tool’s schema does not enforce this maximum; keep requests within the documented limit.
offset
integer
Optional
Minimum 0; zero-based. Number of matches to skip for pagination.
Looks up buyer and prospect contacts by name, email, or associated company, so you can add them to a Digital Sales Room’s guest list or invite them with share_room. Contacts are synced from your CRM, so a very recent change may not appear immediately.
Up to limit items; an empty array on no matches. Each item includes contact_id, first_name, last_name, email, title, consent (boolean or null), company_id, crm_contact_id, and company.company_name.
Finds existing Digital Sales Rooms by name, or by the deal, company, or contact linked to them, and returns each room’s identifiers for use with fetch_room, edit_room, and share_room. By default, returns only active rooms, most recently active first. Results include any room the calling user is permitted to see, which for a manager or admin can include rooms created by others.
Up to limit items; an empty array on no matches. Each item includes room_id (UUID), room_id_int (numeric, as a string), name, status, room_type, owner_name, visitors_count, visits_count, last_activity_at, link, and nullable deal (deal_id, deal_name) and company (company_id, company_name) objects.
Retrieves the full details of a single Digital Sales Room by its ID, including its configuration and links and, when requested, its content and guest lists. Use this to confirm a room’s current state or verify that a create_room or edit_room change took effect.
These tools create or change data. share_room sends invitation emails and can also create contact records. create_room, edit_room, and create_contacts do not send emails. Review the tool’s requirements and response fields before acting on its result.
Creates a new Digital Sales Room and returns its identifiers and links. The room goes live immediately, but no one is emailed until share_room is called. This tool creates a room without a template. If you need a templated room, create one from a room template in the Mindtickle web app instead.
Updates an existing Digital Sales Room: its name, description, linked deal or company, guest list, access controls, feature settings, and content. Only the fields you pass are changed, and a field you do pass replaces its current value entirely. Content can be added, but not removed or reordered, through this tool. No one is emailed as a result of these changes; use share_room to notify guests.
Emails an existing Digital Sales Room’s link to one or more buyers by email address, inviting them to open it. This is the only tool that sends email on a room’s behalf. create_room and edit_room never notify anyone.
Each entry needs only an email field (email format, min 3 characters). There is no contact_ids parameter. The schema is strict, so passing one is rejected outright.
Finds or creates contacts from 1 to 50 email addresses for use in a Digital Sales Room’s guest list. Returns existing contacts without creating duplicates and creates records for new addresses. It does not send email or associate contacts with a company or deal. Use find_contacts to look up a person by name.
Batch-level errors. The tool can return these alongside other result data.
message
string
Human-readable message accompanying errors.
results
array
One entry per submitted email: email, created (boolean: true if a new contact was inserted, false if an existing one was reused), error (nullable, per-address failure reason), and a nested contact object (contact_id, first_name, last_name, email, company_id) that is null when that item’s error is set.
Existing tools retain their names and required scopes as new tools are added. Check the scopes granted to your connection when discovering available tools.
Related
Mindtickle MCP: What the server does and how to decide which connection path applies to you.
Build a custom client: Authentication, scopes, and task-oriented setup for developers and integrators.