尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

MCP Toolbox 配置速成:10 分钟跑通 tools.yaml,让 AI 连上第一个 MySQL

MCP Toolbox 配置速成:10 分钟跑通 tools.yaml,让 AI 连上第一个 MySQL MCP Toolbox 配置速成10 分钟跑通 tools.yaml让 AI 连上第一个 MySQL【免费下载链接】mcp-toolboxMCP Toolbox for Databases is an open source MCP server for databases.项目地址: https://gitcode.com/GitHub_Trending/ge/mcp-toolbox给 AI 助手接上查数据库的手是 MCP Toolbox 最典型的用法。它本身是一个数据库专用的 MCP 服务器你把连接信息写进一个 YAML 文件AI 端就能调用工具查表、跑 SQL。跟完本文你手里会有一份能直接启动的 tools.yaml以及一个在 8080 端口监听的本地服务。一张图看懂 tools.yaml 的模块关系整个文件由若干段以---分隔的 YAML 文档组成每段用kind字段区分角色。source 只管怎么连库tool 只管能做什么toolset 只管把哪些 tool 打包给哪个 Agent。三者靠名字互相引用谁也不依赖谁的内容。最小可运行配置先跑通再说把下面这段存为tools.yaml它已经足够启动kind: source name: mysql-source # source 块的唯一名字 type: mysql # 数据源类型 host: ${MYSQL_HOST:localhost} port: ${MYSQL_PORT:3306} database: ${MYSQL_DATABASE} user: ${MYSQL_USER} password: ${MYSQL_PASSWORD} --- kind: tool name: execute_sql type: mysql-execute-sql # 工具类型执行 SQL source: mysql-source # 必须指向上面 source 的 name description: Use this tool to execute SQL.必填与可选字段一次看全字段必填作用name是块内唯一名字被其他块引用type是决定行为如 mysql、postgreshost / port / database是连接地址三件套user / password是数据库账号建议走环境变量queryParams否附加连接参数queryTimeout否查询超时如30s启动服务toolbox serve --config tools.yaml --address 0.0.0.0 --port 8080看到监听日志后AI 端连上 8080 即可发现execute_sql这个工具。source 块可选字段怎么加source 是唯一直接接触数据库的块。最小配置里没写queryParams和queryTimeout补上后是这样只展示增量行queryParams: ${MYSQL_QUERY_PARAMS:} # 冒号后留空表示可为空 queryTimeout: 30s # 单条查询的超时上限type不同字段也不同sqlite 只需要database路径BigQuery 只需要项目与位置不需要 host 和 port。各类型的完整字段见 source 文档 和 预置配置目录。tool 块参数化工具怎么写动态 SQL 工具如mysql-execute-sql让 Agent 自由写 SQL灵活但不设防。固定流程更推荐参数化工具SQL 结构写死输入只能填进占位符天然防注入。kind: tool name: search-hotels-by-name type: postgres-sql # 自定义 SQL 工具 source: my-pg-source description: Search for hotels based on name. statement: SELECT * FROM hotels WHERE name ILIKE % || $1 || %; parameters: # $1 对应第一个参数 - name: name type: string description: The name of the hotel.statement里的$1是 Postgres 占位符MySQL 用?。参数顺序必须与parameters列表一致。toolset 块把工具按用途打包一个 AI 应用往往只该看到一部分工具。toolset 就是工具清单kind: toolset name: monitor tools: - list_active_queries - list_all_locks - show_query_stats需要同时打包 prompts预置提示词时改用kind: group多一个prompts字段即可kind: toolset只是只含工具的分组老配置无需改动。敏感信息环境变量统一处理规则只有一条密钥类字段不落盘。引用格式是${ENV_NAME}可带默认值${ENV_NAME:default}password: ${MYSQL_PASSWORD} # 未设置时启动直接报错安全 port: ${DB_PORT:3306} # 未设置时回落到 3306password、API key 一律不设默认值host、port 这类非机密字段可以设方便本地快速启动。排错速查按出现频率排序报错现象可能原因修复动作tool 引用了不存在的 sourcesource字段拼写与 source 块name不一致逐字对照改名connection refused / timeouthost、port 错或数据库没启动telnet测端口先确认库是活的access denied环境变量值错或指向了错误账号echo $MYSQL_PASSWORD核对启动报缺少字段${MYSQL_DATABASE}这类变量为空设置变量或补${VAR:default}unknown tool typetype拼错或本地版本过旧对照 CLI 参考 修正配置里开ignoreUnknownTools可跳过未知类型并只告警进阶技巧三条真正省时间的做法复用预置配置不用从零写。仓库内置几十套现成工具直接--prebuiltpostgres加载整套--prebuiltpostgres/data还能只取其中一个工具集并可叠加--config混入自己的自定义工具。改配置不用重启服务。Toolbox 会轮询 tools.yaml 的变化保存即生效轮询间隔由pollInterval控制确定不再改动时用disableReload关掉。按最小权限发账号。给 Agent 的数据库账号只授SELECT固定查询走参数化工具execute-sql类动态工具只留给可信的探索场景。速查表与下一步块kind干什么关键必填字段数据源source声明怎么连库name, type, host, port, database, user, password工具tool声明一个可调用动作name, type, source工具集toolset打包多个工具name, tools分组group打包 tools promptsname, tools 或 prompts关键路径配置总览在 configuration 文档可直接抄的完整样例在 预置配置目录。下一步把type改成 postgres连上你自己的第一个库。【免费下载链接】mcp-toolboxMCP Toolbox for Databases is an open source MCP server for databases.项目地址: https://gitcode.com/GitHub_Trending/ge/mcp-toolbox创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表