salesforce-deployment-guard

salesforce-deployment-guard

Enables analyzing Salesforce deployment logs, validating metadata manifests, assessing permission risks, and generating remediation plans through deterministic, local-only rules.

Category
Visit Server

README

Salesforce Deployment Guard MCP

CI

A local-only Model Context Protocol server that turns Salesforce-style deployment evidence into structured findings and remediation steps.

This is a clean-room portfolio project. It uses deterministic rules and synthetic examples—no Salesforce org, credentials, LLM, telemetry, or network access.

Tools

Tool Purpose
analyze_deployment_log Classifies missing metadata, invalid references, Apex test failures, permission failures, malformed XML, and unknown evidence.
validate_metadata_manifest Detects missing dependencies, duplicates, invalid names, self-dependencies, and cycles.
assess_permission_risk Flags broad system permissions, object Modify All, duplicate changes, and write-without-read combinations.
build_remediation_plan Turns findings into a deterministic, priority-ordered checklist.

Every tool is read-only and returns both human-readable text and structured JSON.

Quick start

Requirements: Node.js 20.19 or newer.

git clone https://github.com/qpulce-dev/salesforce-deployment-guard-mcp.git
cd salesforce-deployment-guard-mcp
npm ci
npm run verify
npm run build

Connect an MCP client

Codex CLI:

codex mcp add salesforce-deployment-guard -- node "/absolute/path/to/salesforce-deployment-guard-mcp/dist/server.js"

Claude Desktop-compatible configuration:

{
  "mcpServers": {
    "salesforce-deployment-guard": {
      "command": "node",
      "args": [
        "/absolute/path/to/salesforce-deployment-guard-mcp/dist/server.js"
      ]
    }
  }
}

Restart the client after changing its MCP configuration.

Live MCP transcript

Captured from a real MCP client connected to the built server over stdio:

connected: salesforce-deployment-guard-mcp
tools: analyze_deployment_log, validate_metadata_manifest, assess_permission_risk, build_remediation_plan
call: analyze_deployment_log
arguments: {"log":"Error: no CustomField named Demo__c.Region__c found"}
{
  "status": "issues_found",
  "findings": [
    {
      "code": "SF_MISSING_METADATA",
      "category": "missing_dependency",
      "severity": "error",
      "evidence": "Error: no CustomField named Demo__c.Region__c found",
      "likelyCause": "A referenced metadata component is absent from the deployment set or target org.",
      "nextChecks": [
        "Confirm the referenced component exists in source control.",
        "Add the dependency to the deployment manifest before its consumer."
      ]
    }
  ]
}

The fixtures/ directory contains additional synthetic inputs.

Architecture

MCP client
  -> Zod input schema
  -> small tool handler
  -> deterministic domain function
  -> structured JSON + concise text
  • src/server.ts registers tools and owns stdio startup.
  • src/domain/ contains pure diagnostic and planning logic.
  • src/tools/result.ts formats stable MCP responses.
  • tests/ covers domain behavior, privacy rules, and a real stdio MCP handshake.
  • fixtures/ contains synthetic examples only.

Verification

npm run verify

That command runs formatting, ESLint, strict TypeScript checks, 39 tests, a production build, and the privacy scan. The MCP smoke test launches the built server, negotiates a client connection, lists all four tools, and calls one tool.

CI runs the same verification on Node.js 20.19 and 22.

Privacy and security

  • No runtime network calls.
  • No data persistence or telemetry.
  • No environment variables or credentials required.
  • Inputs are bounded before analysis.
  • Errors do not return stack traces or local paths.
  • Included examples use names such as Demo__c and Demo_Access.
  • The privacy scanner reports only file and rule identifiers, never matched secret text.

For an extra local organization-name check:

PRIVATE_ORG_NAMES="Private Org One,Private Org Two" npm run privacy:scan

Do not paste real production logs into public issues, commits, or fixtures.

Limits

This server provides deterministic review guidance. It does not connect to Salesforce, validate against a live org, replace a security review, or guarantee deployment success. Unknown evidence stays classified as unknown.

License

MIT © 2026 Queanu Pulce

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured