> For the complete documentation index, see [llms.txt](https://docs.pipekit.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.pipekit.io/ai/tool-inventory.md).

# Tool Inventory

The Pipekit MCP server registers 19 tools. Each tool is annotated with the standard MCP `readOnlyHint` and `destructiveHint` so compatible LLM clients (Claude Desktop, Cursor, Claude Code) can render appropriate warnings or apply approval policies.

The annotation rules are:

* **Read-only tools** (`list_*`, `get_*`, `version`) carry `readOnlyHint: true`. Safe by definition.
* **Additive tools** that only create new resources (`submit_workflow`, `restart_run`, `create_cron`, `trigger_cron`, `import_workflows`) carry `destructiveHint: false`. They do change state, but they don't overwrite or delete existing resources.
* **Mutating or deleting tools** carry `destructiveHint: true`. Clients that honor MCP annotations prompt before calling these.

## MCP tools

| Tool                | Hints                             | Purpose                                                               |
| ------------------- | --------------------------------- | --------------------------------------------------------------------- |
| `version`           | readOnly                          | Return the CLI / server version.                                      |
| `list_clusters`     | readOnly                          | List Clusters in the current Organization.                            |
| `list_pipes`        | readOnly                          | List Pipes on a Cluster (paginated, filterable).                      |
| `list_runs`         | readOnly                          | List Runs (paginated, filter by Pipe / status / cluster / namespace). |
| `get_run`           | readOnly                          | Fetch one Run by UUID or by `(cluster, namespace, workflow name)`.    |
| `get_workflow_node` | readOnly                          | Fetch one node inside a Run's workflow graph.                         |
| `get_run_logs`      | readOnly                          | Fetch a snapshot of container logs for a Run, with grep/head/tail.    |
| `submit_workflow`   | destructiveHint: false (additive) | Submit a Workflow YAML to a Cluster.                                  |
| `restart_run`       | destructiveHint: false (additive) | Resubmit a Run with the same parameters.                              |
| `stop_run`          | destructiveHint: true             | Gracefully stop a Run (exit handlers complete).                       |
| `terminate_run`     | destructiveHint: true             | Terminate a Run immediately (no exit handlers).                       |
| `update_cluster`    | destructiveHint: true             | Update a Cluster's name, description, or status.                      |
| `create_cron`       | destructiveHint: false (additive) | Create a CronWorkflow on a Cluster.                                   |
| `update_cron`       | destructiveHint: true             | Update an existing CronWorkflow.                                      |
| `delete_cron`       | destructiveHint: true             | Delete a CronWorkflow.                                                |
| `suspend_cron`      | destructiveHint: true             | Suspend a CronWorkflow (stops scheduling new Runs).                   |
| `resume_cron`       | destructiveHint: true             | Resume a suspended CronWorkflow.                                      |
| `trigger_cron`      | destructiveHint: false (additive) | Run a CronWorkflow immediately, regardless of schedule.               |
| `import_workflows`  | destructiveHint: false (additive) | Import workflows from an Argo Workflow Archive into Pipekit.          |

The live source of truth is the registry at [`tools/cli/cmd/mcp/tools/registry.go`](https://github.com/pipekit/pipeline-mono/blob/master/tools/cli/cmd/mcp/tools/registry.go). For the parameter schema of each tool, ask your MCP client to introspect the server (every MCP client has a way to list tools and their input schemas).

## MCP resources

In addition to tools, the server publishes a library of read-only resources the agent can list and fetch on demand:

* **Argo workflow schemas**: the `Workflow` and `CronWorkflow` JSON schemas.
* **Workflow examples**: small reference workflows the agent can crib from.
* **Pipekit how-to guides**: `pipekit://guides/{debugging-a-failed-run,workflow-authoring,parameters-and-artifacts,template-types,submitting-workflows,importing-workflows,cron-workflows,identifiers,offline-lint-templateref-footgun}`.

The guides are shipped with the CLI binary, not fetched from the network, so they're available even when the agent is offline relative to <https://pipekit.io>.
