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

# Limits and side effects

> What each MCP tool changes, what it costs, and how many runs an AI assistant can have in progress at once.

## What each tool changes

| Tool | Changes anything? | Uses credits? |
| - | - | - |
| `list_*`, `get_*`, `get_run_status`, `list_recent_runs`, workflow resources | No. Read-only. | No |
| `skill_<slug>`, `invoke_skill` | Adds a run. Visits websites in a browser. Can sign in with the skill's saved login if you granted `logins:use`. | Yes |
| `workflow_<slug>`, `invoke_workflow` | Adds a workflow run. Runs the workflow's own steps, which can write rows to connected sheets or send HTTP requests. | Yes |
| `cancel_run` | Stops a run you started, and what a workflow run is running inside. Rows already produced are kept. Credits already used stay charged. | No |
| `create_skill` | Creates a skill in a cloud browser and adds it to your account as private. If its check run does not pass, it is kept as a draft to fix with `improve_skill`. | Yes |
| `improve_skill` | Adds a new version. Old versions are kept. A version that does not test better is kept as a candidate, not made live. | Yes |
| `update_skill` | Changes the skill's settings, inputs, or output fields. A change to its steps becomes a new version; old versions stay restorable. | No |
| `update_workflow` | Changes the workflow. The state before is kept as a version you can restore in the app. | No |
| `create_workflow` | Adds a workflow. Does not run it. | No |
| `delete_skill` | Deletes a skill you own and stops its schedule. Its runs stay in history. Refused while a workflow uses it, unless `force` is true. | No |
| `delete_workflow` | Deletes a workflow you own and stops its schedule. Its runs stay in history. | No |
| `schedule_skill`, `schedule_workflow`, `update_schedule` | Adds or changes a schedule. Each scheduled run then spends the owner's credits. | Not by itself |
| `delete_schedule` | Turns a schedule off and forgets its settings. | No |
| `save_knowledge` | Saves a fact. Overwrites the fact with the same `key`. | No |

No tool deletes saved logins, and no tool reads or saves a password. No tool deletes runs: deleting a skill or a workflow keeps its runs.

If the account does not have enough credits, a run, `create_skill`, or `improve_skill` does not start, nothing is charged, and the tool says: "Not enough credits on this account to run this."

## Runs in progress

Assistant calls are limited by how many runs can be in progress at once, per Valendata account, whether the assistant signed in with OAuth or an API key:

| What runs | In progress at once |
| - | - |
| Runs that need a cloud browser | 6 |
| Runs a skill's fast path answers without a browser | 20 |

There is also a shared limit across all accounts. When a limit is reached, the tool returns at once and says how many seconds to wait (about 30 for browser runs, 2 for fast runs). On clients that support MCP tasks, a skill run waits in a queue instead, for up to one hour. A run that never starts is not charged.

The per-minute request limit for API keys is on [Errors and limits](/api-reference/errors#limits).

## Human checks

Runs started from an AI assistant do not pass a site's human check (a captcha or "verify you are human" page). When a site asks for one, the run stops with `needs_user.kind = "captcha"` and the message "This site asked for a human check. Open the run in Valendata to continue." That run is not charged. Runs you start in the app are not affected.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.