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 分