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

# MCP Tools

> A reference of every Artie operation exposed through the MCP server.

Artie exposes 48 reviewed tools through MCP.

<Info>
  Use the tool name in your MCP client. Keep human confirmation enabled for tools marked as requiring confirmation.
</Info>

<table className="mcp-tools-table">
  <thead>
    <tr><th>Resource</th><th>Tool</th><th>Description</th></tr>
  </thead>

  <tbody>
    <tr className="mcp-resource-start" data-resource="Column Hashing Salts">
      <td><strong>Column Hashing Salts</strong></td>
      <td><code>column\_hashing\_salt\_list</code></td>
      <td>Lists all column hashing salts for the authenticated company.</td>
    </tr>

    <tr>
      <td />

      <td><code>column\_hashing\_salt\_preview</code></td>
      <td>Hashes a sample string value with this salt using the same function used by Artie's pipelines (HMAC-SHA256 keyed on the salt, or SHA-256 if the salt is empty). Returns the hex-encoded hash.</td>
    </tr>

    <tr>
      <td />

      <td><code>column\_hashing\_salt\_update</code></td>
      <td>Updates the name and description of a column hashing salt.</td>
    </tr>

    <tr>
      <td />

      <td><code>column\_hashing\_salt\_delete</code></td>
      <td>Deletes a column hashing salt by UUID. <span className="mcp-tool-safety">(Requires confirmation.)</span></td>
    </tr>

    <tr className="mcp-resource-separator">
      <td colSpan="3">
        <span />
      </td>
    </tr>

    <tr className="mcp-resource-start" data-resource="Company">
      <td><strong>Company</strong></td>
      <td><code>company\_trigger\_automatic\_schema\_changes</code></td>
      <td>Enqueues automatic schema changes for all eligible running pipelines in the authenticated company. The request is accepted before reconciliation completes. <span className="mcp-tool-safety">(Requires confirmation.)</span></td>
    </tr>

    <tr className="mcp-resource-separator">
      <td colSpan="3">
        <span />
      </td>
    </tr>

    <tr className="mcp-resource-start" data-resource="Connectors">
      <td><strong>Connectors</strong></td>
      <td><code>connector\_list</code></td>
      <td>Returns all destination connectors for the authenticated company. Pass includeSourceConnectors=true to also include source connectors.</td>
    </tr>

    <tr>
      <td />

      <td><code>connector\_detail</code></td>
      <td>Retrieves the full configuration of a saved connector by uuid from connector\_list, including type, label, and sharedConfig. Sensitive fields may be masked. <span className="mcp-tool-safety">(Handles sensitive data.)</span></td>
    </tr>

    <tr>
      <td />

      <td><code>connector\_fetch\_databases</code></td>
      <td>Lists available databases on the target using a saved connector's configuration. Response metadata may include Iceberg S3 table bucket maintenance defaults.</td>
    </tr>

    <tr>
      <td />

      <td><code>connector\_fetch\_table\_detail</code></td>
      <td>Returns detailed metadata for a specific table on the saved connector. tableName is required; databaseName defaults to the connector's configured database, schemaName defaults to the connector type's default schema, and isView is optional.</td>
    </tr>

    <tr>
      <td />

      <td><code>connector\_generate\_shadow\_script</code></td>
      <td>Generates the SQL script to create shadow tables required for Oracle change data capture (CDC). Run this script on your Oracle source before starting replication.</td>
    </tr>

    <tr>
      <td />

      <td><code>connector\_fetch\_schemas</code></td>
      <td>Lists available schemas on the target using a saved connector's configuration. Pass 'databaseName' as a query parameter.</td>
    </tr>

    <tr>
      <td />

      <td><code>connector\_fetch\_tables</code></td>
      <td>Lists available tables on the target using a saved connector's configuration. databaseName defaults to the connector's configured database; schemaName defaults to the connector type's default schema (e.g. 'public' for Postgres, 'dbo' for SQL Server).</td>
    </tr>

    <tr>
      <td />

      <td><code>unsaved\_connector\_ping</code></td>
      <td>Tests network connectivity and authentication for a connector configuration before saving it. Pass type, sharedConfig, and connectionRole. Success is 204. <span className="mcp-tool-safety">(Handles sensitive data.)</span></td>
    </tr>

    <tr>
      <td />

      <td><code>connector\_create</code></td>
      <td>Creates a new source or destination connector for your Artie deployment. Configure database connections, authentication, and replication settings programmatically. <span className="mcp-tool-safety">(Handles sensitive data.)</span></td>
    </tr>

    <tr>
      <td />

      <td><code>connector\_start\_dynamo\_db\_export</code></td>
      <td>Initiates a point-in-time export from Amazon DynamoDB for the specified connector. Use this to backfill your destination with existing DynamoDB table data.</td>
    </tr>

    <tr>
      <td />

      <td><code>connector\_delete</code></td>
      <td>Permanently removes a connector and its associated configuration. This stops any active replication pipelines that depend on the connector. <span className="mcp-tool-safety">(Requires confirmation.)</span></td>
    </tr>

    <tr>
      <td />

      <td><code>connector\_drop\_postgres\_replication\_slot</code></td>
      <td>Drops a PostgreSQL replication slot that is inactive or orphaned. Use this to clean up stale replication slots that may be preventing WAL cleanup on the source. <span className="mcp-tool-safety">(Requires confirmation.)</span></td>
    </tr>

    <tr className="mcp-resource-separator">
      <td colSpan="3">
        <span />
      </td>
    </tr>

    <tr className="mcp-resource-start" data-resource="Data Catalog">
      <td><strong>Data Catalog</strong></td>
      <td><code>data\_catalog\_search</code></td>
      <td>Searches across the company's data catalog using full-text search.</td>
    </tr>

    <tr className="mcp-resource-separator">
      <td colSpan="3">
        <span />
      </td>
    </tr>

    <tr className="mcp-resource-start" data-resource="Encryption Keys">
      <td><strong>Encryption Keys</strong></td>
      <td><code>encryption\_key\_list</code></td>
      <td>Lists all encryption keys for the authenticated company.</td>
    </tr>

    <tr>
      <td />

      <td><code>encryption\_key\_update</code></td>
      <td>Updates the name and description of an encryption key.</td>
    </tr>

    <tr>
      <td />

      <td><code>encryption\_key\_delete</code></td>
      <td>Deletes an encryption key by UUID. <span className="mcp-tool-safety">(Requires confirmation.)</span></td>
    </tr>

    <tr className="mcp-resource-separator">
      <td colSpan="3">
        <span />
      </td>
    </tr>

    <tr className="mcp-resource-start" data-resource="Ingestion API Keys">
      <td><strong>Ingestion API Keys</strong></td>
      <td><code>ingestion\_api\_key\_update</code></td>
      <td>Updates an existing ingestion API key by UUID.</td>
    </tr>

    <tr>
      <td />

      <td><code>ingestion\_api\_key\_delete</code></td>
      <td>Deletes an ingestion API key by UUID. <span className="mcp-tool-safety">(Requires confirmation.)</span></td>
    </tr>

    <tr className="mcp-resource-separator">
      <td colSpan="3">
        <span />
      </td>
    </tr>

    <tr className="mcp-resource-start" data-resource="Pipelines">
      <td><strong>Pipelines</strong></td>
      <td><code>pipeline\_list</code></td>
      <td>Returns pipelines for the authenticated company, optionally filtered by environment.</td>
    </tr>

    <tr>
      <td />

      <td><code>pipeline\_detail</code></td>
      <td>Returns FullPipeline for the pipeline uuid (tables with uuid/status, destinationUUID, specificDestCfg, sourceReaderUUID). MCP clients must omit includeRelatedObjects. The Dashboard UI may pass includeRelatedObjects=true to wrap sourceReader and connectors; that body is not the documented 200 schema.</td>
    </tr>

    <tr>
      <td />

      <td><code>pipeline\_usage</code></td>
      <td>Returns table-level usage statistics for the specified pipeline within a given time range. Requires 'from' and 'to' query parameters in RFC3339 format.</td>
    </tr>

    <tr>
      <td />

      <td><code>pipeline\_create</code></td>
      <td>Creates a pipeline attached to an existing source reader (pipeline.sourceReaderUUID). The reader must have no pipeline yet, or be shared. To start a new capture from a source connector, use POST /pipelines/create-from-source.</td>
    </tr>

    <tr>
      <td />

      <td><code>pipeline\_update</code></td>
      <td>'Full replace of an existing pipeline by UUID. Omitted fields are written as zero values: missing dataPlaneName 400s, missing tables deletes every table. Clients must echo the last FullPipeline and change only the intended fields.'</td>
    </tr>

    <tr>
      <td />

      <td><code>pipeline\_detect\_schema\_changes</code></td>
      <td>Enqueues a background job that checks the pipeline's source database for new, removed, or altered tables. If the pipeline has auto-replicate or auto-history mode enabled, any newly discovered tables will be added to the pipeline automatically. An email summary is sent if changes are detected.</td>
    </tr>

    <tr>
      <td />

      <td><code>pipeline\_start</code></td>
      <td>'Starts or resumes a pipeline. Fails if the pipeline has no destination, no tables, or (Postgres/Cockroach/Oracle) a source reader with an empty database. Optional body: keepPaused, disableBackFill.'</td>
    </tr>

    <tr>
      <td />

      <td><code>pipeline\_update\_status</code></td>
      <td>Changes the status of a pipeline (e.g. running, paused). Validates the pipeline before resuming and deploys the configuration change.</td>
    </tr>

    <tr>
      <td />

      <td><code>pipeline\_create\_from\_source</code></td>
      <td>Creates a draft pipeline and a dedicated source reader. Provide sourceConnectorUUID to use an existing source, or sourceType to create a stub source connector. Optional destinationType creates a stub destination. To attach another pipeline to the same reader, use POST /pipelines with a shared sourceReaderUUID.</td>
    </tr>

    <tr>
      <td />

      <td><code>pipeline\_delete</code></td>
      <td>Deletes a pipeline by UUID. <span className="mcp-tool-safety">(Requires confirmation.)</span></td>
    </tr>

    <tr>
      <td />

      <td><code>pipeline\_trigger\_automatic\_schema\_changes</code></td>
      <td>Enqueues automatic schema changes for one eligible pipeline. Set forceRefresh to bypass the two-hour cooldown for this execution. The request is accepted before reconciliation completes. <span className="mcp-tool-safety">(Requires confirmation.)</span></td>
    </tr>

    <tr>
      <td />

      <td><code>pipeline\_backfill\_tables</code></td>
      <td>Triggers a backfill for specified tables in the pipeline. Supports options for pre-backfill behavior (drop, truncate, or do nothing) and schema/database filtering. <span className="mcp-tool-safety">(Requires confirmation.)</span></td>
    </tr>

    <tr>
      <td />

      <td><code>pipeline\_cancel\_backfill\_tables</code></td>
      <td>Cancels backfilling for the given table UUIDs and/or history table UUIDs. <span className="mcp-tool-safety">(Requires confirmation.)</span></td>
    </tr>

    <tr className="mcp-resource-separator">
      <td colSpan="3">
        <span />
      </td>
    </tr>

    <tr className="mcp-resource-start" data-resource="PrivateLink Connections">
      <td><strong>PrivateLink Connections</strong></td>
      <td><code>private\_link\_connection\_detail</code></td>
      <td>Retrieves the details of a PrivateLink connection by UUID, including its status, VPC service name, region, DNS entry, and availability zones.</td>
    </tr>

    <tr>
      <td />

      <td><code>private\_link\_connection\_create</code></td>
      <td>Creates a new PrivateLink connection for the authenticated company.</td>
    </tr>

    <tr>
      <td />

      <td><code>private\_link\_connection\_update</code></td>
      <td>Updates an existing PrivateLink connection by UUID. The name can always be updated. The config fields (region / VPC service name / data plane / availability zones) are only mutable while the connection is under review or errored — once it is being provisioned or live they are immutable.</td>
    </tr>

    <tr>
      <td />

      <td><code>private\_link\_connection\_delete</code></td>
      <td>Permanently deletes a PrivateLink connection by UUID. This action cannot be undone and will remove the connection from your account. <span className="mcp-tool-safety">(Requires confirmation.)</span></td>
    </tr>

    <tr className="mcp-resource-separator">
      <td colSpan="3">
        <span />
      </td>
    </tr>

    <tr className="mcp-resource-start" data-resource="Source Readers">
      <td><strong>Source Readers</strong></td>
      <td><code>source\_reader\_detail</code></td>
      <td>Retrieves a source reader by UUID, including database, settings, and table configuration. Sensitive fields may be present. MCP clients should echo this payload into source\_reader\_update. <span className="mcp-tool-safety">(Handles sensitive data.)</span></td>
    </tr>

    <tr>
      <td />

      <td><code>source\_reader\_update</code></td>
      <td>Updates an existing source reader by UUID. Echo the last source\_reader\_detail payload and change only the intended fields; omitting name, database, or connectorUUID overwrites them with empty values. <span className="mcp-tool-safety">(Handles sensitive data.)</span></td>
    </tr>

    <tr>
      <td />

      <td><code>source\_reader\_deploy</code></td>
      <td>Deploys a shared source reader to the data plane. The source reader must be shared and pass validation before it can be deployed.</td>
    </tr>

    <tr>
      <td />

      <td><code>source\_reader\_delete</code></td>
      <td>Permanently deletes a source reader by UUID. The source reader must not be associated with any active pipelines before deletion. <span className="mcp-tool-safety">(Requires confirmation.)</span></td>
    </tr>

    <tr className="mcp-resource-separator">
      <td colSpan="3">
        <span />
      </td>
    </tr>

    <tr className="mcp-resource-start" data-resource="SSH Tunnels">
      <td><strong>SSH Tunnels</strong></td>
      <td><code>ssh\_tunnel\_detail</code></td>
      <td>Retrieves the details of an SSH tunnel by UUID, including its host, port, username, public key, and whether it is currently in use.</td>
    </tr>

    <tr>
      <td />

      <td><code>ssh\_tunnel\_create</code></td>
      <td>Creates a new SSH tunnel for the authenticated company.</td>
    </tr>

    <tr>
      <td />

      <td><code>ssh\_tunnel\_update</code></td>
      <td>Updates an existing SSH tunnel by UUID. You can modify the name, host, port, and username. Changes will mark associated pipelines as having undeployed changes.</td>
    </tr>

    <tr>
      <td />

      <td><code>ssh\_tunnel\_delete</code></td>
      <td>Permanently deletes an SSH tunnel by UUID. The tunnel must not be in use by any connectors or pipelines before it can be deleted. <span className="mcp-tool-safety">(Requires confirmation.)</span></td>
    </tr>
  </tbody>
</table>
