Token导航 LogoToken导航TokenDH.com
Sqldb MCP Server logo
数据服务stdio官方级别未说明来源级核验

Sqldb MCP Server

MCP Server

@akrym1582/sqldb-mcp-server

一个只读的MCP服务器,为大型语言模型提供SQL数据库访问功能。

工具数

5

提示词数

0

GitHub Stars

0

资源数

0
数据分析多数据库支持TypeScriptClaudeClaude DesktopClaudeCursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

akrym1582

提供方

akrym1582

最后核验

2026/5/17 20:20

运行时

Node.js

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

npx @akrym1582/sqldb-mcp-server

详细介绍

sqldb-mcp服务器

A. 只读 模型上下文协议(MCP) 向LLM公开SQL数据库访问权限的服务器。

特性

  • 多数据库 –支持 MSSQL, PostgreSQL,以及 MySQL
  • 只读 –仅限 SELECT 允许使用语句(通过AST级SQL解析,使用每种DB类型的正确方言强制执行)
  • LLM已优化 –结果使用紧凑的列格式(列列表+值行)来减少令牌使用
  • 分页skip / take 参数自动上限为100行
  • 总计数已知 –每个查询结果包括 meta.totalCount 因此LLM知道存在多少行
  • 缓存 –查询/模式结果使用可配置的TTL缓存
  • 文件导出 –将查询结果流式传输到CSV或JSON文件,没有行数限制
  • 五个MCP工具: query, listTables, describeTable, explainQuery, exportQuery

安装

来自npm(推荐)

# Install globally
npm install -g @akrym1582/sqldb-mcp-server

# Or run directly with npx (no install needed)
npx @akrym1582/sqldb-mcp-server

来源

git clone https://github.com/akrym1582/sqldb-mcp-server.git
cd sqldb-mcp-server
npm install
npm run build

快速开始

# 1. Install globally
npm install -g @akrym1582/sqldb-mcp-server

# 2. Configure environment variables (see below)
export DB_TYPE=postgresql
export DB_HOST=localhost
export DB_USER=myuser
export DB_PASSWORD=mypassword
export DB_NAME=mydb

# 3. Run
sqldb-mcp-server

或者在MCP客户端配置中使用(例如Claude Desktop claude_desktop_config.json):

{
  "mcpServers": {
    "sqldb": {
      "command": "npx",
      "args": ["-y", "@akrym1582/sqldb-mcp-server"],
      "env": {
        "DB_TYPE": "postgresql",
        "DB_HOST": "localhost",
        "DB_PORT": "5432",
        "DB_USER": "myuser",
        "DB_PASSWORD": "mypassword",
        "DB_NAME": "mydb"
      }
    }
  }
}

环境变量

变量默认值描述
DB_TYPEmssql数据库类型: mssql, postgresql,或 mysql
DB_HOST数据库服务器主机名
DB_PORT1433 / 5432 / 3306数据库服务器端口(默认值取决于 DB_TYPE)
DB_USER数据库用户名
DB_PASSWORD数据库密码
DB_NAME数据库名称
DB_ENCRYPTtrue 对于MSSQL/PPostgreSQL, false MySQL启用加密数据库连接。MSSQL信任服务器证书。PostgreSQL首先尝试SSL,如果SSL不可用,则回退到纯SSL。MySQL使用TLS,启用时禁用证书验证。
DB_QUERY_TIMEOUT30000查询超时(毫秒)(由使用 query / explainQuery)
EXPORT_QUERY_TIMEOUT300000导出查询超时(毫秒)(由使用 exportQuery;默认5分钟)
CACHE_TTL60缓存TTL(秒)

按DB类型列出的默认端口

DB_TYPE默认值 DB_PORT
mssql1433
postgresql5432
mysql3306

MCP工具

query

执行a SELECT SQL语句。

{
  "sql": "SELECT id, name FROM users WHERE active = 1",
  "skip": 0,
  "take": 10
}

响应格式(紧凑/令牌高效):

{
  "meta": { "totalCount": 42, "returnedCount": 10, "skip": 0, "take": 10 },
  "columns": ["id", "name"],
  "rows": [[1, "Alice"], [2, "Bob"], ...]
}

listTables

列出数据库中的所有基表。

[{ "schema": "dbo", "name": "users" }, ...]

describeTable

描述表的列、索引、外键、检查约束和大小统计信息。

{ "table": "dbo.users" }

explainQuery

返回SELECT查询的估计执行计划,而不执行它。

{ "sql": "SELECT * FROM orders WHERE status = 'open'" }

exportQuery

将SELECT查询结果流式传输到文件。专为大型数据集设计——没有行数限制,结果使用Node.js流直接写入磁盘。

{
  "sql": "SELECT * FROM large_table",
  "filepath": "/tmp/export.csv",
  "format": "csv",
  "options": { "delimiter": ",", "bom": false }
}

format 默认为 "csv" 如果省略。 "json" 也得到了支持。

CSV选项 (全部可选):

选项默认值描述
delimiter","柱分离器
nullValue""要写入的字符串 NULL / undefined 细胞
bomfalse预置UTF-8 BOM(适用于Excel)

JSON选项 (全部可选):

选项默认值描述
prettyfalse缩进输出JSON

响应格式:

{
  "filepath": "/tmp/export.csv",
  "format": "csv",
  "rowCount": 50000
}

该工具使用一个单独的、寿命更长的连接池,其 requestTimeout 由控制 EXPORT_QUERY_TIMEOUT (默认300 000毫秒=5分钟)。对于非常大的出口,增加这一价值。

发展

# Clone the repository
git clone https://github.com/akrym1582/sqldb-mcp-server.git
cd sqldb-mcp-server

# Install dependencies
npm install

# Configure environment
cp .env.example .env
# Edit .env with your DB credentials

# Run in dev mode (no compile step)
npm run dev

# Or build and run
npm run build
npm start

# Run unit tests
npm test

项目结构

src/
  mcp/
    server.ts           # MCP server entry point
    tools/
      query.ts          # query tool
      listTables.ts     # listTables tool
      describeTable.ts  # describeTable tool
      explainQuery.ts   # explainQuery tool
      exportQuery.ts    # exportQuery tool (streaming file export)
  db/
    index.ts            # DB adapter factory (selects adapter from DB_TYPE)
    types.ts            # DB interfaces (including queryStream)
    adapters/
      mssql.ts          # Microsoft SQL Server implementation
      postgresql.ts     # PostgreSQL implementation (pg + pg-cursor)
      mysql.ts          # MySQL implementation (mysql2)
  utils/
    row-result.ts       # Compact columnar result format
    sanitize.ts         # AST-based SQL read-only validation (dialect-aware)
    pagination.ts       # skip/take normalisation
    cache.ts            # TTL in-memory cache
    export-writer.ts    # Streaming CSV / JSON file writer
  __tests__/            # Unit tests

目录标签

目录标签

数据分析多数据库支持TypeScriptClaude数据库访问本地部署LLM优化只读查询数据导出

支持客户端

Claude DesktopClaudeCursor

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Node.js

来源包(packageName,安装包名)

@akrym1582/sqldb-mcp-server

工具数量(toolCount,工具数)

5

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP