simple-salesforce-mcp
simple-salesforce-mcp
Легковесный сервер MCP для Salesforce. Он общается напрямую с Salesforce REST API через stdio
и имеет две зависимости времени выполнения (mcp, httpx) — создан как замена с быстрым
холодным стартом для официального DX-сервера @salesforce/mcp, чьё дерево зависимостей
слишком тяжело для песочниц.
Инструменты
Инструмент | Пишет? | Примечания |
| нет | Сырой SOQL как запасной вариант с пагинацией ( |
| нет | Полнотекстовый поиск по объектам (параметризованный API поиска) |
| нет | Получить запись по Id, опциональный список полей |
| да | Создать запись |
| да, требует подтверждения | Требует явного |
| да, требует подтверждения | Требует явного |
| нет | Сокращённые метаданные объекта (поля, типы, обязательность, списки выбора) |
| нет | Объекты организации, системный шум отфильтрован по умолчанию |
| нет | Текущий пользователь, организация, URL инстанса, версия API |
Каждый инструмент несёт аннотации MCP (readOnlyHint / destructiveHint / idempotentHint).
update_record и delete_record отказываются действовать, если вызов не содержит confirm: true,
а сообщение об отказе предписывает модели показать пользователю точное изменение и сначала
получить одобрение. Сам SOQL не может изменять данные, поэтому запасной вариант остаётся
доступным только для чтения.
Related MCP server: Salesforce MCP Server
Аутентификация
Сервер сам не выполняет OAuth-поток; он использует существующий токен доступа, который определяется при каждом вызове инструмента (так что внешний процесс может ротировать токен в любой момент):
Хранилище аутентификации Salesforce CLI в
$HOME:~/.sf/config.json→{"target-org": "<username>"}(или устаревший~/.sfdx/sfdx-config.json→{"defaultusername": ...})~/.sfdx/<username>.json→{"accessToken": "...", "instanceUrl": "https://..."}
Это формат, который создаёт
sf org login, и формат, который платформа JustParent разворачивает в песочницах (при этом платформа обновляет токен доступа перед каждым вызовом). Refresh-токены и клиентские секреты в этих файлах игнорируются — они никогда не считываются в память, не сохраняются и не логируются.Переменные окружения (запасной вариант для локального/автономного использования):
SALESFORCE_ACCESS_TOKENиSALESFORCE_INSTANCE_URL.
Если токен отклонён (HTTP 401 / INVALID_SESSION_ID), сервер один раз перечитывает хранилище
аутентификации и повторяет попытку, после чего сообщает, что соединение нужно установить заново.
Версия REST API по умолчанию — 62.0; переопределяется через SALESFORCE_API_VERSION.
Запуск
# Standalone with env vars (get a token via: sf org display --json)
SALESFORCE_ACCESS_TOKEN=... \
SALESFORCE_INSTANCE_URL=https://yourorg.my.salesforce.com \
uvx --from git+https://github.com/JustParent/simple-salesforce-mcp simple-salesforce-mcpКонфигурация Claude Desktop / универсального MCP-клиента:
{
"mcpServers": {
"salesforce": {
"command": "uvx",
"args": ["--from", "git+https://github.com/JustParent/simple-salesforce-mcp", "simple-salesforce-mcp"],
"env": {
"SALESFORCE_ACCESS_TOKEN": "...",
"SALESFORCE_INSTANCE_URL": "https://yourorg.my.salesforce.com"
}
}
}
}Смоук-тест (без сети, выводит версию, статус учётных данных и инструменты; завершается с кодом 0):
uvx --from . simple-salesforce-mcp --testРазработка
uv run pytest # unit tests, no network needed
uv run ruff check . # lint
uv run ruff format . # format (--check to verify only)
uv run mypy # type check (src and tests)
uv run simple-salesforce-mcp --test
npx @modelcontextprotocol/inspector uv run simple-salesforce-mcp # interactiveCI (.github/workflows/tests.yml) запускается при каждом push и pull request: тестовый набор
на Python 3.10–3.13, проверки линтера и форматирования с помощью ruff, плюс mypy, а также
задача упаковки, которая устанавливает пакет так же, как это делают песочницы (uvx --from .),
чтобы выявить ошибки упаковки.
Замечания по безопасности
Только токен доступа: сервер никогда не запрашивает, не считывает и не сохраняет refresh-токены.
Деструктивные операции (update/delete) выполняются только при наличии явного аргумента
confirm=true; модель получает инструкцию сначала получить одобрение пользователя.Курсоры пагинации SOQL (
next_url) проверяются на соответствие путям/services/data/..., а идентификаторы объектов/записей проверяются перед вставкой в URL.Ответы ограничены по размеру с явными уведомлениями об усечении.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceA focused MCP server for Salesforce CRM that exposes read/write access to standard CRM objects via six tools, designed for multi-tenant gateway deployments.19MIT
- FlicenseBqualityDmaintenanceA customizable MCP server for integrating Salesforce APIs with GenAI applications, supporting SOQL queries, record CRUD, metadata access, and more.137
- AlicenseAqualityAmaintenanceEnables SOQL queries, SOSL search, and record CRUD operations on a single Salesforce org via MCP, with optional read-only mode.953MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to interact with Salesforce through MCP, supporting queries, records, metadata, and bulk operations with flexible OAuth authentication.MIT
Related MCP Connectors
Run SOQL queries to explore and retrieve Salesforce data. Access accounts, contacts, opportunities…
Search, document and execute authenticated API calls across 700+ apps via one MCP server
Self-hosted MCP gateway: turn any API, database or MCP server into AI connectors — no code.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/JustParent/simple-salesforce-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server