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

Laravel Database

MCP Server

mcp-server-laravel-database

为Laravel应用提供无缝数据库访问的模型上下文协议服务器,支持自动解析.env文件并连接多种数据库。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
数据分析TypeScriptClaudeClaude DesktopClaudeCursor

安装说明

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

作者 / 组织

kakehashi-inc

提供方

kakehashi-inc

最后核验

2026/5/17 20:19

运行时

Node.js

快速接入

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

命令预览

npx mcp-server-laravel-database --env /path/to/laravel/.env

详细介绍

Laravel数据库的MCP服务器

![License: MIT](https://opensource.org/licenses/MIT) ](https://nodejs.org/)

一个模型上下文协议(MCP)服务器,为Laravel应用程序提供无缝的数据库访问。自动解析Laravel .env 文件并连接到MySQL、PostgreSQL、MariaDB或SQLite数据库。

日语版README 在这里

特性

  • 自动.env解析:从Laravel读取数据库配置 .env 文件
  • 🚢 Laravel Sail支持:自动检测和使用 FORWARD_DB_PORT
  • 🔒 只读模式:使用查询验证进行安全的数据库探索
  • 📊 数据库反思:列出架构、表、列、索引和过程
  • 🔍 SQL执行:使用分页支持执行查询
  • 🌐 多个数据库:支持MySQL、PostgreSQL、MariaDB和SQLite
  • 🔐 SSH隧道:与远程数据库的安全连接
  • 📦 易于集成:适用于Claude桌面和光标

用法

无需安装!直接与npx一起使用:

npx mcp-server-laravel-database --env /path/to/laravel/.env

快速开始

1.基本用法

指向你的Laravel .env 文件:

npx mcp-server-laravel-database --env /path/to/your/laravel/.env

2.使用克劳德桌面

添加到您的Claude Desktop配置(~/Library/Application Support/Claude/claude_desktop_config.json 在macOS上):

{
  "mcpServers": {
    "laravel-database": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-server-laravel-database",
        "--env",
        "/absolute/path/to/your/laravel/.env",
        "--readonly"
      ]
    }
  }
}

3.使用光标

添加到光标MCP设置中:

{
  "mcpServers": {
    "laravel-database": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-server-laravel-database",
        "--env",
        "/absolute/path/to/your/laravel/.env",
        "--readonly"
      ]
    }
  }
}

配置选项

使用.env文件

服务器从Laravel中读取这些变量 .env 文件:

DB_CONNECTION=mysql       # mysql, pgsql, mariadb, or sqlite
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=password
FORWARD_DB_PORT=13306    # Laravel Sail port (optional)

命令行选项

选项描述默认值
--envLaravel.env文件的路径-
--db-connection数据库类型(mysql/pgsql/mariadb/sqlite)mysql
--db-host数据库主机localhost
--db-port数据库端口3306
--db-database数据库名称必填
--db-username数据库用户名-
--db-password数据库密码-
--readonly启用只读模式false
--max-rows要返回的最大行数-
--ssl-modeSSL模式(禁用/要求/验证ca/验证完整)-
--ssh-hostSSH隧道主机-
--ssh-portSSH隧道端口22
--ssh-userSSH用户名-
--ssh-passwordSSH密码-
--ssh-keySSH私钥路径-
--transport传输模式(stdio/http)stdio
--listenHTTP服务器侦听地址(仅限HTTP传输)localhost
--portHTTP服务器端口(仅限HTTP传输)3333
--log-level日志级别(错误/警告/信息/调试)信息

配置优先级

  1. 命令行选项(最高优先级)
  2. .env 通过指定的文件 --env
  3. 当前shell会话中可用的实际环境变量

如果你忽略了 --env,服务器仍在读取 DB_* 值(例如。, DB_HOST, DB_DATABASE, DB_USERNAME, DB_PASSWORD, FORWARD_DB_PORT)直接来自环境。如果 --env 逐一覆盖这些值,同时仍允许任何剩余设置回退到环境中。

环境变量

当没有提供CLI标志时,会参考以下环境变量:

