Back to Directory/Automation & Workflow

io.github.arose26/zapier-dev-mcp

For Zapier integration developers: inspect, lint, and validate zapier-platform-cli projects.

Automation & WorkflowTypeScriptv0.2.0

zapier-dev-mcp

An MCP server for people who build Zapier integrations. Zapier MCP lets AI use Zapier apps — this server helps you ship one. Point Claude at your zapier-platform-cli project:

  • "What's in this integration?" — triggers, creates, searches, auth, platform version, request hooks
  • "Is it ready for app review?" — a lint pass encoding the things Zapier's review commonly bounces integrations for
  • "Run the validator" — wraps your project's own zapier validate

Quick start

Claude Code

claude mcp add zapier-dev -- npx -y zapier-dev-mcp

Claude Desktop — add to claude_desktop_config.json:

{
  "mcpServers": {
    "zapier-dev": {
      "command": "npx",
      "args": ["-y", "zapier-dev-mcp"]
    }
  }
}

Then: "Lint C:\code\my-zapier-app and walk me through fixing the errors."

Tools

ToolWhat it does
inspect_integrationStructured summary of the app definition
lint_integrationReview-readiness report: errors / warnings / info, each anchored to a component path
generate_test_fixturesReady-to-run bundle mocks (typed inputData, authData from your auth fields) plus an appTester test skeleton per component
validate_integrationRuns the project's own zapier validate (schema + style), with install guidance if the CLI is missing

What the linter checks

  • Missing operation.sample on visible actions — required for public apps, and the single most common review bounce
  • Dynamic dropdowns ("trigger_key.id.label") referencing triggers that don't exist
  • Missing display.label / display.description / noun; unlabeled input fields
  • Definition version vs package.json version mismatch; platformVersion vs the zapier-platform-core dependency
  • Auth without a connectionLabel (users can't tell accounts apart)
  • Key/map-key mismatches and duplicate keys

hidden components skip the visibility checks. The linter complements zapier validate — schema validation catches malformed definitions; this catches reviewable-but-rough ones.

Notes

  • Inspecting a project evaluates its entry module in a child process (with a timeout and output cap) — exactly what the Zapier CLI itself does. Only point it at projects you trust, i.e. your own.
  • Computed input fields (functions) can't be linted statically; they're skipped, not flagged.
  • Not affiliated with or endorsed by Zapier. zapier-platform-cli is Zapier's open-source SDK.

Development

npm install
npm test                 # offline tests — synthetic projects written in-suite
npm run build            # tsc → dist/
node scripts/smoke.mjs   # end-to-end: generates a project, drives the server over stdio

Architecture: src/extract.ts (definition extraction via child process) and src/lint.ts (pure review checks) carry the logic; src/index.ts is the MCP wiring.

License

MIT

Installation

Source-derived launch command. Check the maintainer’s required arguments and credentials before running:

bash
npx -y zapier-dev-mcp

Set up in your AI client

Merge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.

json
{
  "mcpServers": {
    "io-github-arose26-zapier-dev-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "zapier-dev-mcp"
      ]
    }
  }
}

Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.

Claude Desktop setup reference

Package

zapier-dev-mcpnpm

Compatible MCP Clients

io.github.arose26/zapier-dev-mcp works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.

  • Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.
  • Cursor~/.cursor/mcp.jsonRestart Cursor for changes to take effect.
  • VS Code.vscode/mcp.jsonReload VS Code window for changes to take effect.
  • Windsurf~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect.
  • Claude Code.mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.

Learn More