Skip to content

feat(mysql): MCP 支持管理微搭 MySQL 连接器,连接外部 MySQL 实例 #533

@binggg

Description

@binggg

需求描述

当前 querySqlDatabase / manageSqlDatabase 工具仅支持操作环境内托管的 MySQL(Serverless CynosDB),无法连接外部 MySQL 实例。

现状:云开发微搭(WeDa)控制台已支持 MySQL 连接器(对接自有 MySQL / TDSQL-C MySQL / TencentDB MySQL),但该能力纯 GUI 操作,缺少 API 接口,MCP 和 Manager SDK 均无法覆盖。

希望 MCP 层能管理 MySQL 连接器,使 AI Agent 可以直接操作外部 MySQL 数据库。

微搭 MySQL 连接器现有能力

能力 说明
接入方式 公网 IP/域名、腾讯云数据库实例 ID(目前仅上海地域)
支持数据库 自有 MySQL、TDSQL-C MySQL 版、TencentDB MySQL
支持操作 SELECT / INSERT / UPDATE / DELETE
不支持操作 DDL(CREATE / DROP / ALTER / TRUNCATE)
安全机制 默认开启 SQL 预编译防注入
环境隔离 支持开发阶段和发布阶段使用不同连接配置
操作入口 微搭控制台 → 数据源管理(纯 GUI,无 API)

参考文档:微搭 MySQL 连接器 | 如何对接内部、外部数据

使用场景

  1. 用户已有自建 MySQL / 腾讯云 CVM 上的 MySQL / TencentDB for MySQL,希望用 AI 编程直接查询和操作
  2. AI Agent 辅助数据迁移、数据校验等跨库操作
  3. 开发调试阶段需要快速查询外部数据库状态

期望的 API 设计

新增 MCP 工具:manageMySQLConnector

管理 MySQL 连接器的生命周期:

// 创建连接器
{
  "action": "create",
  "name": "my-external-db",
  "config": {
    "host": "10.0.0.1",
    "port": 3306,
    "user": "admin",
    "password": "***",
    "database": "my_app"
  }
}

// 查询连接器列表
{
  "action": "list"
}

// 测试连接
{
  "action": "testConnection",
  "name": "my-external-db"
}

扩展现有工具:querySqlDatabase

新增 connectorName 参数,指定通过哪个连接器执行 SQL:

{
  "action": "runQuery",
  "connectorName": "my-external-db",
  "sql": "SELECT * FROM users LIMIT 10"
}

前置依赖

MCP 层面的支持需要后端先提供 API:

  1. Manager Node SDK 新增 MySQL 连接器管理 API(创建/查询/更新/删除/测试连接)
  2. 或在现有 app.mysql 模块下扩展 runSql 支持 DbInstance 传入外部连接凭证

建议先推动后端 API 建设,MCP 再跟进适配。

相关 Issue / 文档

Metadata

Metadata

Assignees

No one assigned

    Labels

    ai-fixAI automation created a fix PR for this issueai-processedAI automation already processed this issueenhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions