MCP server intelligence profile

Salesforce MCP Server

Enables AI-powered interaction with Salesforce, providing opportunity intelligence, engagement analysis, business case generation, and standard CRUD operations through natural language

Local Onlyaaronsb
Awaiting current scanNpm · 0.8.2

The selected current version does not yet have completed public verification. Unknown does not mean clean or vulnerable.

1Distribution channel
18Independently observed tools
0Linked remote endpoints
AvailableVersion intelligence

Detailed security scan evidence is not public for this MCP yet. Public identity, registry metadata, and independently observed protocol inventory remain available.

Install and connect

Installation and connection instructions are shown only when supported by retained package, repository, or endpoint evidence.

Install @aaronsb/salesforce-cloud-mcp from npm

Install exact version 0.8.2. No verified executable entrypoint is available, so use the package documentation to launch it.

npm install --save-exact @aaronsb/salesforce-cloud-mcp@0.8.2

Identity

Canonical slugsalesforce-mcp-server-79fe34f0DeploymentLocal Only
Canonical packagenpm:@aaronsb/salesforce-cloud-mcpRepositoryaaronsb/salesforce-cloud
First publishedLatest release
Last security verificationClassification confidence90%
PublicationDraftOfficial distributionNot verified

Distributions

ChannelIdentifierCurrent versionVersionsSource
npm@aaronsb/salesforce-cloud-mcp0.8.22Repository

Current release

PackageVersionPublished / observedInventorySecurity scan
npm@aaronsb/salesforce-cloud-mcp0.8.2CurrentSep 5, 202618 toolsSucceeded · 13 resources · 0 promptsEvidence restricted
Enterprise protection

Continuously monitor this MCP for security risk

Independently scan the exact version your agents use, receive alerts when its risk changes, and investigate every finding with retained version evidence.

  • Independent exact-version security scans
  • Continuous release and vulnerability monitoring
  • Risk-change alerts with capability context
  • Historical evidence and API exports
Custom pricingContact salesTailored to your organization, integrations, data needs, and support requirements.

Current version evidence

No public current-version evidence is available yet.

Current protocol inventory

2025-06-18Negotiated protocol
salesforce-cloudServer-reported name
2Capability groups
Aug 31, 2026Observed

Tools 18

