CRM Customer Relationship Management MCP Tools

This page lists the planned MCP tools for the CRM module, covering lead intake, deduplication, qualification, contacts, companies, deal pipelines, activities, tasks, consent records, and governed imports.

crm.config.get

read

Read CRM settings, including enabled modules, required fields, locale, currency, duplicate rules, and governance settings.

Read first

No prerequisite tool.

Governance

Read-only tool; no approval request is created.

Safety

Use returned configuration as the source of truth for required fields, currency, and governance settings.

crm.pipelines.list

read

List sales pipelines, stages, ordering, won/lost states, and default probabilities.

Read first

crm.config.get

Governance

Read-only tool; no approval request is created.

Safety

Use returned pipeline_id and stage_id values; do not infer identifiers from display names.

crm.sources.list

read

List lead sources and channels, such as website forms, WhatsApp, phone, email, referrals, ads, or imports.

Read first

crm.config.get

Governance

Read-only tool; no approval request is created.

Safety

Keep the true source when creating leads; mark unknown sources as pending confirmation.

crm.owners.list

read

List assignable owners, teams, and visibility scopes for leads, tasks, and deals.

Read first

crm.config.get

Governance

Read-only tool; no approval request is created.

Safety

Do not assign records to users outside the returned list or to disabled accounts.

crm.custom_fields.list

read

Read CRM custom fields, field types, options, validation rules, and applicable objects.

Read first

crm.config.get

Governance

Read-only tool; no approval request is created.

Safety

Confirm field types and allowed values before writing custom fields.

crm.leads.search

read

Search leads by name, company, phone, email, source, or status before create or update workflows.

Read first

crm.config.get

Governance

Read-only tool; no approval request is created.

Safety

Search results may contain personal data; return only fields needed for the task.

crm.leads.get

read

Read one lead with source, status, owner, recent activity, and version data.

Read first

crm.leads.search or known lead_id

Governance

Read-only tool; no approval request is created.

Safety

Use the returned lead_id and base_version_token for later updates.

crm.leads.create

write

Create a new lead from website forms, manual entry, event lists, or confirmed enquiries.

Read first

crm.config.get, crm.sources.list, crm.leads.search

Governance

Write tool; direct execution or approval depends on tenant policy.

Safety

Search for duplicates first; do not invent phone, email, source, consent state, or owner.

crm.leads.update

write

Update lead profile, status, source note, owner, score, or custom fields.

Read first

crm.leads.get, crm.custom_fields.list

Governance

Write tool; sensitive fields may require approval.

Safety

Only update explicitly requested fields; do not overwrite human notes or unread fields.

crm.leads.score_preview

preview

Preview lead scoring suggestions from source, company data, enquiry content, activity history, and custom rules.

Read first

crm.leads.get, crm.activities.list

Governance

Preview tool; does not write data.

Safety

Scores are recommendations; do not treat preview output as confirmed opportunity value.

crm.leads.score_update

write

Write confirmed lead score, scoring reason, and next-step recommendation.

Read first

crm.leads.score_preview, crm.leads.get

Governance

Write tool; direct execution or approval depends on tenant policy.

Safety

Keep scoring reasons; do not raise scores when supporting data is missing.

crm.leads.duplicate_preview

preview

Preview possible duplicates across leads, contacts, and companies with merge risk.

Read first

crm.leads.search, crm.contacts.search, crm.companies.search

Governance

Preview tool; does not write data.

Safety

Do not decide duplicates by similar names alone; compare phone, email, company domain, and source.

crm.leads.merge

write

Merge duplicate leads while preserving the master record, sources, activity history, and important fields.

Read first

crm.leads.duplicate_preview, crm.leads.get

Governance

High-risk write; approval is recommended.

Safety

Specify master_lead_id; preserve unmapped fields and activity history.

crm.leads.qualify

write

Mark a lead as qualified with next step, owner, expected requirement, and optional deal creation.

Read first

crm.leads.get, crm.pipelines.list, crm.owners.list

Governance

Write tool; approval depends on tenant policy.

Safety

Do not qualify a lead without clear requirement, contact method, or next step.

crm.leads.disqualify

write

Mark a lead as disqualified with reason, follow-up handling, and remarketing eligibility.

Read first

crm.leads.get

Governance

Write tool; reason field is required.

Safety

Keep disqualification reason; do not delete original enquiry content.

crm.leads.convert_preview

preview

Preview field mapping, duplicate risk, and required data before converting a lead into contact, company, and deal records.

Read first

crm.leads.get, crm.contacts.search, crm.companies.search, crm.pipelines.list

Governance

Preview tool; does not write data.

Safety

When existing contacts or companies are found, propose linking instead of creating new records.

crm.leads.convert

write

Convert a qualified lead into contact, company, and optional deal records.

Read first

crm.leads.convert_preview

Governance

High-risk write; approval or explicit confirmation is recommended.

Safety

Use preview mapping; do not create unconfirmed companies or deal values.

crm.contacts.search

read

Search contacts by name, phone, email, company, tags, or recent engagement.

Read first

crm.config.get

Governance

Read-only tool; no approval request is created.

Safety

Avoid exposing sensitive data unrelated to the task.

crm.contacts.get

read

Read one contact with company relationship, consent state, activity history, and version data.

Read first

crm.contacts.search or known contact_id

Governance

Read-only tool; no approval request is created.

Safety

Use the returned contact_id and base_version_token for later updates.

crm.contacts.create

write

Create a contact from a qualified lead, manual entry, import, or customer self-service flow.

Read first

crm.contacts.search, crm.companies.search, crm.consent.get

