Skip to main content
Glama
mintmcp

Salesforce MCP Server

by mintmcp

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_objects

List all Salesforce objects in this org. Use this as the first step when exploring an unfamiliar org or when you need to find a custom object.

Returns: name (API name), label (display name), queryable, createable, custom.
Use the optional search parameter to filter by name/label substring.
Standard objects: Account, Contact, Lead, Opportunity, Case, Task, Event, User.
Custom objects end in __c (e.g., Invoice__c).
Follow up with describe_object to see fields for any object.
describe_object

Get complete metadata for a Salesforce object: fields, relationships, picklist values, and record types. Call this before querying or writing to an unfamiliar object.

Each field includes: name (API name), label, type, referenceTo (for lookups),
picklistValues (for picklists), nillable, createable, updateable.

Common types: string, picklist, reference (lookup/master-detail), boolean, date,
datetime, currency, double, int, id, textarea, phone, email, url.

Standard objects: Account, Contact, Lead, Opportunity, Case, Task, Event, User.
Custom objects and fields end in __c.
run_soql_query

Execute a SOQL query. SOQL syntax: SELECT fields FROM Object WHERE conditions ORDER BY field LIMIT n

Use SOQL when you know which object to query. Use run_sosl_search instead when
searching by keyword across multiple objects.

Common objects: Account, Contact, Lead, Opportunity, Case, Task, Event, User.
Custom objects end in __c. Custom fields end in __c.

Relationship queries use dot notation for parent (SELECT Contact.Account.Name FROM Contact)
and subqueries for children (SELECT Name, (SELECT LastName FROM Contacts) FROM Account).

Always include LIMIT to avoid large result sets. Call describe_object first if you
don't know the available fields. Results include totalSize, done, and records array.
run_sosl_search

Search across multiple Salesforce objects by keyword using full-text search.

Syntax: FIND {search_term} IN ALL FIELDS RETURNING Object1(fields), Object2(fields)

Use SOSL when you don't know which object contains the data, or need to search
across Account, Contact, Lead, Opportunity simultaneously.
Use run_soql_query instead for structured filtering (date ranges, status, owner).

Example: FIND {Acme} IN ALL FIELDS RETURNING Account(Id, Name), Contact(Id, Name, Email)
Wildcards: * (multiple chars), ? (single char). Minimum 2 characters.
get_record

Get a single Salesforce record by its ID. Returns all readable fields.

Record IDs are 15 or 18 character strings. The first 3 characters indicate the object
type (001=Account, 003=Contact, 006=Opportunity, 00Q=Lead, 500=Case).

Use run_soql_query or run_sosl_search to find record IDs if you only have a name or email.
create_record

Create a new Salesforce record. Provide the object name and a dict of field values.

    Call describe_object first to see required fields and valid picklist values.
    The data dict keys must be field API names (e.g., LastName, not "Last Name").
    Returns the new record's ID on success.

    Example: create_record("Contact", {"LastName": "Smith", "Email": "smith@example.com"})
update_record

Update fields on an existing Salesforce record. Only include fields you want to change.

    Example: update_record("Opportunity", "006...", {"StageName": "Closed Won", "CloseDate": "2026-03-15"})
    Returns HTTP 204 on success.
delete_record

Permanently delete a Salesforce record. This cannot be undone via the API. Records go to the Recycle Bin and can be recovered by an admin within 15 days.

tooling_execute

Execute a Salesforce Tooling API call. The Tooling API accesses metadata and developer objects: ApexClass, ApexTrigger, CustomField, Flow, ValidationRule.

    Example: tooling_execute("query/?q=SELECT Id,Name FROM ApexClass LIMIT 5")
    Example: tooling_execute("query/?q=SELECT Id,TableEnumOrId FROM CustomField WHERE TableEnumOrId='Account'")

    Use run_soql_query for regular data queries. Use this for metadata inspection.
apex_execute

Call a custom Apex REST endpoint. These are org-specific REST services written in Apex by developers. The action is the URL path after /services/apexrest/.

This will return an error if no custom Apex REST endpoints exist in the org.

restful

Execute a raw Salesforce REST API call. This is an escape hatch for API endpoints not covered by other tools.

    Common paths:
    - sobjects/ — list all objects
    - sobjects/Account/describe/ — describe an object
    - analytics/reports/ — list reports
    - analytics/reports/{id} — run a report
    - limits/ — API usage limits
    - tooling/query/?q=SOQL — query metadata

    The path is relative to /services/data/vXX.0/. Method defaults to GET.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mintmcp/salesforce-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server