ToolCategoryAnnotationsRisk
analyzeRun analytics on any Salesforce object — group by categorical fields, aggregate numeric fields, and compute custom expressions. Uses field-type metadata for validation.
Input schema
{
  "type": "object",
  "properties": {
    "object": {
      "type": "string",
      "description": "Salesforce object API name (e.g., Opportunity, Account, Lead)"
    },
    "filter": {
      "type": "string",
      "description": "SOQL WHERE clause (e.g., \"StageName = 'Closed Won' AND Amount > 100000\")"
    },
    "groupBy": {
      "type": "string",
      "description": "Field to group by (must be picklist, boolean, or similar categorical field)"
    },
    "compute": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Computed expressions (max 5). Format: name = expr. E.g., [\"win_rate = won / total * 100\"]"
    },
    "maxGroups": {
      "type": "number",
      "description": "Max groups to return (default: 20)"
    }
  },
  "required": [
    "object"
  ]
}
analyze_conversationAnalyze conversation activity and engagement patterns for an opportunity. Extracts insights from Gong calls, emails, and other activities to provide engagement recommendations.
Input schema
{
  "type": "object",
  "properties": {
    "opportunityId": {
      "type": "string",
      "description": "The ID of the Salesforce opportunity to analyze conversation activity for"
    }
  },
  "required": [
    "opportunityId"
  ]
}
batchExecute multiple operations in a single call with result references. Use $N.field to reference prior results (e.g., $0.id for the ID from operation 0). Destructive operations require confirm: true.
Input schema
{
  "type": "object",
  "properties": {
    "operations": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "tool": {
            "type": "string",
            "description": "Tool name to execute (e.g., create_record, update_record, execute_soql)"
          },
          "args": {
            "type": "object",
            "description": "Arguments for the tool. Use $N.field to reference results from earlier operations."
          },
          "confirm": {
            "type": "boolean",
            "description": "Required for delete operations. Set to true to confirm destructive action."
          }
        },
        "required": [
          "tool",
          "args"
        ]
      },
      "description": "List of operations to execute sequentially (max 16)"
    },
    "onError": {
      "type": "string",
      "enum": [
        "bail",
        "continue"
      ],
      "description": "Error handling: bail (default) stops on first failure, continue executes remaining"
    },
    "detail": {
      "type": "string",
      "enum": [
        "summary",
        "full"
      ],
      "description": "Response detail level (default: summary)"
    }
  },
  "required": [
    "operations"
  ]
}
create_recordCreate a new record in Salesforce. Supports both standard and custom fields in the data object.
Input schema
{
  "type": "object",
  "properties": {
    "objectName": {
      "type": "string",
      "description": "API name of the Salesforce object"
    },
    "data": {
      "type": "object",
      "description": "Record data as key-value pairs. For custom fields, use the API name with __c suffix (e.g., { \"Name\": \"Test\", \"Custom_Field__c\": \"Value\" })"
    }
  },
  "required": [
    "objectName",
    "data"
  ]
}
delete_recordDelete a record from Salesforce
Input schema
{
  "type": "object",
  "properties": {
    "objectName": {
      "type": "string",
      "description": "API name of the Salesforce object"
    },
    "recordId": {
      "type": "string",
      "description": "ID of the record to delete"
    }
  },
  "required": [
    "objectName",
    "recordId"
  ]
}
describe_objectGet an object's full metadata, including every standard and custom field when includeFields is true. Returns the complete schema — exhaustive but unranked, and large on customised objects. To find out which fields this org actually populates, read `salesforce://field-catalog/{objectName}` instead; it is ranked and far smaller.
Input schema
{
  "type": "object",
  "properties": {
    "objectName": {
      "type": "string",
      "description": "API name of the Salesforce object"
    },
    "includeFields": {
      "type": "boolean",
      "description": "Whether to include field metadata (default: false). When true, returns all available fields including custom fields, their types, and relationships."
    },
    "pageSize": {
      "type": "number",
      "description": "Number of fields per page when includeFields is true (default: 50)"
    },
    "pageNumber": {
      "type": "number",
      "description": "Page number to retrieve when includeFields is true (default: 1)"
    },
    "intent": {
      "type": "string",
      "enum": [
        "pipeline",
        "engagement",
        "forecasting",
        "reporting",
        "contact-mapping"
      ],
      "description": "Business intent — filters fields to only those relevant for this use case."
    }
  },
  "required": [
    "objectName"
  ]
}
download_fileDownload a file from Salesforce. Accepts a ContentVersionId (068...) or ContentDocumentId (069...). Saves to a sandboxed workspace directory (default: ~/.local/share/salesforce-cloud-mcp/workspace/, configurable via SF_WORKSPACE_DIR). Text files (CSV, JSON, XML, TXT, etc.) also return content inline. Binary files return the saved path.
Input schema
{
  "type": "object",
  "properties": {
    "contentId": {
      "type": "string",
      "description": "ContentVersionId (068...) or ContentDocumentId (069...). Find these by querying ContentDocumentLink: SELECT ContentDocumentId FROM ContentDocumentLink WHERE LinkedEntityId = '<recordId>'"
    }
  },
  "required": [
    "contentId"
  ]
}
enrich_opportunityEnrich an opportunity with market intelligence, industry insights, and strategic recommendations based on similar deal patterns and best practices.
Input schema
{
  "type": "object",
  "properties": {
    "opportunityId": {
      "type": "string",
      "description": "The ID of the Salesforce opportunity to enrich with intelligence"
    },
    "includeCompetitiveIntel": {
      "type": "boolean",
      "description": "Whether to include competitive intelligence analysis (default: false)"
    },
    "includeBestPractices": {
      "type": "boolean",
      "description": "Whether to include industry-specific best practices (default: true)"
    }
  },
  "required": [
    "opportunityId"
  ]
}
execute_soqlExecute a SOQL query. Supports both standard and custom fields (custom fields end with __c in their API names). To see which fields this org actually populates on an object, read the `salesforce://field-catalog/{objectName}` resource — it is ranked, far smaller than a full schema, and works for any object. That catalog is a usage filter rather than a field list: standard fields remain queryable whether or not they appear in it. Use describe_object when you want an object's complete schema.
Input schema
{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "SOQL query to execute. For custom fields, use the API name (e.g., Project_Status__c)"
    },
    "pageSize": {
      "type": "number",
      "description": "Number of records per page (default: 25)"
    },
    "pageNumber": {
      "type": "number",
      "description": "Page number to retrieve (default: 1)"
    },
    "detail": {
      "type": "string",
      "enum": [
        "summary",
        "full"
      ],
      "description": "Response detail level (default: summary)"
    }
  },
  "required": [
    "query"
  ]
}
find_similar_opportunitiesFind opportunities similar to a reference opportunity or based on specific criteria. Includes pattern analysis and similarity scoring to identify market trends and success patterns.
Input schema
{
  "type": "object",
  "properties": {
    "referenceOpportunityId": {
      "type": "string",
      "description": "Optional reference opportunity ID to find similar deals based on its characteristics"
    },
    "industry": {
      "type": "string",
      "description": "Filter by industry (e.g., \"Information Technology & Services\")"
    },
    "minAmount": {
      "type": "number",
      "description": "Minimum opportunity amount"
    },
    "maxAmount": {
      "type": "number",
      "description": "Maximum opportunity amount"
    },
    "stage": {
      "type": "string",
      "description": "Filter by opportunity stage (e.g., \"Closed Won\", \"Proposal\")"
    },
    "isWon": {
      "type": "boolean",
      "description": "Filter by won/lost status"
    },
    "closeDateStart": {
      "type": "string",
      "description": "Start date for close date range (YYYY-MM-DD)"
    },
    "closeDateEnd": {
      "type": "string",
      "description": "End date for close date range (YYYY-MM-DD)"
    },
    "includeAnalysis": {
      "type": "boolean",
      "description": "Whether to include pattern analysis and insights (default: true)"
    },
    "limit": {
      "type": "number",
      "description": "Maximum number of results to return (default: 50)"
    }
  }
}
generate_business_caseGenerate a markdown business case report for an opportunity. Fetches opportunity details, contacts, conversation insights, and similar won deals to produce a complete report.
Input schema
{
  "type": "object",
  "properties": {
    "opportunityId": {
      "type": "string",
      "description": "The ID of the Salesforce opportunity to generate a business case for"
    },
    "clientName": {
      "type": "string",
      "description": "Optional client name to override the account name in the report title"
    }
  },
  "required": [
    "opportunityId"
  ]
}
get_opportunity_detailsGet detailed information about a Salesforce opportunity including all available fields (both standard and custom), related records, and metadata
Input schema
{
  "type": "object",
  "properties": {
    "opportunityId": {
      "type": "string",
      "description": "The ID of the Salesforce opportunity to retrieve details for"
    },
    "detail": {
      "type": "string",
      "enum": [
        "summary",
        "full"
      ],
      "description": "Response detail level (default: full)"
    },
    "intent": {
      "type": "string",
      "enum": [
        "pipeline",
        "engagement",
        "forecasting",
        "reporting",
        "contact-mapping"
      ],
      "description": "Business intent — selects relevant fields automatically. Omit for all fields."
    },
    "fields": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Explicit field names to return. Overrides intent if both provided."
    }
  },
  "required": [
    "opportunityId"
  ]
}
get_user_infoGet information about the current user
Input schema
{
  "type": "object",
  "properties": {}
}
list_objectsList all available Salesforce objects, including both standard and custom objects
Input schema
{
  "type": "object",
  "properties": {
    "pageSize": {
      "type": "number",
      "description": "Number of objects per page (default: 25)"
    },
    "pageNumber": {
      "type": "number",
      "description": "Page number to retrieve (default: 1)"
    }
  }
}
opportunity_insightsGenerate detailed insights and analytics from opportunity data including pipeline health, performance metrics, industry trends, and strategic recommendations.
Input schema
{
  "type": "object",
  "properties": {
    "timeframe": {
      "type": "string",
      "description": "Time period for analysis",
      "enum": [
        "current_quarter",
        "last_quarter",
        "current_year",
        "last_year",
        "all_time"
      ]
    },
    "includeStageAnalysis": {
      "type": "boolean",
      "description": "Include stage distribution and conversion analysis (default: true)"
    },
    "includeOwnerPerformance": {
      "type": "boolean",
      "description": "Include individual owner performance metrics (default: true)"
    },
    "includeIndustryTrends": {
      "type": "boolean",
      "description": "Include industry-specific performance trends (default: true)"
    },
    "includePipelineHealth": {
      "type": "boolean",
      "description": "Include pipeline health and timing analysis (default: true)"
    },
    "includeConversionRates": {
      "type": "boolean",
      "description": "Include stage conversion rate analysis (default: true)"
    },
    "minAmount": {
      "type": "number",
      "description": "Minimum opportunity amount for analysis"
    },
    "maxAmount": {
      "type": "number",
      "description": "Maximum opportunity amount for analysis"
    },
    "industry": {
      "type": "string",
      "description": "Filter analysis to specific industry"
    },
    "owner": {
      "type": "string",
      "description": "Filter analysis to specific owner"
    }
  }
}
search_fieldsFind the field(s) that carry a concept, when you know what you want to query but not the API name. Searches every scored field on the discovered objects — not just the promoted ones — across API names, labels, and help text, ranked by match strength. Searches the core objects by default; pass objectName to scope to one, which discovers it on demand. Set includeValues to get the value set for matched picklists, so you can write the WHERE clause without a second lookup. The match is lexical, not semantic: it finds fields whose name, label or help text contains the term, so a concept this org names differently will not surface, and an object that has not been discovered is not searched. Read `salesforce://field-catalog/{objectName}/all` to browse everything on an object.
Input schema
{
  "type": "object",
  "properties": {
    "term": {
      "type": "string",
      "description": "What to look for, matched against field API names, labels, and help text (e.g. \"ai\", \"renewal date\", \"region\")"
    },
    "objectName": {
      "type": "string",
      "description": "Restrict the search to one object (e.g. Opportunity). Omit to search all discovered core objects."
    },
    "includeValues": {
      "type": "boolean",
      "description": "Include the active value set for matched picklist fields (default: false). Free — the values come from metadata already discovered."
    },
    "minPopulationPct": {
      "type": "number",
      "description": "Drop fields populated on fewer than this percent of records (0-100). Omit to include sparsely-populated fields, which is often where custom flags live."
    },
    "limit": {
      "type": "number",
      "description": "Maximum matches to return (default: 25, max: 100)"
    }
  },
  "required": [
    "term"
  ]
}
search_opportunitiesSearch for Salesforce opportunities by name, account, and stage. Returns matching opportunities ordered by close date. Results include both standard and custom fields.
Input schema
{
  "type": "object",
  "properties": {
    "namePattern": {
      "type": "string",
      "description": "Pattern to match in Opportunity Name. Example: \"Github\" will match \"Github Migration\" or \"My Github Project\"."
    },
    "accountNamePattern": {
      "type": "string",
      "description": "Pattern to match in Account Name. Example: \"Ford\" will match opportunities for \"Ford\" or \"Ford Motor Company\"."
    },
    "stage": {
      "type": "string",
      "description": "Exact match for opportunity stage. Common values: \"Proposal\", \"Qualification\", \"Negotiation\", \"Closed Won\", \"Closed Lost\"."
    },
    "pageSize": {
      "type": "number",
      "description": "Number of records per page (default: 25)"
    },
    "pageNumber": {
      "type": "number",
      "description": "Page number to retrieve (default: 1)"
    },
    "detail": {
      "type": "string",
      "enum": [
        "summary",
        "full"
      ],
      "description": "Response detail level (default: summary)"
    }
  }
}
update_recordUpdate an existing record in Salesforce. Supports updating both standard and custom fields.
Input schema
{
  "type": "object",
  "properties": {
    "objectName": {
      "type": "string",
      "description": "API name of the Salesforce object"
    },
    "recordId": {
      "type": "string",
      "description": "ID of the record to update"
    },
    "data": {
      "type": "object",
      "description": "Record data to update as key-value pairs. For custom fields, use the API name with __c suffix (e.g., { \"Custom_Field__c\": \"New Value\" })"
    }
  },
  "required": [
    "objectName",
    "recordId",
    "data"
  ]
}

