mcpField
M
mcp-data-pipeline-connector

mcp-data-pipeline-connector

本地服务
github.com/dbsectrainer数据库05 周前更新

关于 mcp-data-pipeline-connector

通过内嵌 DuckDB 查询 CSV、JSON 文件、PostgreSQL 和 REST API 的 MCP 服务。适合需要跨数据源处理数据的团队和 Agent,可在单个连接器中执行跨源 SQL 联接并统一模式。

主要功能

  1. 01跨已配置数据源执行 SQL
  2. 02联接文件、PostgreSQL 与 REST API
  3. 03自动检测模式
  4. 04缓存 REST 响应
  5. 05规范化数据源类型
  6. 06内嵌 DuckDB 查询引擎

适用场景

  1. 01将销售 CSV 与 PostgreSQL 表联接
  2. 02同时查询 REST 数据和本地文件
  3. 03检查数据源的表与模式
  4. 04将查询限制为 SELECT 语句

MCP 相关

提供连接和列出数据源、检查模式、查询或转换数据以及检查健康状态的 MCP 工具。数据源通过 YAML 文件配置。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"dbsectrainer-mcp-data-pipeline-connector": {
"command": "npx",
"args": [
"-y",
"mcp-data-pipeline-connector"
],
"env": {
"YOUR_API_KEY": "<YOUR_API_KEY>"
}
}
}
}
启动命令npx -y mcp-data-pipeline-connector
需要配置的环境变量
YOUR_API_KEY密钥Your API key for the service

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmmcp-data-pipeline-connector1.0.0

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

MCP Data Pipeline Connector

npm mcp-data-pipeline-connector 包

一个 MCP 服务,连接你的所有数据源,并支持跨数据源 SQL 联接,无需外部查询服务。DuckDB 以嵌入式方式在进程内运行,因此你可以在一条查询中联接 CSV 文件、Postgres 表和 REST API 响应,全程都在本机完成。Agent 无需了解各数据源的专属知识,也不需要配置多个 MCP 服务,即可使用你的数据。

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

主要功能

  • 统一查询接口:通过 DuckDB 使用 SQL 查询所有已连接的数据源,包括跨数据源联接。
  • 多种数据源类型:在一个服务中连接 CSV/JSON 文件、PostgreSQL 数据库和 REST API 端点。
  • 自动检测架构:根据 CSV 标题和 Postgres 元数据推断列名和类型。
  • REST 缓存:缓存 REST API 响应,并可配置 TTL 以避免重复调用。
  • 架构标准化:将特定于数据源的类型映射到一组标准类型(string、number、date、boolean、json)。
  • 进程内查询引擎:DuckDB 以嵌入式方式运行,无需安装或管理独立的查询服务。

为什么选择它,而不是为每种数据源单独使用 MCP 服务?

常见的替代方案是为每种数据源运行一个 MCP 服务,例如 postgres MCP 服务、CSV MCP 服务和 REST MCP 服务。每个服务单独使用时都很好,但它们无法彼此交互。

mcp-data-pipeline-connector按数据源分别运行的服务
跨数据源联接通过嵌入式 DuckDB 使用原生 SQL无法实现 — Agent 必须手动获取并联接数据
配置复杂度MCP 配置中只需一个服务条目每种数据源类型都需要一个条目
查询引擎进程内运行的 DuckDB — 无需安装,也无需服务取决于各数据源的查询能力
架构统一将所有类型标准化为 string/integer/number/datetime/boolean/json/unknown每种数据源使用自己的类型系统
数据驻留所有查询都在本地运行取决于各连接器的实现

如果你需要查询多个数据源中的信息,例如“将我的销售 CSV 与用户表联接”,那么这是合适的工具。如果你始终只查询一种数据源类型,那么专用的单数据源服务会更简单。

免责声明

mcp-data-pipeline-connector 会连接你配置的数据源,并代表你的 Agent 对这些数据源执行查询。请确保 Agent 仅拥有所需的数据库权限。连接字符串不会被记录或传输;请勿将其放入版本控制的配置文件中。请使用环境变量存储凭据。

要求

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

开始使用

将以下配置添加到你的 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

你的第一个提示词

在 ~/data/sample.csv 中放置一个 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

拒绝所有非 SELECT 查询的 SQL 语句。对所有数据源强制执行只读访问。

类型:boolean 默认值:true

通过 JSON 配置中的 args 属性传递标志:

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

验证

发布新版本前,使用 MCP Inspector 验证服务,确认所有工具均已正确公开,且协议握手成功。

交互式 UI(打开浏览器):

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 Registry 和 MCP Market。

故障排除

  • REST 数据源连接失败:确认 URL 可访问,并已设置任何需要的身份验证环境变量。启动后使用 check_health 重新测试。
  • 跨数据源联接未返回结果:确保两个数据源均为 CSV 类型,并且在使用 source='_all' 之前已完成注册。
  • 查询返回 truncated: true:增大 --max-rows 的值,或在 SQL 中添加 LIMIT 子句。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。