---
last_updated: "2026-09-25T12:39:28.000Z"
title: "Run scheduled Copy Pipes on on-demand compute"
excerpt: "On-demand compute for scheduled Copy Pipes, a single MCP tool for calling Endpoints, job-based remote file imports, and clearer deployment and query errors."
date: "2026-09-25"
---

# Run scheduled Copy Pipes on on-demand compute

Paid Workspaces can now run scheduled Copy Pipes on isolated on-demand compute. Add `ON_DEMAND_COMPUTE true` to the Copy node in your datafile:

```sql
NODE copy_sales
SQL >
    SELECT * FROM sales

TYPE COPY
TARGET_DATASOURCE sales_copy
COPY_MODE append
COPY_SCHEDULE 0 * * * *
ON_DEMAND_COMPUTE true
```

Scheduled executions then use on-demand workers instead of your Workspace compute.

Manual runs still require `tb copy run <copy_pipe_name> --on-demand-compute` in Forward or `tb pipe copy run <copy_pipe_name> --on-demand-compute` in Classic. Update to Forward CLI 4.6.20 or Classic CLI 6.5.7 to configure scheduled runs from a datafile. Read [On-demand compute for scheduled Copy Pipes](https://www.tinybird.co/blog/on-demand-compute-for-copy-jobs) for use cases, tradeoffs, and a complete example. See [on-demand compute for Copy Pipes](/forward/core-concepts/copy-pipes#on-demand-compute-for-copy-jobs) and [on-demand CPU pricing](/forward/pricing#on-demand-cpus) for reference.

## Tinybird MCP uses one tool for all Pipe Endpoints

Tinybird MCP now exposes a single `call_endpoint` tool instead of generating one tool for every published Pipe Endpoint. Agents can use `list_endpoints` to discover an Endpoint, then pass its name and parameters to `call_endpoint`. This keeps the MCP tool list small even when a Workspace publishes hundreds of Endpoints.

This replaces the generated per-Endpoint tools. Update prompts or clients that call those tools by name to use `call_endpoint`. The deprecated `explore_data` tool now returns migration guidance instead of running its previous multi-step agent. Use `list_datasources`, `list_service_datasources`, and `execute_query` for data exploration.

## Remote file imports use the v1 jobs API

Appending or replacing Data Source rows from a remote CSV, NDJSON, or Parquet URL now uses the v1 import jobs API by default in the UI and CLI. Existing `tb datasource append` and `tb datasource replace` commands keep the same interface. Forward CLI 4.6.19 and Classic CLI 6.5.7 include the change.

## More metrics for dedicated clusters

The `/v0/metrics` API and `organization.metrics_logs` Service Data Source now expose additional metrics for replication health, queues and lag, MergeTree storage and part counts, background work, connections, caches, and disk space. The Service Data Source description now explains how to filter and aggregate the metrics, and includes `organization_id` in its schema.

## Improvements and bug fixes

- [Forward]: Deployments can skip unnecessary backfills when changes to Null engine landing Data Sources don't require rebuilding downstream data.
- [Forward]: Re-running a failed Pipe query now clears the previous error and shows a loading state while the new query runs.
- [Forward]: Selecting text in a time-series legend no longer toggles the series when you release the mouse.
- [All]: Import jobs now run on a worker pool that scales automatically with demand, so imports queue less and finish faster during load spikes. No configuration changes are required.
- [All]: Missing-resource errors now name the Pipe that references the missing Data Source or table.
- [All]: SQL template parameters named `type` or `dir` no longer fail validation.
- [API]: Deployments containing an unsupported file type now return an HTTP 422 validation error instead of HTTP 500.
