salesforce-marketing-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SF_PASSWORD | Yes | Salesforce password | |
| SF_USERNAME | Yes | Salesforce login email | |
| SF_LOGIN_URL | No | Use https://test.salesforce.com for sandboxes | https://login.salesforce.com |
| SF_API_VERSION | No | Salesforce API version | 60.0 |
| SF_SECURITY_TOKEN | Yes | Security token (appended to password on login) |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| sf_search_leadsB | Search Salesforce leads by name, email, or company using SOSL |
| sf_get_leadB | Retrieve a full Salesforce lead record by ID |
| sf_create_leadC | Create a new Salesforce lead |
| sf_update_leadB | Update any fields on an existing Salesforce lead |
| sf_convert_leadC | Convert a Salesforce lead to Account, Contact, and optionally Opportunity |
| sf_search_contactsB | Search Salesforce contacts by name or email using SOSL |
| sf_get_contactB | Retrieve a full Salesforce contact record including Account name |
| sf_create_contactC | Create a new Salesforce contact |
| sf_update_contactB | Update any fields on an existing Salesforce contact |
| sf_contact_by_emailA | Find Salesforce contacts by email address (up to 10 matches) |
| sf_search_accountsA | Search Salesforce accounts by name using SOSL |
| sf_get_accountA | Retrieve a Salesforce account with open opportunity count and lead count |
| sf_list_account_contactsC | List contacts associated with a Salesforce account |
| sf_list_campaignsB | List Salesforce campaigns with optional filters for status, type, and active-only |
| sf_get_campaignB | Retrieve a full Salesforce campaign record with all performance metrics |
| sf_create_campaignC | Create a new Salesforce campaign |
| sf_update_campaignB | Update any fields on an existing Salesforce campaign |
| sf_get_campaign_membersB | List members of a Salesforce campaign with lead/contact details |
| sf_add_campaign_memberC | Add a single lead or contact to a Salesforce campaign |
| sf_bulk_add_campaign_membersC | Add up to 200 leads and/or contacts to a Salesforce campaign in one call |
| sf_update_campaign_member_statusB | Update the status and/or HasResponded flag of a campaign member |
| sf_create_taskB | Create a new Salesforce task linked to a lead, contact, campaign, or opportunity |
| sf_list_tasks_by_leadC | List Salesforce tasks associated with a specific lead |
| sf_list_tasks_by_contactC | List Salesforce tasks associated with a specific contact |
| sf_list_tasks_by_campaignC | List Salesforce tasks associated with a specific campaign |
| sf_list_reportsC | List available Salesforce Analytics reports |
| sf_run_reportB | Execute a Salesforce Analytics report and return results as structured rows |
| sf_get_report_metadataA | Retrieve column definitions and groupings for a Salesforce Analytics report |
| sf_campaign_roiC | Calculate ROI, cost-per-lead, cost-per-opportunity, and response rate for campaigns |
| sf_campaign_member_status_breakdownB | Show a count breakdown of campaign member statuses for a specific campaign |
| sf_top_campaignsC | Rank campaigns by responses, opportunities created, or won revenue |
| sf_campaign_performance_trendB | Show campaign member additions over time grouped by week or month |
| sf_lead_source_breakdownB | Aggregate lead volume, conversion rate, and opportunity revenue by lead source |
| sf_pipeline_by_campaignC | Show open pipeline grouped by campaign and stage |
| sf_campaign_influenceC | Query the CampaignInfluence object to see which campaigns influenced opportunities |
| sf_won_revenue_by_campaignC | Show closed-won revenue grouped by primary campaign |
| sf_lead_conversion_metricsA | Show lead conversion rates grouped by lead source or campaign |
| sf_pipeline_summaryC | Summarize open pipeline by stage with count, total amount, average probability, and weighted pipeline |
| sf_pipeline_by_lead_sourceC | Summarize pipeline grouped by lead source with weighted values |
| sf_mql_trendB | Show MQL (or any lead status) volume trend over time grouped by week or month |
| sf_forecast_summaryB | Show forecasted pipeline for open opportunities closing within a date range |
| sf_activity_summaryB | Summarize task and event activity counts grouped by lead source, campaign, or owner |
| sf_recent_activities_by_leadB | Retrieve recent tasks and events associated with a specific lead |
| sf_recent_activities_by_contactC | Retrieve recent tasks and events associated with a specific contact |
| sf_run_soqlA | Execute a raw SOQL query against Salesforce (escape hatch for advanced queries) |
| sf_describe_objectA | Describe a Salesforce SObject — returns all fields, types, and metadata |
| sf_list_objectsA | List all queryable Salesforce SObjects with optional name filter |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 47 tools
Core CRUD tools for leads, contacts, accounts, and campaigns are mostly distinct, but the large analytics cluster contains overlapping aggregate tools (pipeline summaries, campaign ROI/trend/top campaigns, lead source metrics) that an agent could easily confuse. Descriptions help differentiate them, but the sheer number of similar reporting tools leaves room for misselection.
All tool names consistently use the sf_ prefix and snake_case, and many follow a verb_noun pattern like create_lead, get_contact, update_campaign. However, several tools use noun-first or domain-specific names without clear verbs, such as sf_campaign_roi, sf_pipeline_summary, sf_lead_source_breakdown, and sf_mql_trend, creating a mixed convention.
47 tools is well beyond the usual well-scoped range, even for a broad Salesforce marketing server. Many reporting and campaign metrics tools could be consolidated or parameterized, making the tool selection surface unnecessarily heavy.
The server covers core lead, contact, account, campaign, task, pipeline, and report workflows, but there are notable gaps such as no delete/remove tools (e.g., delete lead, delete contact, remove campaign member) and no direct opportunity CRUD despite opportunity-focused aggregate tools. The SOQL escape hatch is query-only, so some lifecycle workflows will dead-end.