Mcp Salesforce — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Mcp Salesforce (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
An MCP (Model Context Protocol) server implementation for Salesforce integration, enabling AI assistants to interact with Salesforce data through standardized tools.
This MCP server provides three powerful tools for Salesforce integration:
git clone <repository-url>
cd mcp-salesforceuv venv
source .venv/bin/activate # On Unix/macOS
# or
.venv\Scripts\activate # On Windowsuv pip install -e .cp .env.example .env.env and add your Salesforce credentials:[email protected]
SALESFORCE_PASSWORD=your_password
SALESFORCE_SECURITY_TOKEN=your_security_tokenStart the MCP server using one of the following methods:
# Method 1: Run directly with Python
python main.py
# Method 2: Use the installed command
mcp-salesforce
# Method 3: Run with uv (recommended)
uv run mcp-salesforceThe MCP Inspector is a powerful tool for testing and debugging your MCP server. It provides an interactive interface to explore available tools and test them with different parameters.
Method 1: Using uv run with mcp-salesforce command (recommended)
npx @modelcontextprotocol/inspector uv run mcp-salesforceMethod 2: Using uv run with Python directly
npx @modelcontextprotocol/inspector uv run python main.pyThis will:
Note: Make sure your .env file is configured with valid Salesforce credentials before running the inspector.
#### 1. list_objects
Lists all available Salesforce objects in your org.
Returns:
objects: Array of object metadata, each with:name: API name of the objectlabel: Display labelcustom: Whether it's a custom objectqueryable: Whether it can be queried via SOQLsearchable: Whether it's searchablecreateable: Whether new records can be createdupdateable: Whether records can be updateddeletable: Whether records can be deleted#### 2. describe_object
Get all fields for a specific Salesforce object.
Parameters:
object_name (string): The API name of the Salesforce object (e.g., 'Account', 'Contact', 'CustomObject__c')Returns:
name: Object API namefields: Array of field definitions with:name: Field API namelabel: Field display labeltype: Data type (string, number, date, picklist, etc.)length, precision, scale: Size constraintsrequired: Whether the field is requiredunique: Whether values must be uniquecreateable, updateable: Field permissionscalculated: Whether it's a formula fielddefaultValue: Default value for the fieldpicklistValues: Available values (for picklist fields)referenceTo: Referenced object (for lookup/master-detail fields)#### 3. execute_soql_query
Execute SOQL (Salesforce Object Query Language) queries.
Parameters:
query (string): The SOQL query string (e.g., 'SELECT Id, Name FROM Account LIMIT 10')Returns:
query: The executed SOQL query stringrows: Array of records with queried fieldsrow_count: Total number of records returnedcolumns: Array of column names in the result setImportant SOQL Rules:
Example Queries:
-- Get first 10 accounts
SELECT Id, Name, Industry FROM Account LIMIT 10
-- Get contacts with filters
SELECT Id, FirstName, LastName, Email FROM Contact WHERE Email != null LIMIT 20
-- Join query (using relationship)
SELECT Id, Name, Owner.Name FROM Account WHERE CreatedDate = TODAYmcp-salesforce/
├── main.py # Main MCP server implementation
├── pyproject.toml # Project configuration and dependencies
├── .env.example # Example environment variables
├── .env # Your actual credentials (git-ignored)
└── README.md # This fileTo use this MCP server with Claude Desktop, add the following to your Claude Desktop configuration:
MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"salesforce": {
"command": "uv",
"args": [
"--directory",
"/absolute/path/to/mcp-salesforce",
"run",
"mcp-salesforce"
]
}
}
}Replace /absolute/path/to/mcp-salesforce with the actual path to your project directory.
Alternative configuration using Python directly:
{
"mcpServers": {
"salesforce": {
"command": "uv",
"args": [
"--directory",
"/absolute/path/to/mcp-salesforce",
"run",
"python",
"main.py"
]
}
}
}The server includes comprehensive error handling:
.env file to version control[Add your license here]
[Add contribution guidelines here]
For issues and questions:
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.