Skip to content

MCP server

mule-build mcp starts a stdio Model Context Protocol server, so an AI agent can build, validate, and release a Mule application through the same code paths as the CLI. It needs no credentials. Logs go to stderr, leaving stdout protocol-safe.

npx -y @sfdxy/mule-build mcp

Setup by host

Every host runs the same command; only the file and the wrapping key differ. Pin the version in anything shared so each machine gets the same build behavior.

Host Where it goes Wrapping key
Claude Code .mcp.json, or claude mcp add mcpServers
Codex .codex/config.toml, or codex mcp add [mcp_servers.mule-build]
VS Code, Copilot Chat .vscode/mcp.json servers, plus "type": "stdio"
Copilot CLI, Gemini, other MCP clients .mcp.json mcpServers

Command-line registration, where the host supports it:

codex mcp add mule-build -- npx -y @sfdxy/mule-build@2.2.0 mcp
codex mcp list

claude mcp add --scope user mule-build -- npx -y @sfdxy/mule-build@2.2.0 mcp
claude mcp list

Codex stores the server in its shared configuration, so the CLI, desktop app, and IDE extension all see it. Restart an already-open client after adding a server.

The mcpServers form, used by Claude Code, Copilot CLI, and Gemini:

{
  "mcpServers": {
    "mule-build": {
      "command": "npx",
      "args": ["-y", "@sfdxy/mule-build@2.2.0", "mcp"]
    }
  }
}

VS Code wraps the same entry in servers and wants an explicit transport:

{
  "servers": {
    "mule-build": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@sfdxy/mule-build@2.2.0", "mcp"]
    }
  }
}

Verify with codex mcp list, copilot mcp list, /mcp in Claude Code, or a window reload in VS Code. The first start downloads the package, so expect one slow launch and fast ones afterwards.

Tools

Every tool accepts an optional cwd naming the Mule project directory, which matters when the agent's working directory is not the project root.

Tool Purpose Mutates
system_check Readiness for build, test, run, or release No
get_project_config Read and validate the resolved mule-build.yaml No
run_tests Run full or focused MUnit tests with structured results Writes test reports
run_build Build a package. Refuses non-Mule projects Produces an artifact
run_app Build, start a compatible runtime if needed, deploy Starts a runtime
check_runtime_status Actual status of the resolved runtime No
stop_runtime Stop the resolved runtime Stops a runtime
enforce_security Scan for sensitive properties missing secure:: No
strip_secure Remove secure:: prefixes. Dry-run by default Only when confirmed
release_version Preview or execute a transactional release Only with confirm: true

Two tools are deliberately preview-first. strip_secure defaults to a dry run, and release_version returns a preview unless called with confirm: true — it reports the version transition and asks for confirmation rather than mutating POM and git state on a first call. An agent that wants to release has to say so twice.

Prompts

Prompt What it drives
quick-start Orient in an unfamiliar Mule project and check readiness
release-checklist Readiness, then security scan, then a previewed release awaiting confirmation
security-audit Find unsecured sensitive properties and explain the exposure

Resources

Packaged documentation is readable by the agent without network access:

mule-build://docs/design
mule-build://docs/best-practices
mule-build://docs/folder-structure
mule-build://docs/prerequisites
mule-build://docs/troubleshooting
mule-build://docs/cli

These are the same files published on this site, shipped inside the npm package, so an agent can read them with no network access. Do not rename them — the resource slugs and the package verification both depend on those paths.

Using it through mule-skills

mule-skills ships mule-build as a pinned MCP server with workflows that already know when to call it, including a mule-build skill that defaults to validate-and-package and treats releasing as an explicit choice. If you use those skills, you do not need to configure this server separately.