connect_sourceLABSCO SUMMARY
The alternative is one server per source, and those can't talk to each other.
Running a Postgres server and a CSV server side by side works fine until the question spans both, at which point the agent has to fetch each side and join by hand. Embedding DuckDB makes that a single SQL statement — and --read-only defaulting to on means the agent gets the reach without the ability to write anything back.
What it is
One server for several data sources, with DuckDB running inside the process. That is what makes cross-source joins possible: a CSV file, a PostgreSQL table and a REST endpoint can all appear in the same SELECT, and the query runs locally rather than going out to a query service.
What you get
- Sources:
connect_sourceandlist_sources - Schema:
list_tablesandget_schema, with column names and types inferred from CSV headers and Postgres metadata - Data:
queryruns SQL across everything connected;transformreshapes the result - Health:
check_healthretests a source after startup - Types are normalised across sources to one set — string, integer, number, datetime, boolean, json, unknown — so a join doesn't fall over on a type mismatch
- REST responses are cached with a time-to-live you control
Requirements
Node.js v20.19 or newer, and npm; a running PostgreSQL instance only if you use the Postgres connector. Add it to your client as npx -y mcp-data-pipeline-connector@latest. Define sources in ~/.mcp/data-sources.yaml, each with a name and type, and keep connection strings in environment variables referenced from the YAML rather than written into it. Flags: --config points at a different YAML, --rest-cache-ttl sets the REST cache in seconds (default 300, 0 disables), --max-rows caps a single query result (default 1000), and --read-only rejects anything that is not a SELECT — it is on by default.
Setup effort
One command — npx -y mcp-data-pipeline-connector@latest
USE CASES
Answering a question that spans two systems
Join the spreadsheet against the database table in one query instead of exporting both.
Letting an agent explore data it has never seen
List the tables and read their schemas before writing any SQL.
Pulling an API response into an analysis
Register the endpoint as a source and query it like a table, with responses cached.
Keeping an agent from writing to production
Leave read-only on, so anything that is not a SELECT is rejected.
Working out why a source went quiet
Retest it rather than restarting the server.
7 tools
Listed in project docs. Your client may show a different list.
list_sourceslist_tablesget_schemaquerytransformcheck_healthBEFORE YOU INSTALL
What to know first
Tools you get
7 tools named in the project's documentation.
Requires
- npx on PATH
- Node.js v20.19 or later
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
Server setup
npx -y mcp-data-pipeline-connector@latestMCP Clients
Any MCP client
{
"mcpServers": {
"data-connector": {
"command": "npx",
"args": [
"-y",
"mcp-data-pipeline-connector@latest"
]
}
}
}