mcp-data-pipeline-connector

中文文档
1.0.1发布于 2026/11/04MITTypeScriptES Module

通过DuckDB实现CSV, Postgres和REST api的通用数据连接器

中文使用文档
文档目录21 节
  1. 关键特性
  2. 为什么要在单独的每源MCP服务器上这样做?
  3. 免责声明
  4. 需求
  5. 开始
  6. MCP客户端配置
  7. 你的第一个提示
  8. 工具
  9. 资源(2个工具)
  10. 模式(2个工具)
  11. 数据(2个工具)
  12. 运行状况(1个工具)
  13. 配置
  14. --config / --sources-config
  15. --rest-cache-ttl
  16. --max-rows
  17. --read-only
  18. 验证
  19. 贡献
  20. 上市
  21. 故障排除

MCP数据管道连接器

npm mcp-data-pipeline-connector 包

一个MCP服务器用于所有数据源-具有跨源SQL连接,没有外部查询服务。DuckDB运行在嵌入式进程中,因此您可以在单个查询中针对Postgres表和REST API响应连接CSV文件,完全在您的机器上。代理可以处理您的数据,而不需要特定于源的知识或多个MCP服务器配置。

参考工具 | 配置 | 贡献 | 故障排除

关键特性

  • 统一查询接口:通过DuckDB跨所有连接源的SQL -包括跨源连接。
  • 多源类型:单个服务器上的CSV/JSON文件、PostgreSQL数据库和REST API端点。
  • 自动模式检测:从CSV头和Postgres元数据推断列名和类型。
  • 其他缓存REST API响应使用可配置的TTL缓存,以避免冗余调用。
  • 模式标准化:将特定于源的类型映射到标准集(字符串、数字、日期、布尔值、json)。
  • 进程内查询引擎: DuckDB运行嵌入式-无需安装或管理单独的查询服务。

为什么要在单独的每源MCP服务器上这样做?

常见的替代方案是为每个数据源运行一个MCP服务器——postgres MCP服务器、CSV MCP服务器、REST MCP服务器。每一个都可以独立工作,但它们不能相互交流。

mcp-data-pipeline-connector独立的单源服务器
到跨源连接本地SQL通过嵌入式DuckDB不可能-代理必须手动获取并加入
配置的复杂性MCP配置中的一个服务器条目每个源类型一个条目
查询引擎DuckDB进程-没有安装,没有服务取决于每个源的查询能力
统一的模式将所有类型归一化为string/integer/number/datetime/boolean/json/unknown每个源都使用自己的类型系统
数据居住所有查询都在本地运行取决于每个连接器的实现

如果您要问的问题跨越多个数据源——“将我的销售CSV与用户表连接起来”——这是合适的工具。如果您只查询一种源类型,那么使用专用的单源服务器会更简单。

免责声明

mcp-data-pipeline-connector 连接到您配置的数据源,并代表您的代理对它们执行查询。确保代理只拥有它们所需的数据库权限。连接字符串永远不会被记录或传输;不要让它们出现在版本控制的配置文件中。为凭证使用环境变量。

需求

  • Node.js v20.19或更新版本。
  • npm。
  • 可选:用于Postgres连接器的正在运行的PostgreSQL实例。

开始

在MCP客户端中添加以下配置:

{
  "mcpServers": {
    "data-connector": {
      "command": "npx",
      "args": ["-y", "mcp-data-pipeline-connector@latest"]
    }
  }
}

中定义数据源 ~/.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]

将连接字符串存储在环境变量中,而不是直接存储在YAML文件中。

MCP客户端配置

Amp·Claude Code·Cline·Cursor·VS Code·Windsurf·Zed

你的第一个提示

将CSV文件放置在 ~/data/sample.csv,将其作为一个源添加到你的配置中,然后输入:

What columns are in the sample table? Show me the first 5 rows.

您的客户端应该返回模式和数据预览。

工具

资源(2个工具)

  • connect_source
  • list_sources

模式(2个工具)

  • list_tables
  • get_schema

数据(2个工具)

  • query
  • transform

运行状况(1个工具)

  • check_health

配置

--config / --sources-config

定义数据源的YAML文件的路径。

类型: string 默认值: ~/.mcp/data-sources.yaml

--rest-cache-ttl

缓存的REST API响应的生存时间(以秒为单位)。设置为 0 禁用缓存。

类型: number 默认值: 300

--max-rows

返回的最大行数 query 呼叫。防止意外的大型结果集。

类型: number 默认值: 1000

--read-only

拒绝任何不是的SQL语句 SELECT 查询。强制对所有源进行只读访问。

类型: boolean 默认值: true

传递标志 args 属性在JSON配置中:

{
  "mcpServers": {
    "data-connector": {
      "command": "npx",
      "args": ["-y", "mcp-data-pipeline-connector@latest", "--max-rows=5000", "--rest-cache-ttl=60"]
    }
  }
}

验证

在发布新版本之前,请使用MCP Inspector验证服务器,以确认所有工具都正确公开并且协议握手成功。

交互式用户界面 (打开浏览器):

npm run build && npm run inspect

CLI模式 (脚本/ ci友好):

# 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

在发布之前运行,以在工具注册和运行时启动时捕获回归。

贡献

每个连接器都位于 src/connectors/ 并且必须执行 DataConnector 接口。添加夹具数据文件 tests/fixtures/ 用于集成测试。永远不要记录连接字符串或凭证-在任何输出或错误消息之前进行清理。

npm install && npm test

上市

mcp-data-pipeline-connector 被列在 MCP注册表 和 MCP市场。

故障排除

  • REST源连接失败:确认URL是否可达,并设置了任何认证环境变量。使用 check_health 启动后重新测试。
  • 跨源连接不返回任何结果:确保两个源都是CSV类型并在使用前注册 source='_all'。
  • 查询返回 truncated: true:增加 --max-rows 或者加上 LIMIT 子句到SQL。

版本与发布记录

mcp-data-pipeline-connector 共发布 2 个版本,首次发布于 2026/03/24;过去 12 个月发布了 2 个版本。

版本发布日期距今
1.0.1latest2026/11/04今天
1.0.02026/03/247 个月前

关于 mcp-data-pipeline-connector 的常见问题

mcp-data-pipeline-connector 是什么?

通过DuckDB实现CSV, Postgres和REST api的通用数据连接器

如何安装 mcp-data-pipeline-connector?

在项目目录运行 npm install mcp-data-pipeline-connector,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 mcp-data-pipeline-connector,可以用 npx mcp-data-pipeline-connector 直接运行。

mcp-data-pipeline-connector 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

mcp-data-pipeline-connector 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

mcp-data-pipeline-connector 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=20.19.0。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

mcp-data-pipeline-connector 可以商用吗?

mcp-data-pipeline-connector 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

mcp-data-pipeline-connector 还在维护吗?

最新版本 1.0.1 发布于 2026/11/04(今天);至今共发布 2 个版本,其中过去 12 个月发布了 2 个;首次发布于 2026/03/24。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。