Token导航 LogoToken导航TokenDH.com
Database Lookup Protocol (DLP) logo
开发工具stdio官方级别未说明来源级核验

Database Lookup Protocol (DLP)

MCP Server

database-lookup-protocol

DLP为AI编码助手提供数据库只读访问权限,使其能够自动查看表结构、预览数据并执行安全查询,从而提高代码生成的准确性和效率。

工具数

4

提示词数

0

GitHub Stars

7

资源数

0
AI代理代码生成TypeScriptClaude开发工具ClaudeCursorVS Code

安装说明

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

作者 / 组织

kalyangupta12

提供方

kalyangupta12

最后核验

2026/5/17 20:20

运行时

Node.js

快速接入

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

命令预览

npx database-lookup-protocol set cursor

详细介绍

数据库查找协议(DLP)

](https://www.npmjs.com/package/database-lookup-protocol) ](https://www.npmjs.com/package/database-lookup-protocol) ![License: MIT](https://opensource.org/licenses/MIT) ![Website](https://dlp-mcp.vercel.app)

DLP让你的AI编码助手读取你的数据库,这样它就能更快地编写更好的代码。

你的人工智能助手是否曾经猜测过你的数据库是什么样子,结果却生成了错误的列名或错过了关系?DLP解决了这个问题。它提供了Claude Code、Cursor、VS Code Copilot和反重力(Gemini)等工具 只读访问 对于您的数据库模式和数据,不需要调试代码,也不需要将表结构复制粘贴到聊天中。

🌐 dlp-mcp.vercel.app --让你的人工智能数据库眼睛

______________________________________________________________________

DLP是做什么的?

将DLP视为您的AI助手和数据库之间的桥梁。设置后:

  • 你的AI可以 查看您的表、列和关系 自动地
  • 它可以 预览实际数据 了解存储的内容
  • 它可以 运行安全的只读查询 回答有关数据的问题
  • 所有这一切都会发生 无需编写任何代码 或粘贴架构转储

例子: 它可以直接查看数据库本身,而不是告诉你的人工智能“我有一个用户表,其中有id、name、email列……”。

______________________________________________________________________

运作原理

DLP使用 模型上下文协议(MCP) --一个允许AI助手使用外部工具的开放标准。设置DLP时:

  1. 您的IDE将DLP作为后台进程生成
  2. DLP使用 DATABASE_URL 来自您的项目
  3. 你的AI助手获得了四种新工具来检查数据库
  4. 一切都在你的机器上本地运行——你的数据永远不会离开
Your AI Assistant    DLP (MCP Server)    Your Database
   (Claude, etc.)         (runs locally)        (Postgres, MySQL, etc.)

______________________________________________________________________

安装

npm install database-lookup-protocol

或者直接使用,无需安装(通过 npx):

npx database-lookup-protocol set cursor

______________________________________________________________________

快速开始

设置DLP需要 两步 不到一分钟。

先决条件

  • 已安装v18或更高版本
  • 要连接的数据库(PostgreSQL、MySQL、MongoDB、SQL Server或Prisma)
  • 支持MCP(克劳德代码、游标、VS代码或反重力)的IDE

步骤1:将数据库连接添加到 .env

确保你的项目有 .env 使用数据库连接创建文件。如果你已经有了一个(大多数项目都有),那就很好了——跳到步骤2。

选项A:单连接字符串 (最常见)

DATABASE_URL=postgresql://user:password@localhost:5432/mydb

选项B:单个变量 (如果您的项目使用单独的主机/用户/密码变量)

# PostgreSQL
PG_HOST=localhost
PG_PORT=5432
PG_DATABASE=mydb
PG_USER=admin
PG_PASSWORD=secret

# MySQL
MYSQL_HOST=localhost
MYSQL_PORT=3306
MYSQL_DATABASE=mydb
MYSQL_USER=admin
MYSQL_PASSWORD=secret

# MongoDB
MONGODB_URI=mongodb://localhost:27017/mydb

# SQL Server
MSSQL_HOST=localhost
MSSQL_PORT=1433
MSSQL_DATABASE=mydb
MSSQL_USER=admin
MSSQL_PASSWORD=secret

DLP会自动检测您使用的任何格式-- DATABASE_URL 或单个变量。

不确定您的DATABASE_URL是什么样子的?连接字符串格式 以下部分为每个数据库的示例。

步骤2:将DLP连接到IDE

打开终端 在项目文件夹中 (你的 .env file is)并运行:

# For antigravity (Gemini)
npx dlp set antigravity

# For Cursor
npx dlp set cursor

# For VS Code
npx dlp set vscode

# For Claude Code
npx dlp set claude

# For all IDEs at once
npx dlp set all

就是这样! 重新启动IDE,DLP即可使用。

刚才发生了什么?dlp set 命令从项目中读取数据库连接变量 .env 文件(要么 DATABASE_URL 或单个变量,如 PG_HOST, MYSQL_HOST等),并将MCP配置写入IDE的全局配置目录。您的AI助手现在将DLP视为可用工具。

______________________________________________________________________

在AI助手中使用DLP

设置后,您的AI助手将自动访问四个数据库工具。您不需要做任何特别的事情,只需自然地询问有关数据库的问题:

  • *“我的数据库中有哪些表?”*
  • *“显示用户表中的一些示例数据”*
  • *“订单表有哪些列?”*
  • *“查找上周注册的所有用户”*

你的人工智能将在幕后使用DLP工具来回答这些问题。

可用工具

工具功能示例使用
dlp_get_schema显示所有表、列、类型、键和关系*“我的数据库是什么样子的?”*
dlp_describe_table显示一个表的详细信息——列类型、索引、默认值、约束*“告诉我订单表的情况”*
dlp_preview_table显示表中的示例行(最多20行)*“显示用户表中的一些数据”*
dlp_safe_query运行只读SQL SELECT查询(必须包含LIMIT,最多20行)*“今天下了多少订单?”*
提示: 你可以告诉你的AI:“使用 dlp_get_schema 在编写任何查询之前了解数据库”——这可以让它提前了解全局。

______________________________________________________________________

支持的数据库

DLP适用于五种流行的数据库。您只需为正在使用的数据库安装驱动程序:

数据库安装驱动程序状态
PostgreSQLnpm install pg生产就绪
MySQL/MariaDBnpm install mysql2生产就绪
MongoDBnpm install mongodb生产就绪
Microsoft SQL Servernpm install mssql生产就绪
棱镜 (任何DB Prisma支持)npm install @prisma/client生产就绪
注: 如果您的项目已经使用了这些驱动程序之一(请检查您的 package.json),您不需要安装任何额外的东西。

连接字符串格式

这是什么 DATABASE_URL 每个数据库看起来都是这样的:

# PostgreSQL
DATABASE_URL=postgresql://username:password@hostname:5432/database_name

# MySQL / MariaDB
DATABASE_URL=mysql://username:password@hostname:3306/database_name

# MongoDB
DATABASE_URL=mongodb://username:password@hostname:27017/database_name

# Microsoft SQL Server
DATABASE_URL=mssql://username:password@hostname:1433/database_name

# Prisma (uses whatever your Prisma schema defines)
DATABASE_URL=postgresql://username:password@hostname:5432/database_name

常见的托管数据库示例:

# Supabase (PostgreSQL)
DATABASE_URL=postgresql://postgres.[project-ref]:[password]@aws-0-[region].pooler.supabase.com:6543/postgres

# PlanetScale (MySQL)
DATABASE_URL=mysql://[user]:[password]@[host]/[database]?ssl={"rejectUnauthorized":true}

# MongoDB Atlas
DATABASE_URL=mongodb+srv://[user]:[password]@[cluster].mongodb.net/[database]

# Neon (PostgreSQL)
DATABASE_URL=postgresql://[user]:[password]@[host].neon.tech/[database]?sslmode=require

# Railway (PostgreSQL)
DATABASE_URL=postgresql://postgres:[password]@[host].railway.app:5432/railway

______________________________________________________________________

在哪里 dlp set 写配置?

当你奔跑时 npx dlp set ,它将MCP配置写入主文件夹中IDE的全局配置目录(~ = C:\Users\YourName 在Windows上, /Users/YourName 在Mac上, /home/YourName 在Linux上):

IDE配置文件位置
反重力(双子座)~/.gemini/antigravity/mcp_config.json
光标~/.cursor/mcp_config.json
VS代码~/.vscode/mcp_config.json
克劳德代码~/.mcp.json

转换项目?cd 进入新项目,并运行 npx dlp set 再一次。它将使用新项目的数据库连接更新配置。

______________________________________________________________________

安全

DLP默认设计为安全的:

  • 只读访问 --DLP只能选择数据。它不能以任何方式插入、更新、删除、删除或修改数据库。
  • SQL注入保护 --在任何查询到达数据库之前,都会阻止15种以上的危险SQL模式。
  • 无网络暴露 --在MCP模式下,DLP作为通过stdio通信的本地进程运行。您的数据库凭据和数据永远不会离开您的计算机。
  • 行限制已执行 --所有查询都限制在20行以内。长文本字段会自动截断为200个字符。
  • 不需要API密钥 -MCP使用stdio(标准输入/输出),因此不需要担心HTTP服务器或API密钥。

关于 postbuild 脚本

DLP包括 postbuild 添加shebang行的npm脚本(#!/usr/bin/env node)到CLI入口点文件。这是Node.js命令行工具在类Unix系统(Linux、macOS)上正确工作的标准做法。

它的作用:

// Checks if dist/cli/index.js exists
// Reads the compiled CLI file
// Adds #!/usr/bin/env node at the top if it's not already there
// Writes it back to disk

此脚本在TypeScript编译后自动运行(npm run build)并且对于 dlp 命令可执行。该脚本只读取和写入项目自己的构建输出,它不会访问外部文件、网络资源或执行任何恶意操作。

为什么需要: TypeScript在编译过程中不会保留shebang行,所以我们在之后将其添加回来。如果没有这条线 dlp 全局安装或通过使用时,命令不起作用 npx.

______________________________________________________________________

切换项目

当您切换到具有不同数据库的不同项目时:

  1. 确保新项目具有 .env 文件及其数据库连接(DATABASE_URL 或单个变量)
  2. 在该项目文件夹中打开终端
  3. npx dlp set 再次
  4. 重新启动IDE

配置将使用新的数据库连接进行更新。

______________________________________________________________________

HTTP服务器模式(高级)

大多数用户不需要这个。 MCP模式(如上设置)是使用DLP的推荐方式。HTTP模式适用于无法使用MCP的自定义集成、脚本或工具。

如果要将DLP作为独立的HTTP API运行:

# Add these to your .env
DATABASE_URL=postgresql://user:pass@localhost:5432/mydb
DLP_API_KEY=your-secret-key

# Start the server
npx dlp start

服务器运行在 http://localhost:3434。所有请求都转到 POST /protocol 带着一个 Authorization: Bearer 头球

请求示例:

# Get database schema
curl -X POST http://localhost:3434/protocol \
  -H "Authorization: Bearer your-secret-key" \
  -H "Content-Type: application/json" \
  -d '{"action": "get_schema", "schema": "public"}'

# Preview table data
curl -X POST http://localhost:3434/protocol \
  -H "Authorization: Bearer your-secret-key" \
  -H "Content-Type: application/json" \
  -d '{"action": "preview_table", "table": "users", "limit": 5}'

# Describe a table
curl -X POST http://localhost:3434/protocol \
  -H "Authorization: Bearer your-secret-key" \
  -H "Content-Type: application/json" \
  -d '{"action": "describe_table", "table": "users"}'

# Run a read-only query
curl -X POST http://localhost:3434/protocol \
  -H "Authorization: Bearer your-secret-key" \
  -H "Content-Type: application/json" \
  -d '{"action": "safe_query", "query": "SELECT id, email FROM users LIMIT 5"}'

规则: 只允许使用SELECT查询。每个查询都必须包含LIMIT子句。最多返回20行。

______________________________________________________________________

CLI参考

npx dlp set          Read DB vars from .env and configure your IDE
npx dlp set all           Configure all supported IDEs at once
npx dlp start             Start HTTP API server on port 3434
npx dlp start --mcp       Start MCP stdio server
npx dlp mcp               Same as "start --mcp"

______________________________________________________________________

故障排除

“DLP工具未显示在我的IDE中”

  • 确保你跑了 npx dlp set 从项目文件夹中(其中 .env 是)
  • 运行set命令后完全重新启动IDE
  • 检查你的 .env 文件包含有效 DATABASE_URL

“无法连接到数据库”

  • 验证您的 DATABASE_URL 通过测试与数据库客户端的连接是正确的
  • 确保数据库服务器正在运行且可访问
  • 检查您是否安装了正确的驱动程序(npm install pg PostgreSQL等)

“权限被拒绝”或“配置文件错误”

  • npx dlp set 再次,它将覆盖任何损坏的配置文件
  • 确保您对主目录具有写访问权限

切换到其他数据库?

  • 更新 DATABASE_URL 在您的项目中 .env
  • npx dlp set 再次
  • 重新启动IDE

______________________________________________________________________

贡献

欢迎投稿!以下是如何开始:

  1. 分叉存储库
  2. 克隆你的叉子: git clone https://github.com/your-username/Database-Lookup-Protocol.git
  3. 创建要素分支: git checkout -b feat/your-feature
  4. 在中进行更改 src/ 目录
  5. 构建项目: npm run build
  6. 在本地测试您的更改
  7. 打开拉取请求

添加新的数据库适配器

要添加对新数据库的支持,请执行以下操作:

  1. 在中创建新的适配器文件 src/adapters/ 这实现了 DLPAdapter 接口
  2. 适配器需要四种方法: getSchema(), previewTable(), describeTable(),以及 safeQuery()
  3. 在中注册适配器 src/cli/index.ts
  4. 将连接字符串格式添加到此README中

______________________________________________________________________

支持的环境变量

dlp set 自动读取 全部 项目中与数据库相关的变量 .env --不只是 DATABASE_URL。这是它检测并写入IDE配置的变量的完整列表:

变量数据库描述
DATABASE_URL任意完整连接字符串(从方案中自动检测DB类型)
DB_TYPE任意显式设置DB类型: postgres, mysql, mongodb, mssql, prisma
PostgreSQL
PG_HOST / PGHOSTPostgreSQL数据库主机
PG_PORT / PGPORTPostgreSQL数据库端口(默认:5432)
PG_DATABASE / PGDATABASEPostgreSQL数据库名称
PG_USER / PGUSERPostgreSQL用户名
PG_PASSWORD / PGPASSWORDPostgreSQL密码
PG_SSLPostgreSQL设置为 true 启用SSL
MySQL/MariaDB
MYSQL_HOSTMySQL数据库主机
MYSQL_PORTMySQL数据库端口(默认:3306)
MYSQL_DATABASEMySQL数据库名称
MYSQL_USERMySQL用户名
MYSQL_PASSWORDMySQL密码
MongoDB
MONGODB_URIMongoDB完整的MongoDB连接URI
MONGODB_DATABASEMongoDB数据库名称(默认:从URI解析或 test)
SQL Server
MSSQL_HOSTMSSQL数据库主机
MSSQL_PORTMSSQL数据库端口(默认值:1433)
MSSQL_DATABASEMSSQL数据库名称
MSSQL_USERMSSQL用户名
MSSQL_PASSWORDMSSQL密码
MSSQL_ENCRYPTMSSQL设置为 false 禁用加密
MSSQL_TRUST_CERTMSSQL设置为 true 信任自签名证书

它是如何工作的: 当你奔跑时 npx dlp set ,它扫描你的 .env 对于上述所有变量,并将找到的每个变量写入IDE的MCP配置中 env 块。这样,当IDE生成DLP MCP服务器时,您的所有数据库凭据都可用,无论您是否使用单个 DATABASE_URL 或单独的变量。

______________________________________________________________________

许可证

麻省理工学院-见 许可证 了解详情。

______________________________________________________________________

目录标签

目录标签

AI代理代码生成TypeScriptClaude开发工具AI辅助开发本地部署数据库工具开发效率SQL查询

支持客户端

ClaudeCursorVS Code

接入字段

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

stdio

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

token

运行时(runtime,运行环境)

Node.js

来源包(packageName,安装包名)

database-lookup-protocol

工具数量(toolCount,工具数)

4

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdiotoken部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP