{
  "markdown": "# <img src=\"assets/images/dbconvert-stream-logo.svg\" width=\"38\" alt=\"DBConvert Streams logo\" align=\"top\"> DBConvert Streams\n\nDatabase IDE + migration + real-time CDC — in one workflow.\n\nQuery data,<br>\nmove it,<br>\nkeep it in sync,<br>\nand let your AI assistant see it all\n\nwithout switching between tools.\n\nIf this looks useful, consider giving it a ⭐\n\n---\n\n### Why this exists\n\nMost setups look like this:\n\n- a DB client for queries\n- scripts or tools for migration\n- a separate CDC pipeline\n\nIt works, but it's fragmented.\n\nDBConvert Streams combines these into one workspace.\n\n---\n\n### What it feels like\n\nThink of it as:\n\nDBeaver / DataGrip<br>\n+ migration tool<br>\n+ CDC\n\nbut without switching tools every time\n\n---\n\n### Example\n\nRun queries across databases and files:\n\n```sql\nSELECT *\nFROM read_parquet('orders.parquet') o\nJOIN postgres.public.customers c\n  ON o.customer_id = c.id\nLIMIT 10;\n```\n\nThen use the same query as a data source — and stream it anywhere.\n\n---\n\n### What you can do\n\n- explore databases, files, and S3\n- run SQL across multiple sources\n- move data between systems\n- keep it in sync with CDC\n- connect Claude, Cursor, or Copilot — the AI reads your live schemas, data, and streams (read-only, via MCP)\n\nAll in the same workflow.\n\n> **Note:** This is the public home of DBConvert Streams — example configurations, documentation, issue tracking, and release notes. The product itself is proprietary.\n\n## Quick Start\n\nRuns anywhere — your laptop, a VPS, or your own infra. No cloud dependency, no vendor lock-in.\n\n### Desktop App\n\n[Download](https://streams.dbconvert.com/install) for Windows, macOS, or Linux — no account required.\n\n### AI client extension\n\nGrab `dbconvert-streams-<version>.mcpb` from [Releases](https://github.com/slotix/dbconvert-streams-public/releases) and drop it into **Claude → Settings → Extensions**. It asks for connection strings and folders, and nothing else has to be installed — no DBConvert Streams, no toolchain, no server to run.\n\n```\npostgres://user:password@host:5432/dbname\nmysql://user:password@host:3306/dbname\ns3://bucket/folder?region=us-east-1\n```\n\nSeveral sources go in the one field, separated by spaces — `shop=postgres://…  orders=mysql://…` — and a single question can join across all of them.\n\nAdd folders of Parquet, CSV or JSON files with the folder picker. Every source becomes read-only tools in your chat, and one question can span several of them at once.\n\nOne file covers Windows and Linux — the bundle carries a binary for each and picks the right one. macOS is planned for a later release.\n\n**Not a Claude user?** The same server runs as a container, and every MCP client\nthat can launch one can use it:\n\n```bash\ndocker run -i --rm slotix/stream-mcp \"shop=postgres://user:password@host:5432/shop\"\n```\n\nCursor and VS Code can set that up in one click — [Add to Cursor](cursor://anysphere.cursor-deeplink/mcp/install?name=dbconvert-streams&config=eyJjb21tYW5kIjoiZG9ja2VyIiwiYXJncyI6WyJydW4iLCItaSIsIi0tcm0iLCItZSIsIkRCQ09OVkVSVF9NQ1BfU09VUkNFUyIsInNsb3RpeC9zdHJlYW0tbWNwIl0sImVudiI6eyJEQkNPTlZFUlRfTUNQX1NPVVJDRVMiOiJwb3N0Z3JlczovL3VzZXI6cGFzc3dvcmRAaG9zdDo1NDMyL2RibmFtZSJ9fQ==) · [Add to VS Code](vscode:mcp/install?%7B%22name%22%3A%22dbconvert-streams%22%2C%22command%22%3A%22docker%22%2C%22args%22%3A%5B%22run%22%2C%22-i%22%2C%22--rm%22%2C%22-e%22%2C%22DBCONVERT_MCP_SOURCES%22%2C%22slotix/stream-mcp%22%5D%2C%22env%22%3A%7B%22DBCONVERT_MCP_SOURCES%22%3A%22%24%7Binput%3Adbconvert_sources%7D%22%7D%2C%22inputs%22%3A%5B%7B%22type%22%3A%22promptString%22%2C%22id%22%3A%22dbconvert_sources%22%2C%22description%22%3A%22Connection%20strings%2C%20separated%20by%20spaces%3A%20postgres%3A//user%3Apass%40host%3A5432/db%2C%20s3%3A//bucket/path%2C%20or%20a%20folder%22%7D%5D%7D) — VS Code asks for the connection string as you install it; in Cursor you replace the sample one. Folders, S3 keys and the rest: [standalone server](https://streams.dbconvert.com/docs/mcp/standalone).\n\nThe bundled server is proprietary software, distributed under the DBConvert Streams licence. The MIT licence in this repository covers the examples, docs and assets here, not that binary.\n\n### Self-Hosted (Docker)\n\nDeploy on any machine with Docker — a local server, a VPS (DigitalOcean, Hetzner, AWS EC2, etc.), or your own infrastructure:\n\n```bash\ncurl -fsSL https://dbconvert.nyc3.digitaloceanspaces.com/downloads/streams/latest/docker-install.sh | sh\n```\n\n## What is DBConvert Streams?\n\n[DBConvert Streams](https://streams.dbconvert.com) is a database IDE with built-in migration and real-time CDC.\n\nBrowse databases, local files, and S3 storage. Edit data directly. Run federated SQL queries that join tables across different database engines — no intermediate exports needed.\n\n## Key Features\n\nIn practice, it comes down to this:\n\n### Database IDE & Workspace (Free)\n- **Data Explorer** — Browse databases, files, and S3 in one place\n- **ER Diagrams** — Visualize database relationships\n- **Schema Comparison** — Compare schemas and data across databases\n- **Schema Navigation** — Persistent state and search across connections\n\n### Federated SQL\n- Execute SQL queries across multiple databases and file sources simultaneously\n- Join live PostgreSQL and MySQL tables using connection aliases\n- Query CSV, JSON, Parquet files and S3 storage alongside databases\n\n### Built-in AI Chat — new in 2.5.0\n\nAsk about the database work already open in the **desktop app**: a table, view,\nfile, SQL console, connection, or migration/CDC stream. AI Chat starts with that\nlive workspace context, so it can inspect schemas and data, explain or repair a\nfailed query, and diagnose stream status without asking you to paste DDL into a\nseparate chat.\n\nUse your own installed agent CLI — Claude Code, Codex, GitHub Copilot CLI, or\nOpenCode. AI Chat automatically supplies the relevant scoped subset of\nDBConvert's read-only tools and shows tool activity while it works; it cannot\nchange connections, configuration, streams, or data.\n\n[Docs: AI Chat →](https://streams.dbconvert.com/docs/ai-chat)\n\n### AI Assistants via MCP — new in 2.4\n- Built-in MCP server: Claude, Cursor, VS Code Copilot, Windsurf, Gemini CLI, and Codex read live schemas, data, and stream state — no more pasting DDL into chat\n- **27 read-only tools**: inspect workspace connections, schemas, tables and views; run read-only SQL and federated queries; compare schemas and samples; diagnose streams; browse files and S3\n- One-click setup from the ✨ AI Assistants panel; Docker deployments expose `/mcp` over HTTP(S)\n- Read-only by design: only `SELECT` passes the server-side filter — the AI can look and advise, never write\n\n[Docs: AI Assistants via MCP →](https://streams.dbconvert.com/docs/mcp)\n\n## Tools\n\nDBConvert Streams exposes these **27 read-only MCP tools**. The names below\nmatch the live MCP server.\n\n### Connections and schema\n\n- `dbconvert_list_connections` — list workspace connections\n- `dbconvert_get_connection` — inspect one connection\n- `dbconvert_list_databases` — list databases\n- `dbconvert_list_schemas` — list schemas\n- `dbconvert_list_tables` — list tables\n- `dbconvert_list_views` — list views\n\n### Table and view inspection\n\n- `dbconvert_describe_table` — inspect table columns and keys\n- `dbconvert_preview_table` — preview table rows\n- `dbconvert_describe_view` — inspect a view\n- `dbconvert_preview_view` — preview view rows\n\n### Read-only SQL\n\n- `dbconvert_run_select` — run a SELECT query\n- `dbconvert_explain_select` — explain a SELECT query\n\n### Schema and data comparison\n\n- `dbconvert_compare_schemas` — compare schemas\n- `dbconvert_compare_data_sample` — compare data samples\n\n### Stream diagnostics\n\n- `dbconvert_list_streams` — list streams\n- `dbconvert_get_stream` — inspect a stream\n- `dbconvert_get_stream_status` — get stream status\n- `dbconvert_get_stream_stats` — get stream throughput and statistics\n- `dbconvert_get_stream_recent_errors` — inspect recent stream errors\n- `dbconvert_get_stream_recent_logs` — inspect recent stream logs\n\n### Files and S3\n\n- `dbconvert_list_files` — list workspace files\n- `dbconvert_get_file_schema` — inspect a file schema\n- `dbconvert_preview_file` — preview file rows\n- `dbconvert_list_s3_buckets` — list S3 buckets\n- `dbconvert_list_s3_objects` — list S3 objects\n\n### Federated SQL\n\n- `dbconvert_run_federated_select` — run a read-only query across sources\n- `dbconvert_explain_federated_select` — explain a federated SELECT query\n\nOnly read-only operations are exposed: the server-side filter permits\n`SELECT`, so an AI client cannot alter connections, configuration, streams, or\ndata. For client setup, see the [MCP setup guide](https://streams.dbconvert.com/docs/mcp/setup).\n\n### Data Migration (Load Mode)\nRapidly move large datasets between databases with automatic schema conversion and validation.\n\n> **Performance:** 23 million rows (4.38 GB) migrated from MySQL to Parquet in 35.7 seconds at 136 MB/s.\n\n### Real-time CDC (Change Data Capture)\nStream `INSERT`, `UPDATE`, and `DELETE` operations from source to target in real-time with minimal latency. Supports CDC to databases, files, and S3 storage.\n\n## When this is probably not for you\n\n- you need 100+ connectors (SaaS, APIs, etc.)\n- you already run Kafka pipelines at scale\n- you need complex ETL / transformations\n\n## Screenshots\n\n### Data Explorer\nBrowse schemas, view and edit data across multiple database connections with a unified tree navigation:\n\n![DBConvert Streams Data Explorer](assets/images/sshot-data-explorer.webp)\n\n### Federated SQL\nJoin tables across MySQL, PostgreSQL, and file sources (CSV, Parquet) in a single query:\n\n![DBConvert Streams Federated SQL](assets/images/sshot-federated-sql.webp)\n\n### ER Diagrams\nVisualize database relationships with interactive entity-relationship diagrams:\n\n![DBConvert Streams ER Diagram](assets/images/sshot-er-diagram.webp)\n\n### Stream Configuration\nConfigure data migration and CDC streams with table selection, custom queries, and transfer settings:\n\n![DBConvert Streams Configuration](assets/images/sshot-configure-stream.webp)\n\n### Stream Monitoring\nTrack data streams with real-time metrics — rows, data size, transfer rates, and per-table progress:\n\n![DBConvert Streams Monitor](assets/images/sshot-stream-monitor.webp)\n\n### AI Assistants\nConnect your AI client with one click — it reads the same workspace you see, read-only:\n\n![DBConvert Streams AI Assistants panel](assets/images/sshot-ai-assistants.png)\n\n## Supported Sources & Targets\n\n### Sources\n- MySQL / MariaDB / Percona\n- PostgreSQL / CockroachDB\n- Amazon RDS, Aurora, Google Cloud SQL, Azure Database\n- Local files (CSV, JSONL, Parquet)\n- S3-compatible storage (AWS S3, MinIO, DigitalOcean Spaces, Wasabi)\n\n### Targets\n- MySQL / PostgreSQL\n- Snowflake\n- CSV / JSONL / Parquet (local files)\n- Amazon S3 / MinIO / S3-compatible storage\n- Google Cloud Storage (GCS)\n- Azure Blob Storage\n\n## Deployment Options\n\nRun it anywhere — no cloud account required, no vendor lock-in.\n\n| Method | Description |\n|--------|-------------|\n| **Desktop** | Windows, macOS, Linux — local setup, no account required |\n| **Self-hosted** | Docker / Docker Compose on any machine — local server, VPS, or your own infra |\n\n## Pricing\n\nThe Database IDE is **free forever**. For data migration and CDC streaming, see [pricing details](https://streams.dbconvert.com/pricing).\n\n## Examples\n\n> **Most people never touch the API.** The UI covers connections, table selection, federated SQL, stream configuration, and monitoring end-to-end. The `curl` examples below are for users who want to script deployments, wire DBConvert Streams into CI/CD, or drive it from another service — not a required workflow.\n\nConnections are managed separately and stream configs reference them by ID. Here are typical workflows via the API.\n\n### 1. Create connections\n\n```bash\n# Create a MySQL source connection\ncurl -X POST http://localhost:8020/api/v1/connections \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"name\": \"mysql-source\",\n    \"type\": \"mysql\",\n    \"host\": \"localhost\",\n    \"port\": 3306,\n    \"username\": \"root\",\n    \"password\": \"password\"\n  }'\n\n# Create a PostgreSQL target connection\ncurl -X POST http://localhost:8020/api/v1/connections \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"name\": \"pg-target\",\n    \"type\": \"postgresql\",\n    \"host\": \"localhost\",\n    \"port\": 5432,\n    \"username\": \"postgres\",\n    \"password\": \"password\"\n  }'\n```\n\n### 2. MySQL → PostgreSQL (load)\n\nOne-time migration with table selection:\n\n```json\n{\n  \"name\": \"mysql-to-postgres-migration\",\n  \"mode\": \"load\",\n  \"source\": {\n    \"connections\": [{\n      \"connectionId\": \"<mysql-connection-id>\",\n      \"database\": \"sakila\",\n      \"tables\": [\n        { \"name\": \"actor\" },\n        { \"name\": \"film\" },\n        { \"name\": \"customer\" }\n      ]\n    }]\n  },\n  \"target\": {\n    \"id\": \"<pg-connection-id>\",\n    \"spec\": {\n      \"db\": {\n        \"database\": \"target_db\",\n        \"schema\": \"public\",\n        \"schemaPolicy\": \"drop_and_recreate\"\n      }\n    }\n  }\n}\n```\n\n### 3. MySQL → PostgreSQL (CDC)\n\nReal-time replication capturing inserts, updates, and deletes:\n\n```json\n{\n  \"name\": \"mysql-to-postgres-cdc\",\n  \"mode\": \"cdc\",\n  \"source\": {\n    \"connections\": [{\n      \"connectionId\": \"<mysql-connection-id>\",\n      \"database\": \"sakila\",\n      \"tables\": [\n        { \"name\": \"actor\" },\n        { \"name\": \"film\" }\n      ]\n    }],\n    \"options\": {\n      \"operations\": [\"insert\", \"update\", \"delete\"]\n    }\n  },\n  \"target\": {\n    \"id\": \"<pg-connection-id>\",\n    \"spec\": {\n      \"db\": {\n        \"database\": \"target_db\",\n        \"writeMode\": \"upsert\"\n      }\n    }\n  }\n}\n```\n\n### 4. PostgreSQL → S3 Parquet (load)\n\nExport database tables to Parquet files on S3:\n\n```json\n{\n  \"name\": \"pg-to-s3-parquet\",\n  \"mode\": \"load\",\n  \"source\": {\n    \"connections\": [{\n      \"connectionId\": \"<pg-connection-id>\",\n      \"database\": \"analytics\",\n      \"tables\": [\n        { \"name\": \"orders\" },\n        { \"name\": \"customers\" }\n      ]\n    }]\n  },\n  \"target\": {\n    \"id\": \"<s3-connection-id>\",\n    \"spec\": {\n      \"s3\": {\n        \"fileFormat\": \"parquet\",\n        \"upload\": {\n          \"bucket\": \"my-data-lake\",\n          \"prefix\": \"exports/\"\n        }\n      }\n    }\n  }\n}\n```\n\n### 5. Multi-source federated query (load)\n\nJoin data from MySQL and PostgreSQL into one target:\n\n```json\n{\n  \"name\": \"federated-migration\",\n  \"mode\": \"load\",\n  \"source\": {\n    \"connections\": [\n      {\n        \"alias\": \"my1\",\n        \"connectionId\": \"<mysql-connection-id>\",\n        \"database\": \"sakila\"\n      },\n      {\n        \"alias\": \"pg1\",\n        \"connectionId\": \"<pg-connection-id>\",\n        \"database\": \"dvdrental\"\n      }\n    ]\n  },\n  \"target\": {\n    \"id\": \"<target-connection-id>\",\n    \"spec\": {\n      \"db\": { \"database\": \"warehouse\" }\n    }\n  }\n}\n```\n\n### 6. Start a stream\n\n```bash\ncurl -X POST http://localhost:8020/api/v1/stream-configs/<config-id>/start\n```\n\n### 7. Monitor progress\n\n```bash\ncurl http://localhost:8020/api/v1/streams/<stream-id>/stats\n```\n\n> See the full [API documentation](https://streams.dbconvert.com/docs/) for all endpoints and options. Standalone stream-config files live in [`examples/api/`](examples/api/), and reproducible benchmarks (including a side-by-side vs Debezium) are in [`examples/benchmarks/`](examples/benchmarks/).\n\n## Learn More\n\n- [Documentation](https://streams.dbconvert.com/docs/)\n- [What's New](https://streams.dbconvert.com/whats-new)\n\n## Feedback and Support\n\nHave questions or feedback? Use [Discussions](https://github.com/slotix/dbconvert-streams-public/discussions) or open an [Issue](https://github.com/slotix/dbconvert-streams-public/issues).\n",
  "bytes": 15598,
  "sha": "4ae4eeb8f19c3d2ecb373e82c982c6ecf402a1154e3063934bed050672f0b6f8",
  "repo_slug": "slotix/dbconvert-streams-public",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_com_dbconvert_streams_0e259019/readme"
}