JSPM

salesforce-marketing-mcp

1.0.1
    • ESM via JSPM
    • ES Module Entrypoint
    • Export Map
    • Keywords
    • License
    • Repository URL
    • TypeScript Types
    • README
    • Created
    • Published
    • Downloads 17
    • Score
      100M100P100Q71141F
    • License MIT

    MCP server for Salesforce marketing teams — leads, contacts, campaigns, campaign members, tasks, and 17 reporting tools

    Package Exports

      This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (salesforce-marketing-mcp) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

      Readme

      salesforce-marketing-mcp

      npm version npm downloads glama score Node.js MCP License: MIT

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

      47 tools spanning Leads, Contacts, Accounts, Campaigns, Campaign Members, Tasks, and Analytics Reports — plus 14 marketing reporting tools (campaign ROI, lead source attribution, pipeline by campaign, MQL trend, CampaignInfluence). Built for marketing ops, revenue ops, and B2B teams who want AI-assisted answers without pestering RevOps for another report.


      Why this exists

      Marketing ops teams need answers like "which campaigns drove the most pipeline last quarter" or "what's our MQL trend by month" and usually end up pestering RevOps or copy-pasting Lightning report URLs. This server ships those queries as first-class tools — campaign ROI, CampaignInfluence rollups, lead source breakdowns, MQL trends — so anyone with API access can ask in plain English and get a structured answer.

      Most Salesforce MCP servers stop at CRUD on standard objects. The 14 marketing reporting tools are the differentiator — they run the queries marketing ops actually needs.


      Example prompts

      Once installed, ask Claude things like:

      • "What are my top 5 campaigns by won revenue this quarter?"
      • "Show the lead source breakdown for the last 90 days, with conversion rates."
      • "Which campaigns have the highest ROI? Include cost per lead."
      • "Show the MQL trend by month for this year."
      • "Add all leads from this list to the Q2 Webinar campaign with status 'Invited'."
      • "What's our current pipeline summary by stage with weighted values?"
      • "Pull CampaignInfluence for our Q1 ABM program and rank by sourced revenue."

      Demo

      🎥 Walkthrough video coming soon — pulling pipeline by campaign from Claude in under 60 seconds.


      Features

      • Leads — Search, get, create, update, and convert leads
      • Contacts — Search, get, create, update, and look up by email
      • Accounts — Search, get, and list contacts per account
      • Campaigns — List, get, create, and update campaigns
      • Campaign Members — List members, add individuals, bulk-add up to 200, update statuses
      • Tasks — Create tasks; list by lead, contact, or campaign
      • Analytics Reports — List, run, and describe Salesforce Analytics reports
      • Campaign Analytics — ROI calc, member status breakdown, top campaigns, performance trends
      • Attribution — Lead source breakdown, pipeline by campaign, CampaignInfluence, won revenue by campaign, lead conversion metrics
      • Pipeline — Pipeline summary, pipeline by lead source, MQL trend, forecast summary
      • Activity — Activity summary by dimension, recent activities by lead or contact
      • Power tools — Raw SOQL, SObject describe, list all objects

      Prerequisites

      • A Salesforce org (any edition with API access)
      • Your Salesforce username, password, and security token
        • To get/reset your security token: Settings > Personal Information > Reset My Security Token
      • Node.js 20 or later

      No connected app or OAuth setup required.


      Setup

      1. Install

      npm install -g salesforce-marketing-mcp
      # or run directly with npx
      npx salesforce-marketing-mcp

      2. Environment variables

      Variable Required Default Description
      SF_USERNAME Yes Salesforce login email
      SF_PASSWORD Yes Salesforce password
      SF_SECURITY_TOKEN Yes Security token (appended to password on login)
      SF_LOGIN_URL No https://login.salesforce.com Use https://test.salesforce.com for sandboxes
      SF_API_VERSION No 60.0 Salesforce API version

      Create a .env file or set them in your shell:

      export SF_USERNAME="you@yourcompany.com"
      export SF_PASSWORD="yourpassword"
      export SF_SECURITY_TOKEN="yourtoken"
      # For sandbox:
      export SF_LOGIN_URL="https://test.salesforce.com"

      Usage

      Claude Desktop

      Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

      {
        "mcpServers": {
          "salesforce": {
            "command": "npx",
            "args": ["salesforce-marketing-mcp"],
            "env": {
              "SF_USERNAME": "you@yourcompany.com",
              "SF_PASSWORD": "yourpassword",
              "SF_SECURITY_TOKEN": "yourtoken",
              "SF_LOGIN_URL": "https://login.salesforce.com"
            }
          }
        }
      }

      Claude Code

      claude mcp add salesforce-marketing-mcp \
        -e SF_USERNAME=you@yourcompany.com \
        -e SF_PASSWORD=yourpassword \
        -e SF_SECURITY_TOKEN=yourtoken \
        -- npx salesforce-marketing-mcp

      Cursor

      In .cursor/mcp.json:

      {
        "mcpServers": {
          "salesforce": {
            "command": "npx",
            "args": ["salesforce-marketing-mcp"],
            "env": {
              "SF_USERNAME": "you@yourcompany.com",
              "SF_PASSWORD": "yourpassword",
              "SF_SECURITY_TOKEN": "yourtoken"
            }
          }
        }
      }

      Tools reference

      Tool Description
      sf_search_leads SOSL search across lead name, email, and company
      sf_get_lead Full lead record by ID
      sf_create_lead Create a new lead
      sf_update_lead Update any lead fields
      sf_convert_lead Convert lead to Account / Contact / Opportunity
      sf_search_contacts SOSL search across contact name and email
      sf_get_contact Full contact record with Account name
      sf_create_contact Create a new contact
      sf_update_contact Update any contact fields
      sf_contact_by_email Find contacts by email address (up to 10 matches)
      sf_search_accounts SOSL search on account name
      sf_get_account Account record with open opp count and lead count
      sf_list_account_contacts Contacts associated with an account
      sf_list_campaigns List campaigns with optional status/type/active filters
      sf_get_campaign Full campaign record with all performance metrics
      sf_create_campaign Create a new campaign
      sf_update_campaign Update any campaign fields
      sf_get_campaign_members List campaign members with lead/contact details
      sf_add_campaign_member Add a single lead or contact to a campaign
      sf_bulk_add_campaign_members Add up to 200 leads/contacts in one call
      sf_update_campaign_member_status Update member status and HasResponded flag
      sf_create_task Create a task linked to a lead, contact, or campaign
      sf_list_tasks_by_lead Tasks associated with a lead
      sf_list_tasks_by_contact Tasks associated with a contact
      sf_list_tasks_by_campaign Tasks associated with a campaign
      sf_list_reports List available Salesforce Analytics reports
      sf_run_report Execute a report and return structured rows
      sf_get_report_metadata Column definitions and groupings for a report
      sf_campaign_roi ROI, CPL, CPO, and response rate per campaign
      sf_campaign_member_status_breakdown Member status counts for a campaign
      sf_top_campaigns Rank campaigns by responses, opps, or won revenue
      sf_campaign_performance_trend Member additions over time (week/month)
      sf_lead_source_breakdown Lead volume, conversions, and revenue by lead source
      sf_pipeline_by_campaign Open pipeline grouped by campaign and stage
      sf_campaign_influence CampaignInfluence records linking campaigns to opps
      sf_won_revenue_by_campaign Closed-won revenue grouped by primary campaign
      sf_lead_conversion_metrics Conversion rates by lead source or campaign
      sf_pipeline_summary Pipeline by stage: count, amount, probability, weighted
      sf_pipeline_by_lead_source Pipeline grouped by lead source
      sf_mql_trend MQL (or any status) volume over time
      sf_forecast_summary Expected revenue for opps closing in a date range
      sf_activity_summary Task/event counts by lead source, campaign, or owner
      sf_recent_activities_by_lead Tasks and events for a specific lead
      sf_recent_activities_by_contact Tasks and events for a specific contact
      sf_run_soql Execute raw SOQL (escape hatch for custom queries)
      sf_describe_object Full field metadata for any SObject
      sf_list_objects List all queryable SObjects with optional filter

      How it works

      • Auth: Connects via Salesforce username + password + security token using jsforce. The connection is cached for 25 minutes and automatically refreshed on INVALID_SESSION_ID errors.
      • Production and sandbox: Set SF_LOGIN_URL=https://test.salesforce.com to target a sandbox.
      • Rate limits: All queries respect Salesforce API limits. Use limit parameters to control result sizes.

      License

      MIT