Beta Release
The Leadtrekker MCP server is currently in Beta (version 1.0-Beta). The available tools and their behaviour may change as the service evolves. Please refer to the Costs section for more information on pricing during the Beta period.
The Model Context Protocol (MCP) is an open standard that allows AI assistants and Large Language Models (LLMs) such as Claude, ChatGPT and other MCP-compatible applications to securely connect to external systems and retrieve information from them.
Leadtrekker provides its own MCP server. Once you have connected your favourite LLM to it, you can simply ask your assistant questions about your leads in plain language, for example "How many leads did we receive from Facebook last month?" or "Show me all my leads with the status New for this week". Your assistant will retrieve the relevant leads from your Leadtrekker account and answer you directly.
The Leadtrekker MCP server mostly reads information. Apart from changing the next follow-up date of a lead and posting a note to a lead, it cannot create, update or delete any information on your account.
The Leadtrekker MCP server is currently in Beta (version 1.0-Beta). The available tools and their behaviour may change as the service evolves. Please refer to the Costs section for more information on pricing during the Beta period.
Most modern AI assistants allow you to add a remote MCP server (sometimes called a connector or custom integration) from within their settings. You do not need an API key to connect to the Leadtrekker MCP server. Instead, you authenticate with your normal Leadtrekker email address and password using the industry standard OAuth 2.0 protocol.
Before you connect, make sure that a Leadtrekker administrator has enabled MCP access for your user account. MCP access is switched off for all users by default.
Use the following URL when adding Leadtrekker as an MCP server in your LLM application.
https://mcp.leadtrekker.com/mcp/leadtrekker
The exact wording differs slightly between LLM applications, but the process is generally the same.
https://mcp.leadtrekker.com/mcp/leadtrekker as the server URL. You can name the connection anything you like, for example Leadtrekker.You can disconnect Leadtrekker at any time from the connector settings of your LLM application.
Any lead information retrieved through the MCP server is sent to the LLM provider that you have connected. Only connect LLM applications and providers that you trust with your lead data, and make sure that their data handling policies are acceptable to your business. By logging in to the MCP server you agree to Leadtrekker's terms of use.
Access to the MCP server is tied to your individual Leadtrekker user account. The MCP server applies the same security rules to your requests that the Leadtrekker system applies when you log in normally.
In order to use the Leadtrekker MCP server, all of the following must be true:
Access is removed automatically. If your user account is deleted or your license expires, any existing MCP connections are revoked by a daily cleanup process. If your company's account is suspended, MCP access stops immediately and resumes once the suspension is lifted.
MCP access is enabled per user. An administrator with access to the Manage Users and Groups security directive can enable or disable it for each user individually by following these steps:
To disable MCP access for a user, switch the same toggle to MCP Access Disabled and confirm. Please note the notice period described below.
Disabling MCP access for a user is subject to a 30 day notice period. The user keeps MCP access, and continues to be billed for it, until 30 days after the date on which it was disabled. After that date access is removed automatically. Switching MCP access back on for the user before that date cancels the pending disable.
Which leads you can see through the MCP server is determined by the "View All Leads" security access directive in Leadtrekker.
If you need access to all leads, ask your Leadtrekker administrator to add the View All Leads directive to your security group. The change takes effect on your next request. No reconnection is required.
If lead security is enabled on your security group, the MCP server applies it in exactly the same way as the Leadtrekker system does. Even with the View All Leads directive, your LLM will only be able to retrieve your own leads and the leads assigned to the users selected on your group. This applies to all the tools, including the lead statistics.
The "View Lead Details" security access directive controls whether your LLM can open a lead and read its full history, the same as opening a lead in Leadtrekker.
Changes are made as you, the user who connected the LLM, and are logged on the lead's audit trail with (via MCP) at the end, for example "Added note 1234 (via MCP).". They follow the same access directives as the Leadtrekker system:
If your account uses an alias for the built-in Pending, Won or Lost statuses, for example Sold instead of Won, the MCP server shows your alias in all its results and your LLM can use the alias to filter leads, exactly as you see it in Leadtrekker.
The only changes your LLM can make through the MCP server are changing the next follow-up date of a lead and posting a note to a lead, and only on leads you are allowed to see. It cannot create or delete leads, change statuses, edit or delete notes, or change any other information on your account.
MCP servers expose tools that your LLM can call on your behalf. You do not call these tools yourself. Your LLM decides which tool to use, and which parameters to pass, based on the question that you ask it. The tools below are listed so that you understand what your LLM is able to retrieve from Leadtrekker.
The get-leads tool retrieves the leads on your account that were created within a specific date range. The results can optionally be narrowed down by status, source and the user assigned to the leads.
| Property | Type | Description | Default |
|---|---|---|---|
| startDate | String (YYYY-MM-DD) | The start of the date range. Leads created on or after this date are included. | - |
| endDate | String (YYYY-MM-DD) | The end of the date range. Leads created on or before this date are included. Must be the same as, or after, the start date. | - |
| Property | Type | Description | Default |
|---|---|---|---|
| statusName | String | The name of the status the leads are currently in, for example New or Quoted. | - |
| sourceName | String | The name of the source the leads came from, for example Website or Facebook. | - |
| userName | String | The name and/or surname of the user the leads are assigned to. Requires the View All Leads directive when the user is not yourself. | - |
| limit | Integer | The maximum number of leads to return per page. The minimum is 1 and the maximum is 100. | 100 |
| page | Integer | The page number when the results span more than one page. | 1 |
| Property | Type | Description |
|---|---|---|
| leads | Array | The leads matching the request for the requested page. Each lead includes its id, created date, name, contact number, email address, company, value and currency, interested in, quality score, confidence, next follow-up date, expected closing date, contact made details, won and lost dates, last activity, assigned user, source name and status name. |
| total_leads | Integer | The total number of leads matching the request across all pages. |
| total_pages | Integer | The total number of pages available for the requested limit. |
| resolved_parameters | Array | The parameters that were used to retrieve the leads, after the status, source and user names were matched to your account. |
Statuses, sources and users are matched by name, so you never need to know their ids. If no match is found, or if more than one status, source or user matches the name that was given, the MCP server provides your LLM with the full list of available names on your account so that it can pick the correct one or ask you to clarify.
The get-lead-details tool retrieves the full details and history of a single lead. Your LLM uses it when you ask about a specific lead, or before it summarises a lead or drafts a follow-up message to it.
The lead can be looked up by its id, or by searching on its name, surname, email address, contact number or company name. If a search matches more than one lead, your LLM receives a short list of up to 10 of the newest matching leads so that it can pick the correct one or ask you to clarify.
This tool requires the View Lead Details directive.
| Property | Type | Description | Default |
|---|---|---|---|
| leadId | Integer | The id of the lead. | - |
| search | String | Search for the lead by name, surname, email address, contact number or company name. At least 3 characters. | - |
| Property | Type | Description |
|---|---|---|
| lead | Object | The lead's details: id, created date, created by, name, company, email address, contact numbers, interested in, value and currency, quality score, confidence, next follow-up date, expected closing date, contact made details including the minutes it took to make contact, last activity, won and lost dates, assigned user, source name and status name. |
| custom_fields | Array | The custom fields of the lead. |
| notes | Array | The 20 latest notes posted on the lead, newest first, with the date and the name of the user that posted each note. |
| total_notes | Integer | The total number of notes on the lead. |
| interactions | Array | The 20 latest interactions logged on the lead, such as calls and meetings, with the interaction type, date, notes and the user that logged it. |
| total_interactions | Integer | The total number of interactions on the lead. |
| upcoming_reminders | Array | The reminders on the lead that have not been sent yet, with the date they will be sent, who they will be sent to and their text. |
| status_history | Array | The 20 latest status changes of the lead, newest first, with the old status, new status and the date of the change. |
| total_status_changes | Integer | The total number of status changes of the lead. |
| attachments | Array | The file name, description, type, size and date of each attachment. Only included with the View Lead Attachments directive. |
The get-lead-stats tool calculates statistics on your leads for a date range, grouped by status, source, assigned user, day, week or month. The calculations are done by Leadtrekker, so your LLM receives accurate totals even when the date range covers many thousands of leads.
Your LLM uses this tool for questions about counts, totals, trends, conversion rates and response times. The date range can apply to the date the leads were created, won or lost.
| Property | Type | Description | Default |
|---|---|---|---|
| startDate | String (YYYY-MM-DD) | The start of the date range. | - |
| endDate | String (YYYY-MM-DD) | The end of the date range. Must be the same as, or after, the start date. The range may be at most 1096 days (3 years), or 366 days when grouping by day. | - |
| Property | Type | Description | Default |
|---|---|---|---|
| dateField | String | Which date of the leads the range applies to: created, won or lost. | created |
| groupBy | String | How to group the statistics: status, source, user, day, week (weeks start on a Monday) or month. | status |
| statusName | String | Only include leads currently in this status. | - |
| sourceName | String | Only include leads from this source. | - |
| userName | String | Only include leads assigned to this user. Requires the View All Leads directive when the user is not yourself. | - |
| Property | Type | Description |
|---|---|---|
| groups | Array | One entry per status, source, user or period, each with: the number of leads, how many are open, won and lost, the conversion rate (won as a percentage of won and lost leads), the total value and won value per currency, the number and percentage of leads where contact was made, the average minutes from the lead coming in to contact being made, and the average quality score. |
| totals | Object | The same statistics for all the leads in the date range combined. |
| resolved_parameters | Array | The parameters that were used to calculate the statistics, after the status, source and user names were matched to your account. |
A lead counts as won or lost when it is currently in the built-in Won or Lost status (or your alias for it). All other leads count as open. Lead values in different currencies are never added together.
The get-follow-ups tool lists the open leads that need attention, so that your LLM can answer questions like "What should I do today?". It returns your own follow-ups by default, sorted into the following groups:
Overdue follow-ups (the next follow-up date has passed), due follow-ups (the next follow-up date falls within the coming days), upcoming reminders (reminders that are about to be sent), not contacted (new leads that have not been marked as contacted), stale (contacted leads without recent activity) and closing soon (leads with an expected closing date within the coming days).
Each group includes the total number of leads in it and the first leads in the group. Open leads are leads that are not in the Won or Lost status.
| Property | Type | Description | Default |
|---|---|---|---|
| userName | String | The user whose follow-ups to return. Requires the View All Leads directive when the user is not yourself. | Yourself |
| allUsers | Boolean | Return the follow-ups of all the users whose leads you may see, instead of only your own. | false |
| days | Integer | The number of days to look ahead for due follow-ups, reminders and expected closings, including today. 1 means today only and 7 means the coming week. The maximum is 31. | 1 |
| staleAfterDays | Integer | A contacted lead without any activity for this many days is considered stale. | 14 |
| lookbackDays | Integer | Only leads created within this many days are checked for not being contacted or being stale. The maximum is 365. | 90 |
| limit | Integer | The maximum number of leads returned per group. The maximum is 50. | 10 |
| Property | Type | Description |
|---|---|---|
| overdue_followups, due_followups, upcoming_reminders, not_contacted, stale, closing_soon | Object | Each group includes a description of what it contains, the total count of leads in the group, and the first leads in the group with the same lead information as the Get Leads tool. Upcoming reminders also include the date and text of each reminder. |
| resolved_parameters | Array | The parameters that were used, after the user name was matched to your account. |
The set-next-follow-up tool changes the next follow-up date of a single lead, for example when you ask your LLM to "Remind me to follow up with Jane Doe next Tuesday". The lead is selected by its id, so your LLM first finds the lead with the Get Leads or Get Lead Details tool.
This tool requires the Update Lead Details directive. Dates are in South African time (Africa/Johannesburg).
| Property | Type | Description |
|---|---|---|
| leadId | Integer | The id of the lead. |
| date | String | The new next follow-up date, in the format YYYY-MM-DD. |
| Property | Type | Description |
|---|---|---|
| result | String | Confirms the change, or that the lead already had this date and nothing was changed. |
| lead_id, lead_name | Integer, String | The lead that was changed. |
| previous_next_followup | Date | The next follow-up date before the change. Empty if the lead had none. |
| next_followup | Date | The new next follow-up date. |
| today | Date | Today's date, so your LLM can confirm relative dates such as next Tuesday. |
The add-lead-note tool posts a note to a single lead, for example "Add a note to the Acme Holdings lead that they asked for a revised quote". The note is posted in your name, the same as a note you post in Leadtrekker. The lead is selected by its id.
This tool requires the Post Lead Notes directive. Notes are plain text of up to 10,000 characters. Line breaks are kept, emoji are removed, and HTML is shown as typed. Notes posted through the MCP server cannot be edited or deleted through it.
Notes posted through the MCP server do not send the SMS or email notification that the user the lead is assigned to may have set up for new notes.
| Property | Type | Description |
|---|---|---|
| leadId | Integer | The id of the lead. |
| note | String | The text of the note. |
| Property | Type | Description |
|---|---|---|
| result | String | Confirms that the note was posted. |
| note_id | Integer | The id of the new note. |
| lead_id, lead_name | Integer, String | The lead the note was posted to. |
Once connected, you can ask your LLM questions such as the following. Your LLM will translate your question into the appropriate tool call.
The Get Leads tool returns results in pages of up to 100 leads. For questions about counts, totals and trends, your LLM uses the Get Lead Statistics tool instead, so it never has to page through all of your leads.
MCP access is currently offered as a Beta service to Leadtrekker clients.
MCP access is an optional add-on that is charged per user, per month, in addition to the user's Leadtrekker license. It is invoiced separately at the end of each month for every user that has MCP access enabled.
A final cost structure for MCP access has not yet been formulated and will be communicated to all clients before any charges are introduced. The current cost per user is always displayed to your administrator on the Leadtrekker system when enabling MCP access for a user, and must be confirmed before the user is enabled.
Should you experience any difficulty connecting your LLM to Leadtrekker, or if you have feedback on the MCP server during the Beta period, please contact us or send an email to support[at]leadtrekker.com.