DB代理MCP服务器
MySQL查询数据库MCP服务器。
安装,安装
1.安装相关性
bun install2.设置环境变量
.env创建文件并设置以下环境变量:
# データベース設定(必須)
DB_HOST=localhost
DB_PORT=3306
DB_USER=root
DB_PASS=root
DB_NAME=appdb
# サーバー設定(オプション)
PORT=3000
# 認証設定(オプション)
AUTH_ENABLED=false # 認証を有効にする場合は true
API_KEY=your-secret-api-key # 認証が有効な場合に使用するAPIキー关于认证:
AUTH_ENABLED=false(默认):无需认证即可运行(面向开发环境)AUTH_ENABLED=true:将启用身份验证。在这种情况下API_KEY必须设置- 如果验证有效,则请求可以使用以下方法之一:API必须包含键:
- Authorization: Bearer 页眉 - Authorization: ApiKey 页眉 - X-API-Key: 页眉
3. MySQL启动数据库
docker build -t local-mcp-mysql ./docker/mysql
docker run -d \
-p 3306:3306 \
--name mcp-mysql \
-e MYSQL_ROOT_PASSWORD=root \
local-mcp-mysql
docker exec -it mcp-mysql mysql -uroot -proot appdbDocker停止/删除容器
停止容器时:
docker stop mcp-mysql停止并删除容器:
docker stop mcp-mysql
docker rm mcp-mysql如果在不停止的情况下删除容器(强制删除):
docker rm -f mcp-mysql4. MCP启动服务器
HTTP作为服务器启动:
bun run start默认值http://localhost:3000/mcp中所述修改相应参数的值。更改端口时的环境变量PORT中所述修改相应参数的值。
PORT=8080 bun run start关于认证:
- 默认情况下,认证无效(
AUTH_ENABLED=false) - 在生产环境中
AUTH_ENABLED=true和API_KEY中所述修改相应参数的值
5. MCP客户端设置
Cursor在…的情况下
如果认证无效(开发环境):
Cursor的配置文件(~/.cursor/mcp.json 或设置UI)添加:
{
"mcpServers": {
"db-agent": {
"url": "http://localhost:3000/mcp"
}
}
}如果启用认证(生产环境):
headers使用区域API指定键。可以使用以下方法之一:
方法1:X-API-Key使用页眉
{
"mcpServers": {
"db-agent": {
"url": "http://localhost:3000/mcp",
"headers": {
"X-API-Key": "your-secret-api-key"
}
}
}
}方法2:Authorization使用页眉(Bearer格式)
{
"mcpServers": {
"db-agent": {
"url": "http://localhost:3000/mcp",
"headers": {
"Authorization": "Bearer your-secret-api-key"
}
}
}
}方法3:Authorization使用页眉(ApiKey格式)
{
"mcpServers": {
"db-agent": {
"url": "http://localhost:3000/mcp",
"headers": {
"Authorization": "ApiKey your-secret-api-key"
}
}
}
}Claude Desktop在…的情况下
如果认证无效(开发环境):
~/Library/Application Support/Claude/claude_desktop_config.json 添加:
{
"mcpServers": {
"db-agent": {
"url": "http://localhost:3000/mcp"
}
}
}如果启用认证(生产环境):
headers使用区域API指定密钥:
{
"mcpServers": {
"db-agent": {
"url": "http://localhost:3000/mcp",
"headers": {
"X-API-Key": "your-secret-api-key"
}
}
}
}或
{
"mcpServers": {
"db-agent": {
"url": "http://localhost:3000/mcp",
"headers": {
"Authorization": "Bearer your-secret-api-key"
}
}
}
}重要: MCP在动态输入提示中单击Cursor啊Claude Desktop中所述修改相应参数的值。
使用方法
MCP客户端使用以下两种工具SQL可以执行查询。
run_query_readonly -只读查询(不需要批准)
SELECT、SHOW、DESCRIBE、DESC、EXPLAIN执行查询。此工具不要求批准。
例:
SELECT * FROM users LIMIT 10;SELECT COUNT(*) FROM sessions;SHOW TABLES;DESCRIBE users;EXPLAIN SELECT * FROM users;
run_query_write -写入查询(需要批准)
INSERT、UPDATE、DELETE、CREATE、DROP、ALTER等已弃用的函数的缺少的支持。此工具要求用户批准。
例:
INSERT INTO users (name, email) VALUES ('John', 'john@example.com');UPDATE users SET name = 'Jane' WHERE id = 1;DELETE FROM sessions WHERE expired_at < NOW();CREATE TABLE products (id INT PRIMARY KEY, name VARCHAR(255));
