AI interface (MCP)
What the AI interface is, what it can do, which rights apply and where its limits lie.
With the AI interface (MCP) you connect an AI such as Claude, ChatGPT or Codex with Leadmode. The AI then reads and edits leads, tasks, appointments, analyses and more. You find the page under Settings → Integrations → More integrations → AI interface (MCP).
The module "mcp" is active for all organisations with CRM. The set-up itself is described under Set up MCP.
Rights: the AI may not do more than you
Each tool internally calls the same functions as the interface, under the sign-in of the person who connected. The role, permission profile, project membership, module switches, checks and limits of Leadmode itself apply. What you may not do there, the server also refuses. More on rights: Roles and permissions.
Writing tools are open to every member, as far as they may carry out the action in the interface. Every write call and every delete call is in the log, including a failed one. Reading is not logged.
Address
The address of the MCP server is shown by the settings page in the field "Address of the MCP server", with the button "Copy address". It has the form:
https://<YOUR-LEADMODE-ADDRESS>/api/organizations/<ORGANISATION>/mcpThe server uses Streamable HTTP and only answers to POST.
Two views: lean and direct
All tools together (about 900) would fill an AI's context before it has done anything. Therefore the same server offers two views. On the settings page you choose under "What should the AI see?" between "All" and "Only certain areas".
Lean (default)
The address without addition shows the AI only five auxiliary tools. With them it searches for the suitable tool, looks it up and runs it.
| Auxiliary tool | Task |
|---|---|
tools_find | Searches all tools by keyword, area and kind (reads, writes, deletes). Without details it gives an overview of the areas. |
tools_describe | Shows the full description and the exact inputs for up to five tools. |
run_read | Runs a reading tool. |
run_write | Runs a writing tool. |
run_delete | Runs a deleting tool, only after confirmation. |
This is how it works: the AI searches with tools_find, looks at the tool with tools_describe and calls it with run_read, run_write or run_delete, with the tool name and its inputs. Usually it begins with run_read and projects_list. Reading, writing and deleting are kept separate, so that your AI programme can tell them apart and ask back correctly. If the AI calls a tool via the wrong execution, for example deleting via run_read, the server refuses this with a note. For wrong inputs the schema comes along in the error message.
Rights and log are the same as with a direct call. The log shows the actual tool, for example mcp.contacts_create.
Direct (?bereiche=…)
If you append ?bereiche= with the desired areas, separated by commas (for example ?bereiche=kontakte,arbeit), the AI sees exactly these tools individually. projects_list is always included. This only makes sense for AI programmes that cope well with many tools. ?bereiche=alle shows all tools and is very large. An unknown area leads to an error.
On the settings page you switch on "Only certain areas" and choose the areas with the switches. The address above adjusts. If no area is switched on, "All" applies, that is the lean view. The number behind an area is the number of tools.
Area (bereiche=) | Name on the page | Tools | Content |
|---|---|---|---|
projekte | Projects | 2 | project list and the history of rule changes of a project (read only) |
kontakte | Leads, companies, contracts and views | 75 | search, view, create and change leads and companies (also the call order of contact persons); history, flow stages, outcomes, tasks per lead, custom fields (create, change, archive, read and set values), contracts, saved views and settings of the work list; magnifier search across all projects, including history (notes, calls, transcripts, emails) |
leads | Leads, imports, sources | 50 | imports, lead searches, Instantly (also metrics per campaign), incoming webhooks per project, view outgoing webhooks (areas, templates, delivery log), Google Sheets |
leaddatenbank | Lead database (base stock, enrich, deliver, blocklist) | 29 | all leads of the organisation, also without a project: list and count with filters, view, create and change a lead, data status, enrich, work supply with reservation, find and merge duplicates, contact persons of all leads, assign to a project (preview first) or remove, view blocklist; deleting and removing a blocklist entry only with confirmation; in addition, read-only, lead sourcing (overview with prices and requirements, orders, notification obligation details, due deadlines) |
arbeit | Tasks, appointments, planning, telephony, staff | 223 | tasks and lists, calendar and appointments (also subsequent corrections of the call person and the booking person), booking settings, time tracking and reports, staff planning (also the planner with bars) and time off, correction of the responsible person of completed telephony blocks, Power Dialer and telephony, staff and recruiting (also employment model and questionnaire, handover from the recruiting pipeline and personnel file from an applicant lead), booking pages (fixed links for customers: view, create, change, pause, delete, bookings of a page), uploading call recordings through an upload address (progress, assigning), search tasks (partial words, typos, sound-alike) and sort by due date ascending or descending, read and clear the notifications of the bell, merge appointments from connected calendars with Leadmode appointments |
auswertung | Analysis, reports, compensation, credits | 68 | view dashboard, ranking, reports, conversation analysis, compensation, export, AI usage and credits |
einrichtung | Manage projects, team, rights, flows | 102 | projects (also recruiting pipelines), team and invitations (also role in the project), permission profiles, outcome catalogue, flow templates, partner access, organisation and profile settings, lead view (details on the contact card, per organisation and project), sales mode |
mail | Mailbox, templates, chat, support | 78 | read and send mailbox, create, rename and delete own folders, sort emails into folders, set email summary and lead recognition per mailbox, emails per lead, senders, check, block and unblock the blocklist, own signature, email templates, chat, support chat, sender name and header name per mailbox |
kampagnen | Mail campaigns (sequences to recipient lists, start, pause) | 12 | view mail campaigns of a project, create and change as a draft, add and remove recipients from view, stage, leads or addresses, calculate duration, start (from then on real emails are sent, only after your express release), pause and delete |
marketing | Marketing | 36 | funnels and landing pages, website addresses |
social | Social media (view and disconnect channels) | 3 | View and disconnect connected channels |
socialplaner | Social media planner | 17 | Create, edit, submit for approval, withdraw, approve and publish posts (only after your explicit confirmation), bulk actions (move, submit for approval, withdraw, swap, delete), view, create, change and delete occasions in the planner, read the TikTok account for direct posting |
social-inbox | Social inbox | 1 | Overview with counts, without message texts or names |
marktplatz | Marketplace | 3 | view offers of the marketplace (sales flows by industry and level) and take them over as your own flow template |
ablage | Files and documents | 31 | folders, files, file explorer with bin and storage space, documents as PDF |
skripte | Call scripts | 12 | script library, assignment to projects and stages, personal versions, versions |
abrechnung | Billing (drafts only), billing schedules, payment reminders | 40 | customers, articles, quotes, orders, invoice drafts, email templates and email drafts for sending documents (read only), billing schedules (recurring invoices) and the status of dunning |
vertraege | Contract management (contracts, templates, deadlines; drafts only, nothing sent) | 6 | view contracts and templates, create them as a draft, keep an eye on deadlines; nothing is sent |
buchhaltung | Accounting (accounts, receipts, journal, bank, analysis) | 76 | settings, accounts, opening entry, tax keys and mapping, locking, suppliers, check and approve incoming receipts (also read out by AI and apply), journal and subsequent posting, assign bank transactions, subscriptions, collective billing of expenses, analyses (profit, totals and balances, open items, VAT), DATEV overview and base interest rate. Without upload and without deletion; posting only on your express instruction |
bankregeln | Bank reconciliation: matching rules, bulk actions, payment providers, exchange rates | 12 | view, create, change, check as a preview and apply rules for assigning bank transactions (also as an AI suggestion), edit transactions in bulk, create an account for a payment provider, read, fetch, set and convert foreign exchange rates |
steuern | Taxes, fixed assets and intercompany settlement | 8 | read figures for transfer to ELSTER, set the Anlage EÜR figure for each account, read the asset register, create a fixed asset, post depreciation after a preview, read intercompany settlement with your own organisations and hand over documents paid on behalf. No transmission to the tax office; PDF and CSV only in the app |
wechsel | Switch from another system | 25 | orders for taking over a stock: proposal for the mapping, loading batches (also as a trial run), problems, readable texts for imported history entries (preview, apply, withdraw), reconciliation report, completion, way back; only for organisation admins |
Examples of tool names
Names follow the pattern <topic>_<action>. You see the complete list with title and kind on the settings page under "What the AI can do with it", expandable by area. Each tool is marked there as "Reads", "Changes" or "Deletes (only after confirmation)".
| Area | Examples |
|---|---|
| Projects | projects_list |
| Leads | contacts_list, contacts_search_everywhere, contacts_get, contacts_create, contacts_update, contacts_set_call_priority, contacts_set_channel_handover_share, contacts_strike_person, contacts_brief, contacts_correct_series_count, contacts_add_activity, contacts_task_create, contracts_create, views_run, contacts_delete, contacts_delete_list |
| Leads | imports_run, leads_start_search, instantly_overview, webhooks_list, webhooks_create, webhooks_send_test, sheets_export, registration_events_list, registration_event_assign, registration_event_discard |
| Lead database | leaddb_move |
| Work | tasks_list, tasks_create, tasks_set_status, calendar_create_event, calendar_suggest_slots, bookingpages_save, calendar_correct_setter, calendar_block_owner_preview, planning_overview, planning_board, hr_preview_model_change, telephony_audio_import_link, telephony_audio_import_status, supply_overview, supply_pull, reservation_claim, handover_preview, handover_create, inbox_close_automatic_tasks |
| Analysis | dashboard_get, dashboard_result_bars, dashboard_appointment_outcome_details, ranking_get, reports_create, reports_get_branding, reports_set_branding, analysis_list_findings, compensation_my_earnings, dashboard_home, compensation_statement_preview, compensation_statements_list, compensation_my_statements |
| Set-up | project_create, members_list, invitations_create, permissions_list_profiles, flow_get_template, outcomes_get_standard |
infomail_list, infomail_record_event, infomail_mail_candidates, infomail_link_mail, infomail_restore_wait, mailbox_list_messages, mail_send, mail_set_summary, mail_set_lead_target, mail_get_project_identity, mail_set_project_scopes, mail_list_templates, chat_send_message, support_get_messages | |
| Marketing | funnels_list, funnels_ai_draft, funnels_publish, website_create |
| Marketplace | marketplace_overview, marketplace_get_flow, marketplace_adopt_flow |
| Files | files_list, files_read_text, documents_create, library_create_folders |
| Scripts | scripts_list_originals, scripts_get, scripts_assign, scripts_create_mine |
| Billing | billing_list_documents, billing_create_draft, billing_add_draft_lines, billing_record_offer_decision, billing_schedule_create, billing_dunning_overview |
| Accounting | bookkeeping_receipts_list, bookkeeping_receipt_approve, bookkeeping_bank_transactions_list, bookkeeping_report_profit, bookkeeping_recurring_create, bookkeeping_claim_approve |
| Switch | migration_start, migration_suggest_mapping, migration_send_batch, migration_upload_link (large stocks as a file), migration_reconcile, migration_text_preview, migration_rollback |
Uploading call recordings
With seven tools in the arbeit area, the AI brings call recordings from an old system or personal recordings into Leadmode. A typical case is catching up after a switch (see Switching with your AI). The file itself never goes through MCP: the AI sends it with its shell to an upload address.
| Tool | Purpose |
|---|---|
telephony_audio_import_link | Creates a job and an upload address (valid 1 to 72 hours, default 24). The reply contains the address, the limits and an example command. |
telephony_audio_import_status | Shows the progress of a job: uploaded, rejected, assigned, transcription. |
telephony_audio_uploads | Lists your own uploaded recordings, optionally only those without a lead. |
telephony_audio_assign | Assigns a recording without a lead to a lead. |
telephony_audio_create_lead | Creates a new lead in the default project for a recording without a lead and assigns it. |
telephony_audio_import_revoke | Revokes the upload address immediately. Recordings already uploaded stay. |
telephony_audio_discard | Discards one of your own recordings that is not yet assigned. Only after your confirmation. |
How it runs:
- The AI creates the job with
telephony_audio_import_link, optionally with a lead that owns all recordings and with the choice whether to transcribe. - It sends the files with its shell one after another to the address, each with its own key, the lead and, for recordings made earlier, the time of the conversation. The server converts any common audio format itself. A file may be up to 50 MB and 2 hours long.
- If the server is busy or a limit is reached, it asks the AI to wait. The AI waits the stated time and sends the same file again with the same key.
- With
telephony_audio_import_statusthe AI queries the progress, at intervals of 20 to 30 seconds, until the job is done. - It assigns recordings without a lead with
telephony_audio_assignor creates a new lead withtelephony_audio_create_lead. Beforehand it checks withcontacts_listwhether the lead already exists.
The recordings are stored encrypted like call recordings, kept for 14 days and shown in the lead's history. With transcription this uses audio credits. The upload address is a secret like a password and applies with your rights. At most 150 files per person and hour are possible, and per organisation 600 files or 60 hours of audio in 24 hours. If the AI has no shell, you upload the files yourself on the lead (see Recordings).
Deleting only with confirmation
Deleting tools have a mandatory field confirm that must be true. In the lean view they only run via run_delete, which is marked for the AI programme as destructive. The AI should call them only after your express confirmation. Confirm such steps deliberately in your AI programme.
What is deliberately not possible
- Issuing, sending or cancelling invoices, recording payments on invoices. Invoices are created only as drafts.
- Recording or cancelling interest and dunning fees, creating the DATEV export, uploading receipts and bank statements, deleting the organisation, demo organisation, administration of Leadmode.
- Anything that sets or outputs secrets: API keys, Twilio access data, app passwords, webhook addresses and booking links with a token.
- Triggering calls, listening in, audio as well as file uploads and downloads through MCP. Files are loaded only through upload addresses to which the AI sends with its shell (see Uploading call recordings).
- Setting up, changing, testing or deleting outgoing webhooks, uploading logos and other files, and creating or revoking personal booking links. This is only possible in the interface, see Webhooks and Book appointments. Reason: an AI that is misled by foreign texts (for example in a lead) could otherwise have data sent to a foreign address.
Limits
- At most 60 calls per person and minute; after that a message asks you to wait briefly. The tools of the switch (
migration_*) have their own limit of 600 calls per person and minute, because a batch carries many rows. - A request may bundle at most 20 messages. Responses are cut to 100,000 characters.
- For the switch the server additionally offers a prompt template
wechselwith the parameteranbieterand resources (mapping table per provider, glossary, limits, sequence). Otherwise it offers only tools. - Programmes that call from another web page (browser) are refused, unless that page is Leadmode itself.
- Check results before you rely on them: an AI can misunderstand inputs. Writing tools change real data.