变量描述默认值
DB_CONNECTION数据库类型(mysql, pgsql, mariadb, sqlite)mysql
DB_HOST数据库主机(重写为 127.0.0.1FORWARD_DB_PORT 使用)localhost
DB_PORT数据库端口(使用 .env Laravel Sail's FORWARD_DB_PORT)基于 DB_CONNECTION (3306/5432/0)
DB_DATABASE数据库名称(必填)-
DB_USERNAME数据库用户名-
DB_PASSWORD数据库密码-

环境值与合并 .env 内容(如果提供),以便文件中丢失的任何密钥仍然可以从shell环境中获取。

运输方式

  • 标准 (默认):最适合基于CLI的客户端,如Claude Desktop或Cursor。服务器将所有日志行发送到 stderr 因此stdout保留用于MCP帧。不需要额外的配置。
  • 超文本传输协议:实现MCP流式HTTP传输(2024-11-05).所有操作都使用 /mcp 端点(POST用于请求,GET用于SSE流式响应,DELETE用于结束会话) Mcp-Session-Id 头球会话ID是在服务器端生成的。

使用 --listen 在使用时为HTTP侦听器选择绑定地址 http 运输。默认情况下,服务器绑定到 localhost 和港口 3333,避免了典型的Laravel网络端口。

用法示例

MySQL连接

npx mcp-server-laravel-database \
  --db-connection mysql \
  --db-host localhost \
  --db-port 3306 \
  --db-database myapp \
  --db-username root \
  --db-password secret \
  --readonly

PostgreSQL连接

npx mcp-server-laravel-database \
  --db-connection pgsql \
  --db-host localhost \
  --db-port 5432 \
  --db-database myapp \
  --db-username postgres \
  --db-password secret \
  --readonly

SQLite数据库

npx mcp-server-laravel-database \
  --db-connection sqlite \
  --db-database /path/to/database.sqlite \
  --readonly

Laravel帆船

对于Laravel Sail项目,只需指向 .env file-服务器将自动检测并使用 FORWARD_DB_PORT:

npx mcp-server-laravel-database --env /path/to/laravel/.env

使用SSH隧道

安全地连接到远程数据库:

npx mcp-server-laravel-database \
  --env /path/to/.env \
  --ssh-host remote.example.com \
  --ssh-user deploy \
  --ssh-key ~/.ssh/id_rsa \
  --readonly

MCP资源

服务器为数据库自检提供了以下资源:

资源URI描述
架构db://schemas列出所有数据库架构
桌子db://schemas/{schema}/tables列出架构中的表
表结构db://schemas/{schema}/tables/{table}获取表列定义
指数db://schemas/{schema}/tables/{table}/indexes获取表索引
程序db://schemas/{schema}/procedures列出存储过程
程序详细信息db://schemas/{schema}/procedures/{proc}获取程序定义

MCP工具

execute_sql

使用可选分页执行SQL查询。

参数:

  • sql (字符串,必填):要执行的SQL查询
  • max_rows (number,可选):要返回的最大行数
  • offset (数字,可选):分页偏移量
  • page (数字,可选):页码(从1开始)
  • per_page (number,可选):每页的行数

例子:

{
  "sql": "SELECT * FROM users WHERE active = 1",
  "page": 1,
  "per_page": 20
}

只读模式

--readonly 已启用:

  • 只允许使用SELECT、SHOW、DESCRIBE和EXPLAIN查询
  • 写入操作(INSERT、UPDATE、DELETE、DROP等)被阻止
  • 对于SQLite,使用数据库级只读模式
  • 对于其他数据库,在执行之前验证查询

这是 强烈推荐 用于生产数据库。

安全最佳实践

  1. 始终使用 --readonly 用于生产数据库
  2. ✅ 使用SSH隧道进行远程连接
  3. ✅ 使用具有最小权限的数据库用户
  4. ✅ 保持你的 .env 文件安全(永远不要提交到Git)
  5. ✅ 尽可能为数据库连接启用SSL/TLS
  6. ✅ 为数据库帐户使用强密码

发展

对于想要贡献或定制的开发人员:

许可证

MIT许可证-请参阅 许可证 详细信息文件

目录标签

目录标签

数据分析TypeScriptClaude数据库管理本地部署Laravel工具SQL执行数据库自省SSH隧道

支持客户端

Claude DesktopClaudeCursor

接入字段

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

stdio

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

session

运行时(runtime,运行环境)

Node.js

来源包(packageName,安装包名)

mcp-server-laravel-database

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdiosession部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP