Server data from the Official MCP Registry
MCP Server para Salesforce Marketing Cloud: valida queries do Automation Studio antes de rodar.
MCP Server para Salesforce Marketing Cloud: valida queries do Automation Studio antes de rodar.
The SFMC MCP server is well-structured with proper authentication, appropriate permission scoping, and no malicious patterns detected. Credentials are correctly handled via environment variables with lazy initialization. The code demonstrates solid security practices for a developer tool with read-only access to Salesforce Marketing Cloud. Minor code quality observations around error handling and input validation do not materially impact security. Supply chain analysis found 2 known vulnerabilities in dependencies (0 critical, 2 high severity). Package verification found 1 issue.
7 files analyzed · 7 issues found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
This plugin requests these system permissions. Most are normal for its category.
Set these up before or after installing:
Environment variable: SFMC_SUBDOMAIN
Environment variable: SFMC_CLIENT_ID
Environment variable: SFMC_CLIENT_SECRET
Environment variable: SFMC_ACCOUNT_ID
Environment variable: SFMC_MODE
Add this to your MCP configuration file:
{
"mcpServers": {
"io-github-inefavel-sfmc-mcp-server": {
"env": {
"SFMC_MODE": "your-sfmc-mode-here",
"SFMC_CLIENT_ID": "your-sfmc-client-id-here",
"SFMC_SUBDOMAIN": "your-sfmc-subdomain-here",
"SFMC_ACCOUNT_ID": "your-sfmc-account-id-here",
"SFMC_CLIENT_SECRET": "your-sfmc-client-secret-here"
},
"args": [
"-y",
"sfmc-mcp-server"
],
"command": "npx"
}
}
}From the project's GitHub README.
Conecte o Claude (ou qualquer client MCP) ao Salesforce Marketing Cloud. Explore Data Extensions, consulte registros e valide queries do Automation Studio antes de rodá-las.
Quem opera SFMC conhece a rotina: você escreve uma Query Activity, salva, roda a automação — e 30 minutos depois descobre que digitou EmailAdress em vez de EmailAddress. Ou que usou um ORDER BY, que o dialeto do Automation Studio não suporta. Ou que a coluna de saída não existe na DE de destino.
O feedback loop do SFMC é medido em dezenas de minutos. Este servidor MCP reduz para segundos.
| Tool | O que resolve |
|---|---|
validate_sql | Valida uma Query Activity antes de executar: regras do dialeto restrito do SFMC + checagem de que as DEs e colunas realmente existem |
list_data_extensions | Lista DEs com metadados, filtro por nome, paginação e schema completo |
query_data_extension | Consulta registros com filtro, ordenação e paginação |
validate_sql em açãoVocê: valide essa query pra mim
SELECT c.SubscriberKey, c.EmailAdress, c.LastPurchaseDate
FROM Customers_Master c
ORDER BY c.CreatedDate DESC
❌ INVÁLIDA — 3 erro(s) bloqueante(s).
1. ORDER BY não é suportado em Query Activities do SFMC. [linha ~3]
→ Se precisar de ranking, use ROW_NUMBER() OVER (ORDER BY ...) em subquery.
2. A coluna "EmailAdress" não existe na DE "Customers_Master".
→ Você quis dizer "EmailAddress"?
3. A coluna "LastPurchaseDate" não existe na DE "Customers_Master".
→ Campos disponíveis: SubscriberKey, EmailAddress, FirstName, Status, CreatedDate
O que ele detecta:
Regras do dialeto — ORDER BY, CTEs (WITH), MERGE, DML/DDL, variáveis (DECLARE @), temp tables (#temp), cursores, stored procedures, FULL OUTER JOIN, parênteses desbalanceados, SELECT * arriscado, GETDATE() em fuso do servidor.
Contra o schema real — DEs inexistentes, colunas inexistentes (com sugestão de correção via distância de edição), aliases não declarados, colunas de saída incompatíveis com a DE de destino, PK do destino ausente no SELECT (a falha silenciosa mais cara do SFMC).
npx sfmc-mcp-server
Ou instalando localmente:
npm install -g sfmc-mcp-server
Setup → Apps → Installed Packages → New → Add Component → API Integration (Server-to-Server)
Permissões mínimas (somente leitura):
Anote o Client ID, o Client Secret e o subdomínio (a parte antes de .auth.marketingcloudapis.com).
~/Library/Application Support/Claude/claude_desktop_config.json (macOS)
%APPDATA%\Claude\claude_desktop_config.json (Windows)
{
"mcpServers": {
"sfmc": {
"command": "npx",
"args": ["-y", "sfmc-mcp-server"],
"env": {
"SFMC_SUBDOMAIN": "mcXXXXXXXXXXXXXXXXXXXXXX",
"SFMC_CLIENT_ID": "seu_client_id",
"SFMC_CLIENT_SECRET": "seu_client_secret",
"SFMC_MODE": "read"
}
}
}
}
Reinicie o Claude Desktop. Pronto.
Uma entrada por BU, cada uma com seu SFMC_ACCOUNT_ID (o MID):
{
"mcpServers": {
"sfmc-varejo": {
"command": "npx",
"args": ["-y", "sfmc-mcp-server"],
"env": { "SFMC_ACCOUNT_ID": "1234567", "...": "..." }
},
"sfmc-b2b": {
"command": "npx",
"args": ["-y", "sfmc-mcp-server"],
"env": { "SFMC_ACCOUNT_ID": "7654321", "...": "..." }
}
}
}
Active_Buyers" → aponta erros antes de você perder 30 minCustomers_Master?" → consulta direta com filtroSFMC_MODE=read é o default. Tools de escrita (roadmap) só serão registradas com SFMC_MODE=write.src/
├── index.ts # Entry point — registra tools, transporte stdio
├── auth.ts # OAuth client_credentials, cache de token (~20 min)
├── sfmcClient.ts # REST client com retry exponencial (429/5xx)
└── tools/
├── validateSql.ts # Regras do dialeto + validação contra schema real
├── listDataExtensions.ts
└── queryDataExtension.ts
Detalhes de implementação:
get_automation_status — status e histórico de execuçãolist_journeys — journeys ativas, versões, métricasget_send_stats — opens, clicks, bouncesupsert_rows — gravação com padrão checkpoint/resume (modo write)validate_sql cobre as restrições conhecidas do Automation Studio e a existência de tabelas/colunas. Não garante correção lógica nem performance.ENT.) não são validadas contra schema — vivem no Parent BU, fora do alcance da REST da BU atual.alias.) não são validadas em queries com múltiplos JOINs — resolver isso exigiria um parser SQL completo./data/v1/customobjects é relativamente recente. Instâncias em releases antigas podem precisar do fallback SOAP.PRs bem-vindos. As áreas de maior impacto são as tools do roadmap e novas regras de validação do dialeto SFMC — se você já perdeu tempo com uma construção que o Automation Studio rejeita, abra uma issue com o caso.
MIT
Be the first to review this server!
by Modelcontextprotocol · Developer Tools
Read, search, and manipulate Git repositories programmatically
by Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
by mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.