Salesforce Marketing
NPM · SALESFORCE-MARKETING-MCP · SCANNED SEP 20
MCP server for Salesforce — 47 tools for leads, campaigns, pipeline, attribution, and reporting.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security93
- No malware found by supply-chain analysis.Pass
- CVE check failed: a known medium-severity CVE affects csv-parse 5.6.0, reached via jsforce > csv-parse. A fixed version is available. View diagnostics → Fail
- No install/post-install scripts declared.Pass
- 63 of 180 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency19
- Repository check failed: the declared repository URL returned HTTP 404. See how to fix → View diagnostics → Fail
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 146 days ago).Pass
- Security-disclosure policy not yet verified: we couldn't inspect the source repository.Unverified
Schema Quality & AI Usability78
- AI-judged instruction clarity (excellent).Pass
- Tool/resource definitions use about 4038 tokens (~85/item across 47 items; 47 tools + 0 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management83
- Stability observed for 25 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage77
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 30% of tool parameters carry a description.Partial
Tool Safety75
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- 0 of 2 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "sf_run_report" implies "execute" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Fail
- An AI judge read all 47 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
How do I install the Salesforce Marketing MCP server?
Salesforce Marketing runs locally as an npm package, launched with npx -y salesforce-marketing-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
npm · salesforce-marketing-mcp
claude mcp add zleventer-salesforce-marketing-mcp -- npx -y salesforce-marketing-mcp
{
"mcpServers": {
"zleventer-salesforce-marketing-mcp": {
"command": "npx",
"args": [
"-y",
"salesforce-marketing-mcp"
]
}
}
} {
"servers": {
"zleventer-salesforce-marketing-mcp": {
"command": "npx",
"args": [
"-y",
"salesforce-marketing-mcp"
]
}
}
} codex mcp add zleventer-salesforce-marketing-mcp -- npx -y salesforce-marketing-mcp
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"zleventer-salesforce-marketing-mcp": {
"type": "local",
"command": [
"npx",
"-y",
"salesforce-marketing-mcp"
],
"enabled": true
}
}
} openclaw mcp add zleventer-salesforce-marketing-mcp --command npx --arg -y --arg salesforce-marketing-mcp
mcp_servers:
zleventer-salesforce-marketing-mcp:
command: "npx"
args: ["-y", "salesforce-marketing-mcp"] {
"McpServers": {
"zleventer-salesforce-marketing-mcp": {
"Transport": "stdio",
"Command": "npx",
"Arguments": [
"-y",
"salesforce-marketing-mcp"
]
}
}
} assistant mcp add zleventer-salesforce-marketing-mcp -t stdio -c npx -a -y salesforce-marketing-mcp
{
"mcpServers": {
"zleventer-salesforce-marketing-mcp": {
"command": "npx",
"args": [
"-y",
"salesforce-marketing-mcp"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 19 Sept 26 −2
- Stability: pass → 0.80 functional
- 18 Sept 26 0
- Stability: 0.97 → pass security
- 17 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.
- 14 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.
- 12 Sept 26 −2
- Stability: pass → 0.80 functional
- 11 Sept 26 0
- Stability: 0.97 → pass security
- 10 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.
- 9 Sept 26 −2
- CVE-2026-85063 affects this package: medium ▼ security
- Known CVEs: pass → fail ▼ security
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 20 Sept 2026 · Analysed npm/salesforce-marketing-mcp@1.0.1
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | npm |
Background: How many MCP packages publish verified provenance →
Vulnerabilities 1 finding
| ID | CVE | Severity | Vector | Fix available |
|---|---|---|---|---|
| GHSA-8cw4-87c7-c6xx | CVE-2026-85063 | medium | yes |
Background: What a vulnerability scan can and cannot prove →
Dependencies 180 packages
| Packages resolved | 180 |
|---|---|
| Stale | 63 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
sf_activity_summary ~80
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.
| Name | Type | Req | Description |
|---|---|---|---|
| dateFrom | string | – | – |
| dateTo | string | – | – |
| groupBy | string | yes | – |
No output schema declared.
No examples provided.
sf_add_campaign_member ~90
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.
| Name | Type | Req | Description |
|---|---|---|---|
| campaignId | string | yes | – |
| contactId | string | – | – |
| leadId | string | – | – |
| status | string | – | – |
No output schema declared.
No examples provided.
sf_bulk_add_campaign_members ~91
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.
| Name | Type | Req | Description |
|---|---|---|---|
| campaignId | string | yes | – |
| contactIds | array | – | – |
| leadIds | array | – | – |
| status | string | – | – |
No output schema declared.
No examples provided.
sf_campaign_influence ~91
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.
| Name | Type | Req | Description |
|---|---|---|---|
| campaignId | string | – | – |
| dateFrom | string | – | – |
| dateTo | string | – | – |
| limit | integer | – | – |
No output schema declared.
No examples provided.
sf_campaign_member_status_breakdown ~70
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.
| Name | Type | Req | Description |
|---|---|---|---|
| campaignId | string | yes | – |
No output schema declared.
No examples provided.
sf_campaign_performance_trend ~67
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.
| Name | Type | Req | Description |
|---|---|---|---|
| campaignId | string | yes | – |
| groupBy | string | yes | – |
No output schema declared.
No examples provided.
sf_campaign_roi ~119
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.
| Name | Type | Req | Description |
|---|---|---|---|
| campaignId | string | – | – |
| dateFrom | string | – | ISO date YYYY-MM-DD |
| dateTo | string | – | ISO date YYYY-MM-DD |
| limit | integer | – | – |
No output schema declared.
No examples provided.
sf_contact_by_email ~67
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.
| Name | Type | Req | Description |
|---|---|---|---|
| string | yes | Email address to look up |
No output schema declared.
No examples provided.
sf_convert_lead ~102
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.
| Name | Type | Req | Description |
|---|---|---|---|
| accountId | string | – | – |
| contactId | string | – | – |
| doNotCreateOpportunity | boolean | – | – |
| id | string | yes | Salesforce Lead ID |
| opportunityName | string | – | – |
No output schema declared.
No examples provided.
sf_create_campaign ~132
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.
| Name | Type | Req | Description |
|---|---|---|---|
| budgetedCost | number | – | – |
| description | string | – | – |
| endDate | string | – | ISO date string YYYY-MM-DD |
| expectedRevenue | number | – | – |
| name | string | yes | – |
| startDate | string | – | ISO date string YYYY-MM-DD |
| status | string | – | – |
| type | string | – | – |
No output schema declared.
No examples provided.
sf_create_contact ~108
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.
| Name | Type | Req | Description |
|---|---|---|---|
| accountId | string | – | – |
| string | yes | – | |
| firstName | string | – | – |
| lastName | string | yes | – |
| leadSource | string | – | – |
| phone | string | – | – |
| title | string | – | – |
No output schema declared.
No examples provided.
sf_create_lead ~122
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.
| Name | Type | Req | Description |
|---|---|---|---|
| company | string | yes | – |
| description | string | – | – |
| string | yes | – | |
| firstName | string | – | – |
| lastName | string | yes | – |
| leadSource | string | – | – |
| phone | string | – | – |
| title | string | – | – |
No output schema declared.
No examples provided.
sf_create_task ~136
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.
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | – | – |
| dueDate | string | – | ISO date string YYYY-MM-DD |
| priority | string | – | – |
| status | string | – | – |
| subject | string | yes | – |
| whatId | string | – | Campaign, Opportunity, or Account ID |
| whoId | string | – | Lead or Contact ID |
No output schema declared.
No examples provided.
sf_describe_object ~99
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.
| Name | Type | Req | Description |
|---|---|---|---|
| fieldsOnly | boolean | – | Return only field names and types |
| object | string | yes | SObject API name (e.g. Lead, Campaign) |
No output schema declared.
No examples provided.
sf_forecast_summary ~81
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.
| Name | Type | Req | Description |
|---|---|---|---|
| closeByDateFrom | string | – | ISO date YYYY-MM-DD |
| closeByDateTo | string | – | ISO date YYYY-MM-DD |
No output schema declared.
No examples provided.
sf_get_account ~60
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).
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | Salesforce Account ID |
No output schema declared.
No examples provided.
sf_get_campaign ~76
Retrieve a complete Salesforce Campaign record by ID. Returns all performance metrics: NumberOfLeads, NumberOfContacts, NumberOfResponses, NumberOfOpportunities, NumberOfWonOpportunities, AmountWonOpportunities, ActualCost, BudgetedCost, ExpectedRevenue, and date range.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | Salesforce Campaign ID |
No output schema declared.
No examples provided.
sf_get_campaign_members ~103
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.
| Name | Type | Req | Description |
|---|---|---|---|
| campaignId | string | yes | Salesforce Campaign ID |
| limit | integer | – | – |
| status | string | – | Filter by member status |
No output schema declared.
No examples provided.
sf_get_contact ~57
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.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | Salesforce Contact ID |
No output schema declared.
No examples provided.
sf_get_lead ~77
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).
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | Salesforce Lead ID |
No output schema declared.
No examples provided.
sf_get_report_metadata ~65
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.
| Name | Type | Req | Description |
|---|---|---|---|
| reportId | string | yes | Salesforce Report ID |
No output schema declared.
No examples provided.
sf_lead_conversion_metrics ~82
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.
| Name | Type | Req | Description |
|---|---|---|---|
| dateFrom | string | – | – |
| dateTo | string | – | – |
| groupBy | string | yes | – |
No output schema declared.
No examples provided.
sf_lead_source_breakdown ~87
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.
| Name | Type | Req | Description |
|---|---|---|---|
| dateFrom | string | – | ISO date YYYY-MM-DD |
| dateTo | string | – | ISO date YYYY-MM-DD |
No output schema declared.
No examples provided.
sf_list_account_contacts ~67
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.
| Name | Type | Req | Description |
|---|---|---|---|
| accountId | string | yes | Salesforce Account ID |
| limit | integer | – | – |
No output schema declared.
No examples provided.
sf_list_campaigns ~120
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.
| Name | Type | Req | Description |
|---|---|---|---|
| activeOnly | boolean | – | – |
| limit | integer | – | – |
| status | string | – | Campaign Status (e.g. Active, Completed) |
| type | string | – | Campaign Type (e.g. Email, Webinar) |
No output schema declared.
No examples provided.
sf_list_objects ~95
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.
| Name | Type | Req | Description |
|---|---|---|---|
| customOnly | boolean | – | Return only custom objects (__c suffix) |
| filter | string | – | Case-insensitive substring filter on object name |
No output schema declared.
No examples provided.
sf_list_reports ~72
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.
| Name | Type | Req | Description |
|---|---|---|---|
| folder | string | – | Filter by folder name |
| limit | integer | – | – |
No output schema declared.
No examples provided.
sf_list_tasks_by_campaign ~65
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.
| Name | Type | Req | Description |
|---|---|---|---|
| campaignId | string | yes | – |
| limit | integer | – | – |
No output schema declared.
No examples provided.
sf_list_tasks_by_contact ~69
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.
| Name | Type | Req | Description |
|---|---|---|---|
| contactId | string | yes | – |
| limit | integer | – | – |
No output schema declared.
No examples provided.
sf_list_tasks_by_lead ~69
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.
| Name | Type | Req | Description |
|---|---|---|---|
| leadId | string | yes | – |
| limit | integer | – | – |
No output schema declared.
No examples provided.
sf_mql_trend ~102
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.
| Name | Type | Req | Description |
|---|---|---|---|
| dateFrom | string | – | – |
| dateTo | string | – | – |
| groupBy | string | yes | – |
| statusValue | string | – | – |
No output schema declared.
No examples provided.
sf_pipeline_by_campaign ~84
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?'
| Name | Type | Req | Description |
|---|---|---|---|
| dateFrom | string | – | – |
| dateTo | string | – | – |
| openOnly | boolean | – | – |
No output schema declared.
No examples provided.
sf_pipeline_by_lead_source ~81
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.
| Name | Type | Req | Description |
|---|---|---|---|
| dateFrom | string | – | – |
| dateTo | string | – | – |
| openOnly | boolean | – | – |
No output schema declared.
No examples provided.
sf_pipeline_summary ~69
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.
| Name | Type | Req | Description |
|---|---|---|---|
| openOnly | boolean | – | – |
No output schema declared.
No examples provided.
sf_recent_activities_by_contact ~76
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.
| Name | Type | Req | Description |
|---|---|---|---|
| contactId | string | yes | – |
| limit | integer | – | – |
No output schema declared.
No examples provided.
sf_recent_activities_by_lead ~77
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.
| Name | Type | Req | Description |
|---|---|---|---|
| leadId | string | yes | – |
| limit | integer | – | – |
No output schema declared.
No examples provided.
sf_run_report ~82
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.
| Name | Type | Req | Description |
|---|---|---|---|
| filters | array | – | – |
| reportId | string | yes | Salesforce Report ID |
No output schema declared.
No examples provided.
sf_run_soql ~109
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
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Override LIMIT in query (appended if not present) |
| soql | string | yes | SOQL query to execute |
No output schema declared.
No examples provided.
sf_search_accounts ~75
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.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | – |
| q | string | yes | Search query (account name or domain) |
No output schema declared.
No examples provided.
sf_search_contacts ~76
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.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | – |
| q | string | yes | Search query (name or email) |
No output schema declared.
No examples provided.
sf_search_leads ~88
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.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | – |
| q | string | yes | Search query (name, email, or company) |
No output schema declared.
No examples provided.
sf_top_campaigns ~97
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.
| Name | Type | Req | Description |
|---|---|---|---|
| dateFrom | string | – | – |
| dateTo | string | – | – |
| limit | integer | – | – |
| metric | string | yes | – |
No output schema declared.
No examples provided.
sf_update_campaign ~83
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.
| Name | Type | Req | Description |
|---|---|---|---|
| fields | object | yes | Fields to update |
| id | string | yes | Salesforce Campaign ID |
No output schema declared.
No examples provided.
sf_update_campaign_member_status ~89
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).
| Name | Type | Req | Description |
|---|---|---|---|
| campaignMemberId | string | yes | – |
| hasResponded | boolean | – | – |
| status | string | yes | – |
No output schema declared.
No examples provided.
sf_update_contact ~68
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.
| Name | Type | Req | Description |
|---|---|---|---|
| fields | object | yes | Fields to update |
| id | string | yes | Salesforce Contact ID |
No output schema declared.
No examples provided.
sf_update_lead ~81
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.
| Name | Type | Req | Description |
|---|---|---|---|
| fields | object | yes | Fields to update |
| id | string | yes | Salesforce Lead ID |
No output schema declared.
No examples provided.
sf_won_revenue_by_campaign ~82
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?'
| Name | Type | Req | Description |
|---|---|---|---|
| dateFrom | string | – | – |
| dateTo | string | – | – |
| limit | integer | – | – |
No output schema declared.
No examples provided.
What is the Salesforce Marketing MCP server?
Salesforce Marketing is an MCP server listed in the public MCP registry as io.github.ZLeventer/salesforce-marketing-mcp. MCP server for Salesforce, 47 tools for leads, campaigns, pipeline, attribution, and reporting. This page covers its npm package (salesforce-marketing-mcp).
Is the Salesforce Marketing MCP server safe to use?
Salesforce Marketing scores 72 out of 100 on VerifyMCP. We recorded 1 known advisory against it as of 20 September 2026. It declares no install or post-install scripts. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Salesforce Marketing MCP server expose?
Salesforce Marketing exposes 47 tools: sf_search_leads, sf_get_lead, sf_create_lead, sf_update_lead, sf_convert_lead, and 42 more. Their descriptions and schemas cost roughly 4,038 tokens of context every time the server is loaded.
Is the Salesforce Marketing MCP server still maintained?
Salesforce Marketing is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the Salesforce Marketing MCP server under?
Salesforce Marketing declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.