Resources 13

  • Account Field Catalogsalesforce://field-catalog/Account

    Ranked fields for Account (discovery in progress)

  • Account Field Catalog (full)salesforce://field-catalog/Account/all

    All scored fields for Account, including non-promoted, with scoring rationale

  • Contact Field Catalogsalesforce://field-catalog/Contact

    Ranked fields for Contact (discovery in progress)

  • Contact Field Catalog (full)salesforce://field-catalog/Contact/all

    All scored fields for Contact, including non-promoted, with scoring rationale

  • ContentVersion Field Catalogsalesforce://field-catalog/ContentVersion

    Ranked fields for ContentVersion (discovery in progress)

  • ContentVersion Field Catalog (full)salesforce://field-catalog/ContentVersion/all

    All scored fields for ContentVersion, including non-promoted, with scoring rationale

  • Contract Field Catalogsalesforce://field-catalog/Contract

    Ranked fields for Contract (discovery in progress)

  • Contract Field Catalog (full)salesforce://field-catalog/Contract/all

    All scored fields for Contract, including non-promoted, with scoring rationale

  • Field Discovery Statssalesforce://field-catalog/_stats

    Discovery status: in progress — 0/6 objects

  • Lead Field Catalogsalesforce://field-catalog/Lead

    Ranked fields for Lead (discovery in progress)

  • Lead Field Catalog (full)salesforce://field-catalog/Lead/all

    All scored fields for Lead, including non-promoted, with scoring rationale

  • Opportunity Field Catalogsalesforce://field-catalog/Opportunity

    Ranked fields for Opportunity (discovery in progress)

  • Opportunity Field Catalog (full)salesforce://field-catalog/Opportunity/all

    All scored fields for Opportunity, including non-promoted, with scoring rationale

