{
  "markdown": "# zapier-dev-mcp\n\nAn [MCP](https://modelcontextprotocol.io) server for people who **build Zapier integrations**. [Zapier MCP](https://docs.zapier.com/mcp/home) lets AI *use* Zapier apps — this server helps you *ship* one. Point Claude at your [zapier-platform-cli](https://github.com/zapier/zapier-platform) project:\n\n- *\"What's in this integration?\"* — triggers, creates, searches, auth, platform version, request hooks\n- *\"Is it ready for app review?\"* — a lint pass encoding the things Zapier's review commonly bounces integrations for\n- *\"Run the validator\"* — wraps your project's own `zapier validate`\n\n## Quick start\n\n**Claude Code**\n\n```bash\nclaude mcp add zapier-dev -- npx -y zapier-dev-mcp\n```\n\n**Claude Desktop** — add to `claude_desktop_config.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"zapier-dev\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"zapier-dev-mcp\"]\n    }\n  }\n}\n```\n\nThen: *\"Lint C:\\\\code\\\\my-zapier-app and walk me through fixing the errors.\"*\n\n## Tools\n\n| Tool | What it does |\n|------|--------------|\n| `inspect_integration` | Structured summary of the app definition |\n| `lint_integration` | Review-readiness report: errors / warnings / info, each anchored to a component path |\n| `generate_test_fixtures` | Ready-to-run bundle mocks (typed `inputData`, `authData` from your auth fields) plus an appTester test skeleton per component |\n| `validate_integration` | Runs the project's own `zapier validate` (schema + style), with install guidance if the CLI is missing |\n\n## What the linter checks\n\n- Missing `operation.sample` on visible actions — **required for public apps**, and the single most common review bounce\n- Dynamic dropdowns (`\"trigger_key.id.label\"`) referencing triggers that don't exist\n- Missing `display.label` / `display.description` / `noun`; unlabeled input fields\n- Definition `version` vs `package.json` version mismatch; `platformVersion` vs the `zapier-platform-core` dependency\n- Auth without a `connectionLabel` (users can't tell accounts apart)\n- Key/map-key mismatches and duplicate keys\n\n`hidden` components skip the visibility checks. The linter complements `zapier validate` — schema validation catches malformed definitions; this catches *reviewable-but-rough* ones.\n\n## Notes\n\n- 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.\n- Computed input fields (functions) can't be linted statically; they're skipped, not flagged.\n- Not affiliated with or endorsed by Zapier. `zapier-platform-cli` is Zapier's open-source SDK.\n\n## Development\n\n```bash\nnpm install\nnpm test                 # offline tests — synthetic projects written in-suite\nnpm run build            # tsc → dist/\nnode scripts/smoke.mjs   # end-to-end: generates a project, drives the server over stdio\n```\n\nArchitecture: [`src/extract.ts`](src/extract.ts) (definition extraction via child process) and [`src/lint.ts`](src/lint.ts) (pure review checks) carry the logic; [`src/index.ts`](src/index.ts) is the MCP wiring.\n\n## License\n\nMIT\n",
  "bytes": 3108,
  "sha": "a709477876401bd656cac45dd647da04e7639c7eb0a2926df91e396937e4cfb9",
  "repo_slug": "arose26/zapier-dev-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_arose26_zapier_dev_mcp_a7471359/readme"
}