tapstateDocs
Get started

Product overview

Build and maintain live operational state.

Tapstate is an open-source unified operational data engine in preview. It builds and maintains live operational state—an Operational State Layer—for applications, APIs, automation, and AI agents. The Quickstart assembles MySQL orders and PostgreSQL shipments into a MongoDB document, then keeps it current with CDC.

Capture · Transform · Serve

  1. CaptureLoad existing data, then follow committed changes.01
  2. TransformFilter, map, script, and merge data as it moves.02
  3. ServeWrite current state to a downstream system.03

Why operational data becomes difficult

Keeping operational data fresh usually means assembling and operating separate CDC, broker, stream-processing, and serving systems:

The assembled stack

Separate tools and operating boundaries

Source systemsCaptureBrokerProcessingServing storeApps, automation & agents

The tapstate target path

Target Capture–Transform–Serve operating model

Source systems
tapstateCaptureTransformServe
Apps, automation & agents

Each tool can be the right choice on its own. The operational cost comes from making the tools behave as one system: coordinating offsets, retries, schemas, serialization, upgrades, and observability across every boundary.

Composable streaming stacks remain the right choice when a workload requires a highly customized event topology. Tapstate's target model focuses on teams whose main requirement is to keep operational state current through one deployable data path. See Tapstate vs. a streaming stack for the tradeoffs.

How tapstate works

Capture, Transform, and Serve are three responsibilities in the same operational data path. They let you move from source changes to application-ready state without operating a separate product at every stage.

Capture — load existing data, then follow changes

Capture loads an initial data set and, when the connector supports it, follows committed changes from database logs or later updates from streams, APIs, and files. Each connector guide describes the available capture modes and the preparation required by the source system.

Transform — shape data incrementally as it moves

The current preview filters, maps, runs scripted transforms, merges streams, and uses nest to maintain documents assembled from related tables. join combines a fact stream with dimensions using a restricted SQL subset. See Transform reference for its input and key requirements.

Serve — deliver current state

The current release includes serve.sync writes to a target connector. The v1 declaration model also contains serve.query and serve.push, but the current preview does not execute them. The CLI, REST API, and MCP provide bounded inspection instead of a stable application-facing data API.

Current preview boundary

Tapstate v0.6 runs as a single member by default and offers opt-in cluster operation. It stores recovery positions and durable operator state in MongoDB; recovery can replay records and does not provide exactly-once delivery.

Use the web application for the default interactive path. The Quickstart captures MySQL orders and PostgreSQL shipments and assembles them into current order documents. CLI, REST, and MCP support developers and automation. See Architecture and the v0.6 limits before choosing a deployment.

When to use tapstate

Use tapstate when applications, APIs, automation, or AI agents depend on operational data that loses value when it becomes stale. Common examples include inventory availability, logistics tracking, fraud and risk signals, cross-system customer or account views, and AI agents that need current system-of-record data. See Use cases for detailed patterns.

How to use these docs

The documentation follows the same path you use to build a data pipeline:

  • Prepare the current path. Use the connector directory to prepare MySQL, PostgreSQL, Oracle, and SQL Server capture with MongoDB materialization, and to distinguish current connectors from roadmap references.
  • Run the shortest path. Use the Quickstart with sample MySQL, PostgreSQL, and MongoDB data in Docker.
  • Explore the data model. Change both sources in the order-state demo and watch one assembled document stay current.
  • Automate when needed. Developers can use the offline walkthrough to create and validate .tap.yml resources.
  • Look up exact syntax. Use the reference for resource fields and examples.
  • Work with an AI assistant. Use llms.txt or the page-level Markdown view to provide the same canonical content to an assistant.

Next steps