PHP MySQL MCP服务器的克劳德代码
使用模型上下文协议(MCP)的Claude Code的便携式、安全且易于使用的MySQL数据库接口。完全内置于PHP中,零依赖。
🚀 快速开始
./install-mysql-mcp.sh重新启动Claude Code,就完成了!
📋 这有什么作用
赋予Claude Code以下能力:
- 📊 列出并浏览数据库表
- 🔍 在数据库中搜索数据
- 📈 执行只读SQL查询
- 📝 分析表结构和模式
- 🔢 计数行并获取统计数据
全是自然语言! 问问克劳德你的数据库。
🎯 特性
- 6强大的工具:探索和查询数据库所需的一切
- 只读和安全:只允许SELECT查询,不允许修改数据
- 零依赖:纯PHP,不需要外部包
- 便携的:一个脚本安装所有内容
- 多数据库:同时连接到多个数据库
- SQL注入保护:内置安全措施
- 团队友好:易于共享和部署
📦 安装
先决条件
- PHP 7.4+ 使用PDO MySQL扩展
- MySQL 数据库访问
- 克劳德代码 安装
安装PHP
# macOS
brew install php
# Ubuntu/Debian
sudo apt-get install php-cli php-mysql
# Fedora/CentOS
sudo dnf install php-cli php-mysqlnd
# Verify
php --version
php -m | grep pdo_mysql自动安装(推荐)
# Clone the repository
git clone git@github.com:sderhy/php-mysql-mcp-server.git
cd php-mysql-mcp-server
# Run the installer
./install-mysql-mcp.sh安装程序将:
- ✅ 检查先决条件
- ✅ 请求数据库凭据
- ✅ 测试数据库连接
- ✅ 创建配置文件
- ✅ 使用克劳德代码注册
- ✅ 验证安装
然后重新启动Claude Code,你就准备好了!
手动安装
# 1. Create config
cp mysql-config.example.json mysql-config.json
nano mysql-config.json
# 2. Register with Claude Code
claude mcp add --scope user --transport stdio mysql-mydb -- \
php $(pwd)/mysql-mcp-server.php
# 3. Verify
claude mcp list🎮 用法示例
安装后,与Claude Code自然交互:
You: What tables are in my database?
Claude: [Lists all tables with descriptions]
You: Show me the users table structure
Claude: [Displays columns, types, indexes, and row count]
You: How many active users do I have?
Claude: [Counts rows where status = 'active']
You: Find all orders from last month
Claude: [Executes appropriate SELECT query]
You: Search for email john@example.com
Claude: [Searches across all columns in users table]🔧 可用工具
- list_tables -列出所有表(带可选模式过滤器)
- describe_table -获取完整的架构信息
- 查询数据库 -执行SELECT查询(最多1000行)
- get_table_row_count -使用可选的WHERE子句计数行
- search_tables -在所有列中搜索值
- get_table_sample -获取示例行以理解数据
🔒 安全
- 只读的:只允许SELECT语句
- SQL注入防护:输入验证和准备报表
- 凭证保护:配置文件被git忽略
- 速率限制:自动限制执行
- 查询验证:阻止危险的SQL关键字
被阻止的操作:INSERT、UPDATE、DELETE、DROP、CREATE、ALTER、TRUNCATE、GRANT、REVOKE
🌍 分发与共享
创建便携包
./create-portable-package.sh创建一个12KB的tarball,其中包含所需的一切:
- MCP服务器实现
- 安装脚本
- 配置模板
- 完整的文件
与团队分享
方法1:通过Git
# Team members clone
git clone git@github.com:sderhy/php-mysql-mcp-server.git
cd php-mysql-mcp-server
# Each person runs
./install-mysql-mcp.sh方法2:通过打包
# Create package
./create-portable-package.sh
# Share the tarball
# Each person extracts and runs ./install-mysql-mcp.sh备注:凭据从不提交(git忽略)。每个用户都输入自己的。
⚙️ 配置
基本配置
mysql-config.json:
{
"host": "localhost",
"port": 3306,
"database": "my_database",
"username": "my_user",
"password": "my_password",
"charset": "utf8mb4"
}多个数据库
安装多个实例:
./install-mysql-mcp.sh # Name: mysql-production
./install-mysql-mcp.sh # Name: mysql-staging
./install-mysql-mcp.sh # Name: mysql-development远程数据库
只需配置主机:
{
"host": "db.example.com",
"port": 3306,
"database": "production",
...
}SSH隧道
# Create tunnel
ssh -L 3307:localhost:3306 user@remote-server
# Configure
{
"host": "localhost",
"port": 3307,
...
}🐛 故障排除
常见问题
| 问题 | 解决方案 |
|---|---|
claude 找不到命令 | 确保安装了Claude Code;检查 which claude |
| 未配置MCP服务器 | 使用 claude mcp add,不是手动编辑文件 |
| 服务器未出现 | 完全退出并重新启动Claude Code |
| 连接失败 | 测试: mysql -h HOST -u USER -p DATABASE |
| 缺少PDO扩展 | 安装: apt-get install php-mysql |
验证命令
# Check PHP
php --version
php -m | grep pdo_mysql
# Check registration
claude mcp list
# Check Claude Code
# In Claude Code, run: /mcp
# Check logs
tail -f ~/.claude/debug/latest | grep -i mysql重置安装
# Remove server
claude mcp remove mysql-mydb
# Clean config
rm mysql-config.json
# Reinstall
./install-mysql-mcp.sh📚 文档
- START-HERE.md -2分钟快速启动
- README-PORTABLE.md -安装和使用指南
- README-MYSQL.md -完整的技术文档
- 项目结构.md -架构和文件结构
- 克劳德代码MCP文档
- 模型上下文协议
🤝 贡献
这是一个参考实现,旨在:
- 简单:易于理解和修改
- 便携的:适用于任何运行PHP的地方
- 安全:只读,内置保护
- 教育的:了解MCP的工作原理
请随意:
- 根据您的需求进行分叉和定制
- 为特定用例添加新工具
- 适应其他数据库(PostgreSQL、SQLite等)
- 与社区分享改进
🌟 为什么是PHP?
PHP是MCP服务器的绝佳选择:
- 无处不在的:适用于大多数系统
- 零设置:没有npm,没有虚拟环境,没有构建步骤
- 快速:即时启动,非常适合stdio通信
- 便携的:单文件部署
- 战斗测试:用于数据库访问的成熟PDO库
📜 许可证
ISC-免费使用、修改和分发
🙏 致谢
专为Claude Code社区打造。受人工智能辅助开发中对简单、安全的数据库访问需求的启发。
______________________________________________________________________
需要帮助?
- 检查 START-HERE.md 快速启动
- 阅读 README-PORTABLE.md 用于安装
- 审查 README-MYSQL.md 查看详细文档
- 检查上面的故障排除部分
快乐查询! 🎉
