Skip to content

MCP Server

@simplysf/simply-sf-mcp is a Model Context Protocol server for coding agents such as Claude Code, Codex and Cursor. Its tools call the same libraries as the sf simply commands, without starting the Salesforce CLI for every call. The server starts once per agent session and reuses org connections between calls.

It complements Salesforce’s own DX MCP server, @salesforce/mcp, which covers generic org work such as deploy, retrieve, SOQL and running tests. Run both side by side.

The server uses your Salesforce CLI org authorizations; log in with sf org login web as usual.

For Claude Code:

Terminal window
claude mcp add simply -- npx -y @simplysf/simply-sf-mcp

For any client that reads an mcpServers JSON file (Claude Code’s .mcp.json, Cursor’s .cursor/mcp.json):

{
"mcpServers": {
"simply": { "command": "npx", "args": ["-y", "@simplysf/simply-sf-mcp", "--toolsets", "apex,aep"] }
}
}

For a user-wide configuration, add --directory /path/to/project so the server knows which project to read.

OptionDefaultMeaning
--directorythe process’s working directoryThe Salesforce DX project root. Relative paths and the default org resolve against it.
--toolsetsall toolsetsComma-separated: apex, aep, package.
--allowreadHighest permission tier to register: read, write or destructive. Tools above it are not registered.

The tier describes what a tool does to the org. read tools only read. write tools add or update, and simply_apex_execute is among them because anonymous Apex can change data. destructive tools delete. Tools that change an org always need an explicit target_org, so a changed default org can’t receive a write by accident. Read-only tools fall back to the project’s default org.

ToolsetToolsTier
apexsimply_apex_execute, simply_apex_trace_setup, simply_apex_trace_silence, simply_apex_logs_purge, simply_apex_test_suite_generatewrite, write, write, destructive, read
aepsimply_aep_binding_*, simply_aep_domain_process_binding_*, simply_aep_field_set_inclusion_*, simply_aep_platform_event_subscription_* (each _list and _validate)read
packagesimply_package_version_getread

With the defaults that is 10 read-only tools. See the package README for the full reference.