zapier-dev-mcp
Provides tools for developing and reviewing Zapier integrations, including inspecting app definitions, linting for review readiness, generating test fixtures, and running validation.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@zapier-dev-mcpLint C:\code\my-zapier-app and walk me through fixing the errors."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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-mcpClaude 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."
Related MCP server: MCP Spectral
Tools
Tool | What it does |
| Structured summary of the app definition |
| Review-readiness report: errors / warnings / info, each anchored to a component path |
| Ready-to-run bundle mocks (typed |
| Runs the project's own |
What the linter checks
Missing
operation.sampleon visible actions — required for public apps, and the single most common review bounceDynamic dropdowns (
"trigger_key.id.label") referencing triggers that don't existMissing
display.label/display.description/noun; unlabeled input fieldsDefinition
versionvspackage.jsonversion mismatch;platformVersionvs thezapier-platform-coredependencyAuth 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-cliis 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 stdioArchitecture: 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
Available Tools
4 toolsgenerate_test_fixturesGenerate test fixturesA
Ready-to-run test scaffolds for the integration: a bundle mock (authData from the auth fields, typed inputData from each component's input fields) plus a zapier-platform appTester test skeleton per trigger/create/search. Optionally target one component.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Path to a zapier-platform-cli integration project directory | |
| component | No | Limit to one component, e.g. 'triggers.new_message' or 'new_message' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose side effects. It describes the output content in detail but fails to clarify whether the tool writes files to the given path or returns the scaffolds as a response. This ambiguity about filesystem modification is a significant omission.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single information-dense sentence with no filler. It could be slightly better structured to separate the two main outputs, but overall it is concise and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a generation tool with no annotations or output schema, the description should state whether it modifies the target directory, what happens to existing files, and any prerequisites. It only describes the product, not the process, leaving critical operational details unknown.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds value beyond the schema by explaining how the path is used to derive authData from auth fields and inputData from component input fields, and how the component parameter scopes the generation. This contextualizes the parameters more deeply than the schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly defines the tool's output: 'Ready-to-run test scaffolds' with specific components (bundle mock, appTester test skeleton). It distinguishes from sibling tools (inspect, lint, validate) which are analytical, not generative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the purpose but not explicitly stated. The 'Optionally target one component' hint gives some scoping guidance, but there are no explicit alternatives or when-not-to-use conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
inspect_integrationInspect a Zapier integrationA
Structured summary of a zapier-platform-cli project: triggers, creates, searches, authentication, platform version, request hooks. Note: this evaluates the project's own entry module (exactly as the Zapier CLI does).
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Path to a zapier-platform-cli integration project directory |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the burden of behavioral disclosure. It does disclose that the tool evaluates the project's own entry module 'exactly as the Zapier CLI does', which is a useful behavioral trait. However, it does not explicitly state whether any modification occurs (though 'inspect' implies read-only), nor does it mention potential errors or dependencies.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: one sentence for the main purpose and a second clarifying note. Both are front-loaded and every word serves a purpose, making it easy for an agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is no output schema, the description appropriately lists the key components of the summary, giving the agent a good idea of the return value. The note about the entry module provides important execution context. It is complete enough for a simple single-parameter inspect tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already provides a description for the single `path` parameter, giving 100% schema coverage. The tool description adds no further semantic detail about the parameter, so it provides no value beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states what the tool does: 'Structured summary of a zapier-platform-cli project' and lists the specific components it covers (triggers, creates, searches, authentication, platform version, request hooks). This distinctively separates it from siblings like lint or validate, which have differing objectives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The purpose is clear enough to imply when to use it (when you need an overview of a project's structure), but there is no explicit mention of when not to use it or how it compares to alternative sibling tools. The note about evaluating the entry module adds some context but no direct usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lint_integrationLint for review readinessA
Checks a Zapier integration against common app-review blockers: missing sample data, unlabeled input fields, missing descriptions/nouns, dynamic dropdowns referencing nonexistent triggers, version mismatches. Complements (does not replace) zapier validate.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Path to a zapier-platform-cli integration project directory |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It lists specific checks performed, giving a clear behavioral picture. However, it doesn't disclose whether the operation is read-only or what the output format is, so it's not a perfect 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences deliver the core purpose, specific checks, and relationship to validation. No wasted words, and the first sentence is front-loaded with an action verb and resource.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given low complexity (one parameter) and no output schema, the description covers purpose, checks, and relationship to validate. Minor gap: it doesn't mention the expected output or return format, so a small part of the behavior is unspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the parameter is fully documented by the schema. The description adds no additional parameter-specific meaning, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool 'Checks a Zapier integration against common app-review blockers' with specific examples (e.g., missing sample data, unlabeled input fields, version mismatches), and distinguishes it from `zapier validate` by noting it complements rather than replaces, differentiating it from the sibling validate_integration.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says when to use (check for review blockers) and provides an exclusion ('Complements (does not replace) `zapier validate`'), giving clear guidance on when not to rely on it as a substitute for validation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_integrationRun zapier validateA
Runs the project's own zapier validate (schema + style checks) via npx. Requires zapier-platform-cli in the project or globally; returns install guidance if missing.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Path to a zapier-platform-cli integration project directory |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the burden. It discloses the execution method (npx), the dependency requirement, and the error behavior (install guidance if CLI missing). This is good, but it does not describe the output or behavior on validation success/failure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the action verb. No wasted words; every sentence adds value (what, how, prerequisite/error behavior).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool with no output schema, the description adequately covers the core purpose, execution method, and a key prerequisite/failure mode. It could mention expected output, but is sufficient for selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already describes the single parameter (path to the integration project directory) at 100% coverage. The description does not add further parameter semantics, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it runs the project's `zapier validate` command and specifies the checks (schema + style). This distinguishes it from sibling tools like inspect_integration and lint_integration, which imply different operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for validating a Zapier integration project via zapier validate, and gives a prerequisite (requires CLI, returns guidance if missing). However, it does not explicitly state when to use this over lint_integration or other alternatives, nor when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
4 tool updates
v0.2.0- First observed
generate_test_fixtures - First observed
inspect_integration - First observed
lint_integration - First observed
validate_integration
TDQS
Each tool has a clear primary purpose: generating fixtures, inspecting, linting, and validating. However, lint_integration and validate_integration are both quality checks, and an agent might need to read descriptions carefully to pick the right one.
All tool names follow a consistent verb_noun pattern in snake_case: generate_test_fixtures, inspect_integration, lint_integration, validate_integration. The verbs clearly indicate actions and nouns uniformly refer to integration artifacts.
Four tools is a well-scoped set for a Zapier development helper. Each tool covers a distinct phase (generate, inspect, lint, validate) without redundant utilities, fitting the recommended 3-15 range.
The set covers the core lifecycle for integration quality: generating test fixtures, inspecting structure, linting for blockers, and running official validation. A notable gap is the lack of a tool to execute tests or apply fixes, but the surface is reasonably complete for analysis tasks.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
MCP server for secureFlows: token-free URL builders and integration-linting tools for AI agents.
- ZapierOAuthcom.zapier
Hosted MCP server connecting AI assistants to 9,000+ apps and 40,000+ actions via Zapier.
MCP Spec Compliance MCP — audits any MCP server.json against the official Model Context Protocol
Model Context Protocol server for the Apideck Unified API. Connect any MCP-compatible agent framework to 100+ accounting systems, HRIS platforms, file storage providers, and more through one integration. More information https://www.apideck.com/mcp-server
Related MCP Servers
- AlicenseAqualityDmaintenanceMCP server that validates LLM-generated tool-call arguments, lints tool definitions, and produces retry messages for AI assistants.3721MIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server that wraps Spectral to lint OpenAPI specifications, enabling LLMs to validate and fix API definitions.1MIT
- FlicenseNot gradedqualityDmaintenanceMCP server that provides code validation rules and analysis for various stacks/frameworks, enabling automated code reviews and reporting directly from VS Code and other editors.-
- AlicenseAqualityBmaintenanceA stdio MCP server that audits other MCP servers by linting their tool schemas and calling tools with malformed inputs to produce a 0–100 conformance score and Markdown report.6MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/arose26/zapier-dev-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server