MCP.so
Sign In
S

Salesforce Marketing Mcp

@ZLeventer

About Salesforce Marketing Mcp

MCP server for Salesforce — query leads, campaigns, pipeline, and attribution from Claude without writing a line of SOQL.

Config

Add this server to your MCP-compatible client using the configuration below.

{
  "mcpServers": {
    "salesforce": {
      "command": "npx",
      "args": [
        "-y",
        "salesforce-marketing-mcp"
      ],
      "env": {
        "SF_USERNAME": "[email protected]",
        "SF_PASSWORD": "yourpassword",
        "SF_SECURITY_TOKEN": "yourtoken"
      }
    }
  }
}

Tools

47

Search Salesforce leads by name, email, or company using SOSL full-text search. Returns matching leads with Id, name, email, company, title, status, and lead source. Use this for fuzzy lookups; use sf_lead_by_email for exact email matches.

Retrieve a complete Salesforce Lead record by its 18-character ID. Returns all standard fields including name, email, company, title, phone, status, lead source, owner, creation date, and conversion details (ConvertedDate, ConvertedAccountId, ConvertedContactId, ConvertedOpportunityId).

Create a new Lead record in Salesforce. Requires at minimum a last name, email, and company. Optionally set title, phone, lead source, and description. Returns the new Lead ID on success. Use sf_convert_lead afterward to convert a qualified lead.

Update one or more fields on an existing Salesforce Lead record. Pass the 18-character Lead ID and a fields object with any standard or custom field API names (e.g. Status, LeadSource, Title, Phone). Returns the updated record on success.

Convert a qualified Salesforce Lead into an Account, Contact, and optionally an Opportunity using the native Salesforce lead conversion process. Optionally merge into an existing Account or Contact by passing their IDs. Set doNotCreateOpportunity=true to skip opportunity creation.

Search Salesforce Contacts by name or email using SOSL full-text search. Returns matching contacts with Id, name, email, phone, title, account name, and lead source. For exact email lookups use sf_contact_by_email instead.

Retrieve a complete Salesforce Contact record by its 18-character ID. Returns all standard fields including name, email, phone, title, account name, lead source, owner, and creation date.

Create a new Contact record in Salesforce. Optionally link to an existing Account via accountId. Returns the new Contact ID. Use when a lead has been converted or when adding a known contact directly without going through the lead process.

Update one or more fields on an existing Salesforce Contact record. Pass the 18-character Contact ID and a fields object with any standard or custom field API names. Returns the updated record on success.

Look up Salesforce Contact records by exact email address. Returns up to 10 matches with full contact details and associated account. Useful for deduplication checks before creating new contacts or for finding the Salesforce record for a known email.

Search Salesforce Accounts by name using SOSL full-text search. Returns matching accounts with Id, name, industry, billing city, phone, website, and owner. Use to find an Account ID before looking up contacts or opportunities.

Retrieve a complete Salesforce Account record by ID, including open opportunity count, total lead count, and all standard account fields (industry, billing address, phone, website, annual revenue, employee count, owner).

List all Contact records associated with a specific Salesforce Account. Returns name, email, title, phone, and lead source for each contact. Useful for understanding account coverage and identifying contacts for campaign targeting.

List Salesforce Campaign records sorted by last modified date. Filter by Status (e.g. 'Planned', 'Active', 'Completed'), Type (e.g. 'Email', 'Webinar', 'Event'), or activeOnly=true. Returns name, type, status, dates, member counts, and cost fields.

Retrieve a complete Salesforce Campaign record by ID. Returns all performance metrics: NumberOfLeads, NumberOfContacts, NumberOfResponses, NumberOfOpportunities, NumberOfWonOpportunities, AmountWonOpportunities, ActualCost, BudgetedCost, ExpectedRevenue, and date range.

Create a new Salesforce Campaign record. Set name, type, status, start/end dates, budgeted cost, expected revenue, and description. Returns the new Campaign ID. Use sf_add_campaign_member or sf_bulk_add_campaign_members to populate members afterward.

Update one or more fields on an existing Salesforce Campaign. Pass the Campaign ID and a fields object with any standard field API names (e.g. Status, EndDate, ActualCost, Description). Commonly used to close out campaigns or update spend after the campaign runs.

