DB Connector (MySQL/PostgreSQL)

DB Connector (MySQL/PostgreSQL)

🚀 DB MCP Server

DB MCP Server是一款强大的服务,能帮助你高效地进行数据库相关操作。本指南将详细介绍其快速开始、安装、使用等方面的内容,助你顺利使用该服务。

🚀 快速开始

要快速启动并运行DB MCP Server,请按照以下步骤操作:

  1. 下载源码
    git clone https://github.com/FreePeak/db-mcp-server.git
    cd db-mcp-server
    
  2. 安装依赖: 在项目根目录下,执行:
    go mod tidy
    
  3. 构建二进制文件: 执行以下命令编译可执行文件:
    go build -o bin/server .
    
  4. 运行服务: 启动服务器:
    ./bin/server --config=config.json
    
  5. 访问文档: 查看docs/目录下的详细使用说明。

📦 安装指南

安装依赖项

确保已安装以下工具:

  • Go语言环境(推荐版本1.20或更高)
  • Git用于克隆仓库

克隆仓库

在终端中运行:

git clone https://github.com/FreePeak/db-mcp-server.git
cd db-mcp-server

安装依赖

执行以下命令安装项目所需的Go包:

go mod tidy

构建可执行文件

构建服务器二进制文件:

go build -o bin/server .

配置服务

创建config.json配置文件,参考示例内容:

{
"port": 9095,
"mode": "sae", // 可选值:sae、http
"connections": [
{
"id": "mysql1",
"type": "mysql",
"host": "localhost",
"port": 3306,
"user": "root",
"password": "password",
"name": "testdb"
}
]
}

启动服务

运行以下命令启动服务器:

./bin/server --config=config.json

💻 使用示例

基本使用

SSE模式

在浏览器或其他客户端中,可以通过如下方式连接:

const eventSource = new EventSource('http://localhost:9095/sse');
eventSource.onmessage = (event) => {
console.log('Received:', event.data);
};

HTTP模式

通过REST API进行交互,支持JSON请求和响应。

配置文件说明

config.json主要包含以下配置项:

属性 详情
port 服务监听的端口,默认为9095。
mode 运行模式,可选值为saehttp,默认为sae(支持SSE)。
connections 数据库连接池配置,每个连接包含以下属性:
- id:唯一标识符。
- type:数据库类型(mysql、postgres等)。
- host:数据库主机地址。
- port:数据库端口。
- user:数据库用户名。
- password:用户密码。
- name:数据库名称。

示例使用场景

查询数据

{
"tool": "query_mysql",
"params": {
"query": "SELECT * FROM users LIMIT 10"
}
}

执行事务

{
"tool": "transaction_mysql",
"params": {
"operations": [
{ "query": "UPDATE orders SET status = 'paid'" },
{ "query": "INSERT INTO log (action) VALUES ('order paid')" }
]
}
}

📚 详细文档

常见问题与故障排除

1. 服务启动失败

  • 原因:配置文件错误或数据库连接不上。
  • 解决方法
    • 检查config.json中的数据库参数是否正确。
    • 确保数据库服务已运行且网络可达。

2. SSE模式无法建立连接

  • 原因:防火墙阻止了SSE通信,或者浏览器不支持EventSource API。
  • 解决方法
    • 确保目标端口开放,并检查网络连通性。
    • 使用最新版本的现代浏览器访问服务。

3. 性能问题

  • 原因:连接池配置不当或查询效率低下。
  • 解决方法
    • 根据数据库性能调优连接池参数,如max_open_connsmax_idle_conns
    • 优化SQL查询语句,避免全表扫描。

4. 日志与调试

  • 日志输出:默认情况下,服务会输出标准日志到控制台。若要启用文件日志,请参考文档进行配置。
  • 错误排查:检查服务器端口是否被占用,查看具体错误信息并解决问题。

更多资源

⚠️ 重要提示

如果遇到问题或有改进建议,请随时在GitHub上提出issue。

  • 0 关注
  • 0 收藏,21 浏览
  • system 提出于 2025-09-18 17:00

相似服务问题

相关AI产品