Um MCP server que dá ao Claude acesso scoped de leitura e escrita ao Salesforce, com tiers de permissão, audit logging e um cap rígido em escritas em bulk. Coloque na frente do Claude Code ou Claude.ai e seu time pode pedir “me mostre todos os deals travados acima de cinquenta mil e atualize as close dates” sem sair do chat.
O que você vai precisar
- Uma Connected App do Salesforce com scopes de API e refresh-token
- Um host capaz de rodar um processo de longa duração (Node, Python ou o container que você preferir)
- Claude Code, Claude Desktop ou qualquer cliente compatível com MCP
- Um doc de política de permissões acordado com seu time de segurança
Setup
- Suba o server. A implementação de referência é um MCP server em Node com três famílias de ferramentas:
query,read_recordewrite_record. Clone, instale, configure as variáveis de ambiente com as credenciais da Connected App. - Defina a política de permissões. Um arquivo YAML lista quais objetos são legíveis, quais campos são graváveis e quais operações exigem um passo de confirmação explícita. Política padrão é só leitura. Escritas exigem allowlist.
- Adicione o server ao seu cliente MCP. No Claude Code, adicione uma entrada na config do cliente apontando pro processo local. O server anuncia as ferramentas dele ao subir.
- Conecte o audit logging. Cada chamada de ferramenta produz uma entrada de log estruturada: usuário, ferramenta, argumentos, hash do resultado. Pipe pra sua stack de logging. Isso é não-negociável pra operações de escrita.
- Teste primeiro com só leitura. Rode “me mostre meu pipeline” antes de “atualize cinquenta deals”. Confiança vem de algumas semanas de operação só leitura.
Como funciona
O MCP server traduz chamadas de ferramenta do Claude em queries SOQL e chamadas REST pro Salesforce. Leituras passam pelo filtro de política e devolvem JSON. Escritas passam por um passo de confirmação: o server retorna um preview “o que seria feito”, o Claude mostra pro usuário, o usuário confirma, o server commita.
Escritas em bulk são especiais. O server impõe um cap rígido em qualquer operação de update em vinte e cinco registros por padrão. Operações maiores exigem uma ferramenta bulk_write separada que vem desligada por padrão e só é habilitada pra identidades de usuário específicas.
Pontos de atenção
- Audit logging é obrigatório. Se uma ferramenta de escrita roda sem uma entrada de log correspondente, o server deve falhar fechado. Não dê ship sem esse guard.
- Drift de field-level security. Permissões do Salesforce mudam. O arquivo de política do server pode sair de sincronia. Rode um job semanal que faz diff da política contra a FLS atual e alerta em mismatch.
- Rotação de tokens. Refresh tokens expiram. Construa o fluxo de rotação antes do lançamento, não depois do primeiro 401.
- UX de confirmação. O preview “o que seria feito” precisa ser inequívoco. “Atualize cinquenta deals” não basta; mostre os IDs e o diff a nível de campo.
Stack
- Salesforce — sistema de registro
- MCP server — camada de tradução, política e auditoria
- Claude — interface de linguagem natural, chamador de ferramentas