Resource templates 2

  • Field Catalogsalesforce://field-catalog/{objectName}

    Fields this org actually populates on an object, ranked by observed usage and quality. Not an exhaustive field list — standard fields stay queryable whether or not they appear here.

  • Field Catalog (full)salesforce://field-catalog/{objectName}/all

    All scored fields for a Salesforce object, including non-promoted, with scoring rationale

Prompts 0

  • None observed.

Remote endpoints

EndpointTransportAuthenticationHealthObserved
No verified remote endpoint is linked.

Salesforce MCP Server questions

How do I install Salesforce MCP Server?

Install the selected package version with: npm install --save-exact @aaronsb/salesforce-cloud-mcp@0.8.2

What tools does Salesforce MCP Server provide?

Salesforce MCP Server exposed 18 tools during independent protocol observation, including analyze, analyze_conversation, batch, create_record, delete_record, describe_object, download_file, enrich_opportunity, and others.

Is Salesforce MCP Server secure?

The selected current version does not yet have completed public verification. Unknown does not mean clean or vulnerable.

Company and product intelligence

These internal links are derived from strong identity fields such as the implementation name, package, repository, vendor, and listing name—not generic description prose.

Associated company landscape

Salesforce intelligence →

Association is based on retained identity fields; it does not by itself prove first-party publication.

Explore related MCP server guides

Curated product and capability guides containing this catalog record.

Official vs Community MCP Servers

Let’s talk about MCP security.

Share your details and our security team will contact you.