MCP Data Pipeline Connector
About
Universal data connector for CSV, Postgres, and REST APIs via DuckDB
Details
- Author
- dbsectrainer
- Categories
- Database
Jump to
Setup
Install MCP Data Pipeline Connector in your MCP client (Claude Desktop, Cursor, Windsurf, and others).
Repository: https://github.com/dbsectrainer/mcp-data-pipeline-connector
Follow the installation instructions in the repository README, then restart your MCP client.
Universal data connector for CSV, Postgres, and REST APIs via DuckDB
One MCP server for all your data sources — with cross-source SQL joins and no external query service. DuckDB runs embedded in-process, so you can join a CSV file against a Postgres table against a REST API response in a single query, entirely on your machine. Agents work with your data without needing source-specific knowledge or multiple MCP server configs.
Tool reference|Configuration|Contributing|Troubleshooting
- Unified query interface: SQL across all connected sources via DuckDB — including cross-source joins.
- Multiple source types: CSV/JSON files, PostgreSQL databases, and REST API endpoints in a single server.
- Auto schema detection: Infers column names and types from CSV headers and Postgres metadata.
- REST caching: REST API responses are cached with a configurable TTL to avoid redundant calls.
- Schema normalization: Maps source-specific types to a standard set (string, number, date, boolean, json).
- In-process query engine: DuckDB runs embedded — no separate query service to install or manage.
Why this over separate per-source MCP servers?
The common alternative is running one MCP server per data source — a postgres MCP server, a CSV MCP server, a REST MCP server. Each works fine in isolation, but they can't talk to each other.
If you're asking questions that span multiple data sources — "join my sales CSV with the users table" — this is the right tool. If you only ever query one source type, a dedicated single-source server is simpler.
mcp-data-pipeline-connectorconnects to data sources you configure and executes queries against them on behalf of your agent. Ensure agents only have the database permissions they need. Connection strings are never logged or transmitted; keep them out of version-controlled config files. Use environment variables for credentials.
- Node.js v20.19 or newer.
- npm.
- Optional: A running PostgreSQL instance for the Postgres connector.
Add the following config to your MCP client:
{ "mcpServers": { "data-connector": { "command": "npx", "args": ["-y", "mcp-data-pipeline-connector@latest"] } } }
Define your data sources in~/.mcp/data-sources.yaml:
sources: - name: sales type: csv path: ~/data/sales-2025.csv - name: users type: postgres connection_string: "${POSTGRES_URL}" tables: [users, subscriptions]
Store connection strings in environment variables, not directly in the YAML file.
Amp · Claude Code · Cline · Cursor · VS Code · Windsurf · Zed
Place a CSV file at~/data/sample.csv, add it as a source in your config, then enter:
What columns are in the sample table? Show me the first 5 rows.
Your client should return the schema and a preview of the data.
Path to the YAML file defining data sources.
Type:stringDefault:~/.mcp/data-sources.yaml
Time-to-live in seconds for cached REST API responses. Set to0to disable caching.
Maximum number of rows returned by a singlequerycall. Prevents accidental large result sets.
Reject any SQL statements that are notSELECTqueries. Enforces read-only access across all sources.
Pass flags via theargsproperty in your JSON config:
{ "mcpServers": { "data-connector": { "command": "npx", "args": ["-y", "mcp-data-pipeline-connector@latest", "--max-rows=5000", "--rest-cache-ttl=60"] } } }
Before publishing a new version, verify the server with MCP Inspector to confirm all tools are exposed correctly and the protocol handshake succeeds.
npm run build && npm run inspect
# List all tools npx @modelcontextprotocol/inspector --cli node dist/index.js --method tools/list # List resources and prompts npx @modelcontextprotocol/inspector --cli node dist/index.js --method resources/list npx @modelcontextprotocol/inspector --cli node dist/index.js --method prompts/list # Call a tool (example — replace with a relevant read-only tool for this plugin) npx @modelcontextprotocol/inspector --cli node dist/index.js \ --method tools/call --tool-name list_sources # Call a tool with arguments npx @modelcontextprotocol/inspector --cli node dist/index.js \ --method tools/call --tool-name list_sources --tool-arg key=value
Run before publishing to catch regressions in tool registration and runtime startup.
Each connector lives insrc/connectors/and must implement theDataConnectorinterface. Add fixture data files undertests/fixtures/for integration tests. Never log connection strings or credentials — sanitize before any output or error message.
mcp-data-pipeline-connectoris listed onMCP RegistryandMCP Market.
- REST source fails to connect: Confirm the URL is reachable and any auth env var is set. Usecheck_healthto retest after startup.
- Cross-source join returns no results: Ensure both sources are CSV type and registered before usingsource='_all'.
- Query returnstruncated: true: Increase--max-rowsor add aLIMITclause to your SQL.
Official Airtable MCP server and skills for working with bases, records, workflows, and business operations from AI agents.
MCP Server For Apache Doris, an MPP-based real-time data warehouse.
Official MCP Server from Atlan which enables you to bring the power of metadata to your AI tools
Query Onchain data, like ERC20 tokens, transaction history, smart contract state.
Read and write access to your Baserow tables.
Introspect and query your apps deployed to Convex.
Interact with the data stored in Couchbase clusters using natural language.
Maritime intelligence for tracking vessels, analysing ports, and exploring ship data.
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



