Skip to content

MCP tools ​

Short answer: call tools/list on https://mcp.skippr.io/mcp for the live JSON Schema. Each tool below is when to call it, what to pass, and what not to invent. The tools describe skipprd. They do not run it.

Add it to your agentOverview →

Tools ​

skippr_install ​

When to call: skipprd is not on PATH yet, or the agent is about to write a pipeline.

Arguments: method (homebrew | install.sh | pip), platform (macos-arm64 | linux-x86_64).

The pip package does not add the skipprd command. Installing Skipprd accepts the EULA. Connectors download later, on first use, into ~/.skippr/runtime_plugins (or SKIPPR_RUNTIME_PLUGIN_DIR).

Docs: Install.

skippr_config ​

When to call: the agent is about to edit skippr.yml by hand, or needs merge rules for skipprd connect.

connect writes YAML. Nested flags replace the whole block. You cannot change an entry's connector kind. Secret values are ${NAME}.

Docs: skippr.yml, connect.

skippr_deploy ​

When to call: cron, a container, or a long-running sync.

skipprd sync --once for cron. Without --once, sync loops every sync_frequency_seconds (default 900). You need a durable DATA_DIR. WAL_STORAGE=s3 still needs that directory for Skippr Store. One sync process per pipeline.

Docs: WAL and buffering, Skippr Store.

skippr_connectors ​

When to call: look up a source, destination, or schema sink before skippr_connect. Do not invent a kind.

Arguments: role (data-source | data-sink | schema-sink), optional kind (hyphenated connect name: postgres, skippr-lake, file, mssql, linked-in-ads). Omit kind to list the catalog.

File is in the catalog: local JSON/CSV/Parquet source, parquet/jsonl sink.

Docs: Connector catalog, File source, File sink.

skippr_connect ​

When to call: add one pipeline entry. It returns skipprd connect argv. Run that argv on the machine that owns skippr.yml. Do not paste YAML or a Python snippet.

Required: role, kind, pipeline, name. Optional: workspace, storage_mode (local | s3), fields (connector flags, which become --flag on the CLI).

kind is the hyphenated connect name (postgres, skippr-lake, file). name must not contain .. Secret fields must be ${NAME}. Plaintext is refused.

File source fields: path, format (json|csv|xml|parquet|avro|arrow_ipc). File sink fields: output_dir, format (parquet|jsonl).

After SkipprLake, Athena Iceberg, or DuckDB, add the matching schema sink. Empty schema-sink fields copy from the paired data sink.

Docs: connect.

skippr_run ​

When to call: the next skipprd command after connect.

Arguments: command (discover | schema | metadata | sync | query | df | serve | doctor | sql-help | benchmark).

discover never writes the destination. Exit 0 / 1 / 2. --output json is one event per line for discover and sync.

Docs: CLI overview.

skippr_operate ​

When to call: doctor, logs, ALTER, or a second process that must not take the writer.

Logs: logs/skipprd.<date>.log. One sync process per pipeline. A second process may skipprd query. Do not run two syncs against the same DATA_DIR. Glue/Hive and ClickHouse fail closed for in-stream migrations.

Docs: doctor, ALTER, logging.

skippr_transforms ​

When to call: partitions, flatten, ops (filter / project / derive / rename / cast before WAL commit), or keyed aggregates.

Re-run discover after changing namespace_fields.

Docs: Transforms, materialised views.

skippr_query ​

When to call: SQL over what Skipprd has ingested.

Tables are <pipeline>.<namespace>. Iceberg destinations (SkipprLake, Athena Iceberg, DuckDB): committed Iceberg union live WAL. Other destinations: WAL only; warehouse history is in the warehouse. STREAM follows the tail. skipprd serve is Iceberg REST and Flight SQL.

Docs: query, Stream SQL.

skippr_migrate ​

When to call: author or apply migrations/*.sql next to skippr.yml.

Same id and checksum is a no-op. A changed file with the same id fails closed. Python authors the SQL; the engine never loads .py. --down only for Rename and Promote.

Docs: migrate.

skippr_wal ​

When to call: crash recovery, DATA_DIR, or why a retry did not rewind the source.

Skipprd commits the batch, then lands it. Source position advances after that commit. WAL_STORAGE is disk or s3 (environment, not a skippr.yml field). Do not set skippr.store.type to dynamodb. SkipprLake may still use a DynamoDB Iceberg catalog table.

Docs: How Skipprd works, WAL.

skippr_correctness ​

When to call: pick a destination, a CDC mode, or a landing policy.

Exactly-once class: SkipprLake, Athena Iceberg, DuckDB, Snowflake, BigQuery, Postgres, Redshift, Databricks, Synapse, MotherDuck. Overwrite-on-retry: Athena, object stores, files. At-least-once: ClickHouse, AMQP. Stdout is not retried.

CDC is the current table, including deletes. snapshot never emits deletes. Landing policies: append, merge_by_key, replace_partition, replace_table. Skipprd refuses to start if the destination cannot honour the source.

Docs: Exactly-once, CDC guarantees, How sources land, Schema.

skippr_debug ​

When to call: non-zero sync, missing table, credentials, deadletters, or a connector that did not download.

Do not rewind the source. There is no recover command. Re-run with the same DATA_DIR. Postgres: Skipprd does not use TLS.

Docs: Troubleshooting, Deadletters.

skippr_agent_setup ​

When to call: the host is not wired yet, or the agent pasted an npx command.

Arguments: host (cursor, claude-desktop, claude-code, vscode, copilot, windsurf, continue, cline, goose, zed, chatgpt, gemini-cli, amp, opencode, jetbrains, amazon-q, copilot-studio). Omit it to list them.

Docs: MCP for code agents.

skippr_docs ​

When to call: you need the skippr.io page for a topic instead of inventing behaviour.

Arguments: topic (a short string such as install, connect, wal).

Resources ​

Call resources/read with one of these URIs when you want a JSON briefing without picking a tool:

skippr://install, skippr://cli, skippr://connectors, skippr://wal, skippr://exactly-once, skippr://cdc, skippr://landing, skippr://schema, skippr://query, skippr://migrate, skippr://transforms, skippr://operate, skippr://debug, skippr://agents, skippr://docs-map.

Prompts ​

PromptUse
skippr_first_pipelinePublic bike-hire sample, discover, sync --once, count rows
skippr_postgres_to_icebergPostgres into SkipprLake, no TLS, paired schema sink
skippr_debug_failed_syncNon-zero sync, same DATA_DIR, do not rewind the source
skippr_author_migrationmigrations/*.sql, in-stream ALTER
skippr_choose_destination_semanticsWrite policy vs destination guarantee

Next ​