{
  "markdown": "# zapier-discovery-mcp\n\nAn [MCP](https://modelcontextprotocol.io) server for **automation discovery**. [Zapier MCP](https://docs.zapier.com/mcp/home) executes automations — this server answers the question that comes first: *what could I automate?*\n\n- *\"What do people automate between Slack and Notion?\"* — real, popular Zap templates, each with a one-click create link\n- *\"Is there a Zapier integration for this tool?\"* — search the 9,000+ app directory\n- *\"Give me automation ideas for my CRM\"* — templates ranked by actual usage, not hallucinated\n\nSibling project: [zapier-dev-mcp](https://github.com/arose26/zapier-dev-mcp) for *building* Zapier integrations.\n\n## Setup\n\nYou need a Zapier Partner API `client_id` — free with any Zapier integration, and not a secret (it ships in client-side embed code). See the [Partner API docs](https://docs.api.zapier.com) for where to find yours.\n\n**Claude Code**\n\n```bash\nclaude mcp add zapier-discovery --env ZAPIER_CLIENT_ID=your_client_id -- npx -y zapier-discovery-mcp\n```\n\n**Claude Desktop** — add to `claude_desktop_config.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"zapier-discovery\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"zapier-discovery-mcp\"],\n      \"env\": { \"ZAPIER_CLIENT_ID\": \"your_client_id\" }\n    }\n  }\n}\n```\n\nOptional: `ZAPIER_API_BASE` overrides the API host (testing, proxies).\n\n## Tools\n\n| Tool | What it does |\n|------|--------------|\n| `search_apps` | Search the app directory by name; popularity-ordered without a query. Returns slugs for the next step. |\n| `find_zap_templates` | Popular ready-made Zap templates for one app or a pair — title, step chain (`Slack → Notion`), description, one-click create URL |\n\n## Design notes\n\n- **Defensive parsing.** Partner API responses are only partially documented; the client whitelists fields and handles both bare-array and enveloped responses rather than assuming shapes.\n- **Testable without credentials.** The smoke test runs a local HTTP mock of the Partner API and points the server at it via `ZAPIER_API_BASE` — full end-to-end over stdio with zero secrets. Missing `ZAPIER_CLIENT_ID` produces setup instructions as a tool error, not a crash.\n- HTML in titles/descriptions is stripped and truncated before it reaches the model.\n\nNot affiliated with or endorsed by Zapier.\n\n## Development\n\n```bash\nnpm install\nnpm test                 # offline unit tests (mocked fetch)\nnpm run build            # tsc → dist/\nnode scripts/smoke.mjs   # end-to-end against a local Partner API mock\n```\n\n## License\n\nMIT\n",
  "bytes": 2525,
  "sha": "ab1b99ba0e62bebe0a2443c646ec66a6644e68d6b68e5770b3c754674158c8a0",
  "repo_slug": "arose26/zapier-discovery-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_arose26_zapier_discovery_mcp_4d327d94/readme"
}