Governance

Write tool; direct execution or approval depends on tenant policy.

Safety

Check duplicates first; do not invent consent state or unconfirmed company relationship.

crm.contacts.update

write

Update contact profile, job title, company relationship, tags, custom fields, or preferences.

Read first

crm.contacts.get, crm.custom_fields.list

Governance

Write tool; sensitive fields may require approval.

Safety

Do not overwrite unread fields; keep audit records for email and phone changes.

crm.companies.search

read

Search companies by name, domain, phone, industry, region, or tags.

Read first

crm.config.get

Governance

Read-only tool; no approval request is created.

Safety

Compare domain, phone, and address when judging duplicates; do not rely on name alone.

crm.companies.get

read

Read company profile, related contacts, deals, activities, address, industry, and version data.

Read first

crm.companies.search or known company_id

Governance

Read-only tool; no approval request is created.

Safety

Use the returned company_id and base_version_token for later updates.

crm.companies.create

write

Create a company record after B2B lead conversion, manual creation, or import confirmation.

Read first

crm.companies.search

Governance

Write tool; direct execution or approval depends on tenant policy.

Safety

Do not infer legal name, address, or industry; mark uncertain fields as pending confirmation.

crm.companies.update

write

Update company profile, industry, region, tags, owning team, or custom fields.

Read first

crm.companies.get, crm.custom_fields.list

Governance

Write tool; sensitive fields may require approval.

Safety

Do not overwrite linked contacts or deals; update only specified company fields.

crm.deals.list

read

List deals by pipeline, stage, owner, company, contact, expected close date, or status.

Read first

crm.pipelines.list

Governance

Read-only tool; no approval request is created.

Safety

Query scope must respect tenant and owner permissions.

crm.deals.get

read

Read one deal with value, stage, probability, related customer, activities, tasks, and version data.

Read first

crm.deals.list or known deal_id

Governance

Read-only tool; no approval request is created.

Safety

Use the returned deal_id and base_version_token for later updates.

crm.deals.create

write

Create a deal from a qualified lead, existing customer enquiry, or confirmed sales request.

Read first

crm.pipelines.list, crm.contacts.get, or crm.companies.get

Governance

Write tool; approval depends on tenant policy.

Safety

Do not estimate amount, close date, or probability; mark missing data as pending confirmation.

crm.deals.update_stage

write

Update deal stage, probability, next step, and stage-change reason.

Read first

crm.deals.get, crm.pipelines.list

Governance

Write tool; key stage changes may require approval.

Safety

Move only to allowed stages in the same pipeline; do not skip required approval or reasons.

crm.deals.close_won

write

Mark a deal as won with confirmed amount, date, related order, or delivery requirements.

Read first

crm.deals.get

Governance

High-risk write; approval or explicit confirmation is recommended.

Safety

Amount and date must come from confirmed commercial data; do not infer them.

crm.deals.close_lost

write

Mark a deal as lost with lost reason, competitor, nurture plan, and follow-up date.

Read first

crm.deals.get

Governance

Write tool; reason field is required.

Safety

Do not delete the deal; keep loss reason for later analysis.

crm.activities.log

write

Log calls, meetings, WhatsApp summaries, email summaries, notes, or other customer interactions.

Read first

crm.leads.get, crm.contacts.get, or crm.deals.get

Governance

Write tool; direct execution is usually allowed.

Safety

Log only confirmed interactions; this tool must not send external messages.

crm.activities.list

read

Read the activity timeline for a lead, contact, company, or deal.

Read first

Known lead_id, contact_id, company_id, or deal_id

Governance

Read-only tool; no approval request is created.

Safety

Activities may contain personal or sensitive commercial data; return only task-relevant summaries.

crm.tasks.create

write

Create follow-up tasks such as call back, quotation, meeting, data request, or manager approval.

Read first

crm.owners.list and the relevant record read tool

Governance

Write tool; direct execution is usually allowed.

Safety

Owner, due date, linked record, and clear task content are required.

crm.tasks.update_status

write

Update task status, completion time, completion note, or rescheduled follow-up date.

Read first

crm.tasks.list or known task_id

Governance

Write tool; direct execution is usually allowed.

Safety

Do not mark unfinished work as complete; completion notes must reflect the actual result.

crm.tasks.list

read

List follow-up tasks for an owner, customer, deal, or date range.

Read first

crm.owners.list or the relevant record read tool

Governance

Read-only tool; no approval request is created.

Safety

Task lists must respect user visibility and must not expose cross-team data.

crm.consent.get

read

Read communication consent, opt-out state, channel preferences, and consent source for a contact.

Read first

crm.contacts.get or known contact_id

Governance

Read-only tool; no approval request is created.

Safety

Consent affects external communication; do not infer it from notes.

crm.consent.update

write

Update communication consent, opt-out state, channel preferences, consent source, and timestamp.

Read first

crm.consent.get, crm.contacts.get

Governance

High-risk write; approval or explicit confirmation is recommended.

Safety

Preserve consent source; do not mark unconfirmed customers as consented.

crm.imports.preview

preview

Preview CSV or external list import for field mapping, duplicates, required fields, and format errors.

Read first

crm.custom_fields.list, crm.sources.list, crm.owners.list

Governance

Preview tool; does not write data.

Safety

Check duplicates and consent source before import; do not write unconfirmed lists directly.

crm.imports.commit

write

Commit an import after preview approval to create or update leads, contacts, or companies.

Read first

crm.imports.preview

Governance

High-risk batch write; approval is recommended.

Safety

Use the preview batch import_id; do not bypass duplicate or consent checks.