DataLink

io.github.pilat由 GitHub 账号 pilat 发布v1.2.4更新于 Oct 24, 2026

MCP server for secure database access (PostgreSQL, MySQL, SQLite)

已验证STDIO仅桌面数据库开发者工具

概览

AI 生成的概览

本地 MCP 服务器,让 AI 助手安全访问 PostgreSQL、MySQL 和 SQLite 数据库,进行结构查看、查询和写入。

可以做什么
列出已配置的数据库连接及其表与行数,并查看 PostgreSQL、MySQL 和 SQLite 连接中表的架构、索引和外键。执行 SELECT 查询并查看查询执行计划。在未标记为只读的连接上执行 INSERT、UPDATE 和 DELETE 语句。按连接提供预编译语句、单语句限制、禁止 DDL、行数与大小限制以及查询超时等保护。
适用场景
适合在开发或分析过程中让助手浏览或查询一个或多个关系型数据库,尤其是需要多个命名连接、按连接控制只读并限制结果大小和查询时间时。
运行要求
通过 npx 在本地运行,需要 Node.js。每个数据库通过 DATALINK_ _URL 环境变量配置(PostgreSQL、MySQL 或 SQLite 的 URL 或文件路径);可选的 DATALINK_ _READONLY 和 DATALINK_ _MAX_TIMEOUT 控制写入与超时。URL 可用 ${VAR} 语法引用其他环境变量。需要能访问数据库主机的网络。
安装前请注意
连接 URL 通常包含数据库用户名和密码,并保存在客户端配置文件中,应妥善保护该文件。除非将 DATALINK_ _READONLY 设为 true,否则连接可写,execute 工具可修改或删除数据。DDL 虽被禁止,仍应确认暴露了哪些连接,不需要写入时优先使用只读模式。

安装

在 SourceWeft 中

  1. 打开 控制台中的 DataLink,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

@pilat/mcp-datalink

MCP server for PostgreSQL, MySQL, and SQLite. Gives AI assistants secure database access via Model Context Protocol.

npx @pilat/mcp-datalink

Works with Claude Desktop, Claude Code, Cursor, Cline, and any MCP-compatible client.

Installation

Add to your MCP client config file (see config locations below):

json
{  "mcpServers": {    "datalink": {      "command": "npx",      "args": ["-y", "@pilat/mcp-datalink"],      "env": {        "DATALINK_ANALYTICS_URL": "postgresql://user:password@localhost:5432/analytics",        "DATALINK_ANALYTICS_READONLY": "true",
        "DATALINK_INVENTORY_URL": "mysql://user:password@localhost:3306/inventory",
        "DATALINK_CACHE_URL": "sqlite:///path/to/cache.db"      }    }  }}

This creates three database connections: analytics (read-only), inventory, and cache.

VariableDescription
DATALINK_{NAME}_URLConnection URL (creates database named {name})
DATALINK_{NAME}_READONLYSet to true to block writes
DATALINK_{NAME}_MAX_TIMEOUTMax query timeout in ms (caps model requests)

Connection URL formats:

bash
# PostgreSQLpostgresql://user:password@localhost:5432/dbnamepostgresql://user:password@localhost:5432/dbname?sslmode=require
# MySQLmysql://user:password@localhost:3306/dbnamemysql://user:password@localhost:3306/dbname?ssl=true
# SQLitesqlite:///path/to/database.dbsqlite:///Users/me/data/app.sqlitesqlite://../relative/path/data.db

Environment Variable Substitution

URLs support ${VAR} syntax to reference other environment variables:

json
{  "mcpServers": {    "datalink": {      "command": "npx",      "args": ["-y", "@pilat/mcp-datalink"],      "env": {        "DATALINK_MAIN_URL": "${DATABASE_URL}"      }    }  }}

This allows reusing existing environment variables (like DATABASE_URL from your shell or .env file).

Supported syntax:

SyntaxDescription
${VAR}Expands to value of VAR, or keeps ${VAR} if unset
${VAR:-default}Expands to value of VAR, or default if unset

Examples:

bash
# Reference existing DATABASE_URLDATALINK_MAIN_URL="${DATABASE_URL}"
# Build URL from partsDATALINK_MAIN_URL="postgresql://${DB_USER}:${DB_PASS}@${DB_HOST}:5432/mydb"
# With default valuesDATALINK_MAIN_URL="postgresql://localhost:${DB_PORT:-5432}/mydb"

Config File Locations

ClientConfig file
Claude Code~/.claude.json (global) or .mcp.json (project)
Claude Desktop (macOS)~/Library/Application Support/Claude/claude_desktop_config.json
Claude Desktop (Windows)%APPDATA%\Claude\claude_desktop_config.json
Cursor~/.cursor/mcp.json or Settings → Features → MCP Servers
Clinecline_mcp_settings.json or VS Code settings cline.mcpServers

Tools

ToolDescription
list_databasesList configured database connections
list_tablesList tables with row counts
describe_tableGet schema, indexes, foreign keys
queryRun SELECT queries
executeRun INSERT/UPDATE/DELETE
explainShow query execution plans

Security

  • Prepared statements only (no SQL injection)
  • Single statement per query (no chaining)
  • DDL blocked (no DROP, ALTER, TRUNCATE)
  • Readonly mode per connection
  • Response size limit (100 rows, 64KB default, configurable via DATALINK_MAX_TOTAL_SIZE)
  • Query timeout: 30s default, model can request up to 10min, MAX_TIMEOUT caps it

License

MIT

来源:README.md,提交 1a643a5

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v1.2.4最新Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分