> ## Documentation Index
> Fetch the complete documentation index at: https://docs.zapier.com/llms.txt
> Use this file to discover all available pages before exploring further.

# How Zapier MCP tools work

> How Zapier MCP discovers and manages tools: dynamic tool discovery via meta-tools, auto-provisioning, and skills.

Most Zapier MCP servers use dynamic tool discovery. Your agent discovers and enables tools during conversation, with no manual setup required.

## Dynamic tool discovery

In the default mode, your AI agent manages its own toolset. When you connect via OAuth, Zapier auto-provisions tools from your existing connected apps. From there, your agent can:

* Search for available apps and actions using `discover_zapier_actions`.
* Enable a specific action using `enable_zapier_action`.
* Run read actions (searches, lookups) using `execute_zapier_read_action`.
* Run write actions (send, create, update) using `execute_zapier_write_action`.

Your agent adapts to requests in real time. It does not need a pre-configured list of tools before it can help.

## Meta-tools

Your server exposes 14 static meta-tools across five categories. These are always available regardless of which apps you have connected.

| Tool                          | Category          | What it does                                                         |
| ----------------------------- | ----------------- | -------------------------------------------------------------------- |
| `inspect_zapier_actions`      | Action management | Lists your enabled actions with what you need to run them            |
| `discover_zapier_actions`     | Action management | Searches for apps and actions available to add                       |
| `enable_zapier_action`        | Action management | Enables a specific action as a callable tool                         |
| `disable_zapier_action`       | Action management | Removes an action you no longer need                                 |
| `auto_provision_mcp`          | Action management | Automatically provisions tools from your existing Zapier connections |
| `execute_zapier_read_action`  | Execution         | Runs a read or search action (find an email, look up a contact)      |
| `execute_zapier_write_action` | Execution         | Runs a write action (send a message, create a task, update a record) |
| `get_configuration_url`       | Configuration     | Returns the URL to your Zapier MCP configuration page                |
| `list_zapier_skills`          | Skills            | Lists your saved Zapier skills                                       |
| `get_zapier_skill`            | Skills            | Retrieves a specific skill by name                                   |
| `create_zapier_skill`         | Skills            | Creates a new skill                                                  |
| `update_zapier_skill`         | Skills            | Updates an existing skill                                            |
| `delete_zapier_skill`         | Skills            | Deletes a skill                                                      |
| `send_feedback`               | Feedback          | Sends feedback to Zapier                                             |

<Note>
  Some servers also expose a `write_code_action` meta-tool. It creates a custom code action for an app when no built-in action matches the request, and runs the generated code in a secure sandbox with authenticated API access. This tool is rolling out to more accounts over time.
</Note>

## Auto-provisioning

When you connect to Zapier MCP via OAuth, the `auto_provision_mcp` tool runs automatically. It sets up your server based on the apps you have already connected in your Zapier account.

<Note>
  Auto-provisioning covers your own Zapier connections only. Apps or connections shared with you by another Zapier user are not included.
</Note>

After auto-provisioning completes, your agent can immediately start working with those apps. You can expand coverage at any time by asking your agent to search for and enable additional actions.

If your Zapier account has no connected apps, auto-provisioning has nothing to pre-enable and your server starts empty. Your agent still works: it finds an action with `discover_zapier_actions`, enables it with `enable_zapier_action`, and prompts you to connect the app the first time it needs one.

Every tool call runs through your existing Zapier app connections, so each one is recorded in the <img src="https://cdn.zapier.com/storage/photos/8aeb328e01a50022821101e080183443.png" alt="clock icon" noZoom style={{ display: "inline-block", width: "14px", margin: "0 0.15em", verticalAlign: "baseline" }} /> **History** tab at [mcp.zapier.com](https://mcp.zapier.com) alongside the rest of your Zapier activity.

## Skills

Skills are reusable, Markdown-based workflow instructions your agent can load on demand. Zapier includes packaged skills, including an onboarding skill and example skills, to show how to build your own. With skills, you can capture complex, multi-step workflows and turn them into reusable instructions.

You can manage skills using the five skills meta-tools, or directly in the <img src="https://cdn.zapier.com/storage/photos/b2471573e500320eb18b734a46ef25fa.png" alt="sparkle icon" noZoom style={{ display: "inline-block", width: "14px", margin: "0 0.15em", verticalAlign: "baseline" }} /> **Skills** tab at [mcp.zapier.com](https://mcp.zapier.com).

## Manual configuration

Some servers use manual configuration instead of dynamic discovery. In this mode, each action is exposed as a dedicated tool and you configure tools at [mcp.zapier.com](https://mcp.zapier.com) rather than through the agent.

Manual configuration is useful when you need:

* **A fixed, predictable toolset:** your client always has the same tools available, with no dynamic discovery.
* **Tightly scoped access:** you control exactly which actions are available, with no ability for the agent to enable new ones.
* **Pre-configured field values:** lock specific field values for each tool, useful for repeatable or automated tasks.

## Next steps

<CardGroup cols={3}>
  <Card title="Quickstart" href="/mcp/get-started/quickstart">
    Connect via OAuth, auto-provision tools, and run your first tool call end to end.
  </Card>

  <Card title="Tool bundles" href="/mcp/get-started/tool-bundles">
    Share your tool configuration with other users.
  </Card>
</CardGroup>