List CampaignMember records for a given Campaign. Returns member status, HasResponded flag, FirstRespondedDate, and linked Lead or Contact fields (email, company, account name). Filter by Status (e.g. 'Sent', 'Responded', 'Converted'). Default limit 200, max 2000.

Add a single Lead or Contact to a Salesforce Campaign as a CampaignMember. Provide either leadId or contactId (not both). Optionally set the initial Status (defaults to the campaign's default member status). Returns the new CampaignMember ID.

Add up to 200 Leads and/or Contacts to a Salesforce Campaign in a single API call. Pass arrays of leadIds and/or contactIds. All members are assigned the same initial Status. Returns success/failure counts and any per-record errors.

Update the Status and/or HasResponded flag on an existing CampaignMember record. Use to mark members as Responded, Converted, or any custom status defined in the Campaign's member status picklist. Requires the CampaignMember ID (not the Lead/Contact ID).

Create a new Task in Salesforce. Link it to a Lead or Contact via whoId, and optionally to a Campaign or Opportunity via whatId. Set subject, status (e.g. 'Not Started', 'Completed'), priority, due date, and description. Returns the new Task ID.

List all Task records associated with a specific Lead. Returns subject, status, priority, due date, description, and creation date sorted by most recent. Useful for reviewing follow-up history on a lead before outreach.

List all Task records associated with a specific Contact. Returns subject, status, priority, due date, and description sorted by most recent. Use to review the full activity history for a contact before outreach or account review.

List all Task records associated with a specific Campaign (via WhatId). Returns subject, status, priority, due date, and assigned owner. Useful for tracking follow-up tasks generated by a campaign.

List available Salesforce Analytics reports via the Analytics REST API. Returns report name, ID, type (summary, tabular, matrix), folder name, and last run date. Use to discover report IDs before calling sf_run_report.

Execute a saved Salesforce Analytics report by ID and return the results as structured rows. Optionally apply on-the-fly filters (column, operator, value). Returns the factMap data parsed into an array of row objects. Use sf_get_report_metadata first to understand available columns.

Fetch the metadata for a Salesforce Analytics report — column definitions, field labels, data types, grouping fields, and filter configuration. Use before sf_run_report to understand what columns will be returned and what filters can be applied.

Calculate marketing ROI metrics for one or all campaigns: ActualCost, BudgetedCost, NumberOfLeads, NumberOfContacts, NumberOfOpportunities, NumberOfWonOpportunities, AmountWonOpportunities, computed cost-per-lead, cost-per-opportunity, response rate %, and ROI %. Filter by date range or a specific campaign ID.

Return a count of CampaignMembers grouped by Status for a specific campaign (e.g. Sent: 1200, Opened: 340, Responded: 87, Converted: 23). Essential for understanding engagement distribution within a single campaign.

Rank Salesforce campaigns by a chosen metric: 'responses' (NumberOfResponses), 'opportunities' (NumberOfOpportunities), or 'won_revenue' (AmountWonOpportunities). Optionally filter by date range. Returns the top N campaigns sorted by the selected metric descending.

Show how CampaignMember additions have trended over time for a specific campaign. Groups member creation dates by week or month. Useful for visualizing campaign ramp-up, pacing, and drop-off patterns.

Aggregate marketing attribution data by Lead Source. For each source returns: total leads, converted leads, conversion rate %, opportunities created, total opportunity amount, and closed-won revenue. Optionally filter by date range. The core channel-level ROI report.

Show Opportunity pipeline grouped by primary Campaign. Returns campaign name, opportunity count, total amount, and a breakdown by StageName. Filter to open-only or include closed deals. Optionally filter by date range. Answers 'which campaigns are generating pipeline?'

Query Salesforce's CampaignInfluence object for multi-touch attribution data. Returns which campaigns influenced each opportunity, along with the opportunity amount, stage, and influence score. Filter by campaign ID or date range. Requires Campaign Influence to be enabled in the org.

Aggregate Closed Won Opportunity revenue grouped by primary Campaign (CampaignId on the Opportunity). Returns campaign name, count of won deals, and total won revenue. Filter by close date range. Answers 'which campaigns actually drove closed revenue?'

Calculate Lead-to-Opportunity conversion rates grouped by Lead Source or Campaign. Returns total leads, converted leads, conversion rate %, and opportunities created per group. Filter by creation date range. Use to identify which channels produce the highest-quality leads.

Summarize all Salesforce Opportunities grouped by StageName. Returns count, total amount, average probability, and weighted pipeline (amount × probability) per stage. Toggle openOnly to exclude Closed Won/Lost. The fastest way to get a full pipeline health snapshot.

Summarize Opportunity pipeline grouped by Lead Source. Returns opportunity count, total amount, and weighted pipeline per source. Toggle openOnly and filter by date range. Use to understand which marketing channels are driving the most pipeline value.

Track Marketing Qualified Lead (MQL) volume over time. Groups Lead records by creation date (week or month) where Status matches the target value (default: 'MQL'). Filter by date range. Use to spot MQL ramp-up, dips, or seasonal patterns in your lead pipeline.

Show open Opportunities with CloseDate within a specified range, grouped by StageName. Returns count, total amount, and weighted amount per stage. Use for short-term revenue forecasting and end-of-quarter pipeline reviews.

Aggregate Task and Event counts grouped by Lead Source, Campaign, or Owner. Returns total activities, completed activities, and open activities per group within an optional date range. Use to understand sales follow-up patterns and marketing-sourced activity volume.

List recent Task and Event records associated with a specific Lead. Returns subject, type, status, priority, due date, and description sorted by most recent. Use to review all follow-up history for a lead before making contact or assessing lead quality.

List recent Task and Event records associated with a specific Contact. Returns subject, type, status, priority, due date, and description sorted by most recent. Use to review engagement history before account reviews, renewals, or re-engagement campaigns.

Execute a raw SOQL query against Salesforce. Use as an escape hatch when the preset tools don't cover your exact reporting shape. Supports all SOQL features including GROUP BY, aggregate functions, subqueries, and relationship traversal. Returns up to 2000 rows. See: developer.salesforce.com/docs/atlas.en-us.soql_sosl.meta

Describe a Salesforce SObject and return all its field definitions: field API names, labels, data types, lengths, nullability, and relationship references. Use before writing SOQL to discover the correct field API names for Lead, Contact, Campaign, CampaignMember, or any custom object.

List all queryable SObjects available in the connected Salesforce org. Filter by name substring (e.g. 'Campaign') or set customOnly=true to show only custom objects. Returns API name, label, and whether the object is createable, updateable, and queryable.

Overview

What is Salesforce Marketing Mcp?

Salesforce Marketing Mcp is an MCP server that lets you query Salesforce data—leads, campaigns, pipeline, and attribution—from AI assistants like Claude without writing SOQL. It provides 47 tools covering standard objects and 14 marketing-specific reporting tools for campaign ROI, lead source attribution, and MQL trends.

How to use Salesforce Marketing Mcp?

Connect the server to an MCP-compatible client (e.g., Claude) using valid Salesforce API credentials. Once configured, you can ask questions in plain English, and the server translates them into Salesforce queries automatically.

Key features of Salesforce Marketing Mcp

  • 47 tools for Leads, Contacts, Accounts, Campaigns, and more
  • 14 dedicated marketing reporting tools (campaign ROI, MQL trends)
  • No SOQL required – natural language queries
  • Works with Claude and other MCP clients
  • Focused on campaign and pipeline analysis

Use cases of Salesforce Marketing Mcp

  • Find which campaigns drove the most pipeline last quarter
  • View monthly MQL trends directly from Salesforce
  • Retrieve campaign ROI and lead source attribution breakdowns
  • Get structured answers for marketing ops without involving RevOps

FAQ from Salesforce Marketing Mcp

What data objects does Salesforce Marketing Mcp support?

It supports Leads, Contacts, Accounts, Campaigns, Campaign Members, Tasks, and Analytics Reports, plus 14 marketing reporting tools.

Do I need to know SOQL to use it?

No – the server translates natural language prompts into Salesforce queries automatically.

Frequently asked questions

What data objects does Salesforce Marketing Mcp support?

It supports Leads, Contacts, Accounts, Campaigns, Campaign Members, Tasks, and Analytics Reports, plus 14 marketing reporting tools.

Do I need to know SOQL to use it?

No – the server translates natural language prompts into Salesforce queries automatically.

Comments

More Data & Analytics MCP servers