Skip to content

Add DBConvert Streams (Federated SQL) - #4847

Open
slotix wants to merge 1 commit into
docker:mainfrom
slotix:add-dbconvert-streams
Open

Add DBConvert Streams (Federated SQL)#4847
slotix wants to merge 1 commit into
docker:mainfrom
slotix:add-dbconvert-streams

Conversation

@slotix

@slotix slotix commented Aug 30, 2026

Copy link
Copy Markdown

What this adds

dbconvert-streams — a read-only MCP server for PostgreSQL, MySQL, S3-compatible
buckets and folders of Parquet / CSV / JSON files. Its distinguishing feature is
that one query can join across those sources: a live PostgreSQL table against
a Parquet file in a bucket, or a CSV against the table it was exported from, with
no copying and no staging step. Federation runs in-process on DuckDB.

21 tools, all of them reads. There is no tool that writes — not disabled, absent
— and every tool carries readOnlyHint, with destructiveHint: false and
openWorldHint: true stated explicitly.

About the image

The image is our own (slotix/stream-mcp) rather than one built from source in
this PR: the server is proprietary software, distributed as a binary. It carries
LABEL io.modelcontextprotocol.server.name="com.dbconvert/streams", and the same
build is published in the official MCP registry as com.dbconvert/streams, where
the DNS-verified dbconvert.com domain vouches for it.

source.project points at our public repository, which holds the documentation,
examples and release artifacts for the product; the server binary itself is not
open source. If a Dockerfile in a public repository is a hard requirement, tell
us and we will find another shape.

Configuration

  • connections — connection strings, repeated. postgres://…, mysql://… or
    s3://bucket/prefix?region=…, each optionally prefixed with name= to choose
    what the source is called in chat.
  • paths — folders of data files, mounted and passed to the server, following
    the pattern used by filesystem.
  • AWS_ACCESS_KEY_ID / AWS_SECRET_ACCESS_KEY — needed only for S3-compatible
    storage that is not AWS (MinIO, R2, Spaces). Keys are never read from the URL.

Verification

  • task validate -- --name dbconvert-streams passes every check.
  • task catalog -- dbconvert-streams generates the catalog entry.
  • The tool list in tools.json was captured from the running container with the
    MCP inspector, not written by hand.
  • End to end against live databases: docker run -i --rm slotix/stream-mcp "pagila=postgres://…" "sakila=mysql://…" "lake=s3://…" /data lists all four
    sources and answers a federated join across them.

Docs: https://streams.dbconvert.com/docs/mcp/standalone

A read-only MCP server for PostgreSQL, MySQL, S3 buckets and local data
files, where one query can join across all of them.

The image is published by us rather than built from source: the server is
proprietary, and the same build is listed in the official MCP registry as
com.dbconvert/streams, carrying the io.modelcontextprotocol.server.name label.
@slotix
slotix requested a review from a team as a code owner August 30, 2026 20:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant