/** * 根据数据库类型动态生成 MCP 工具描述 * * 不同数据库有完全不同的查询语法(SQL vs MongoDB JSON vs Redis 命令), * 通过动态生成工具描述,让 AI 准确了解当前数据库的查询方式。 */ type DbType = string | undefined; interface ToolDescription { name: string; description: string; inputSchema: Record; } /** * 多库模式上下文信息,用于在工具描述中标注当前活跃数据库 */ export interface MultiDbContext { currentDbName: string; currentDbType: string; } /** * 根据数据库类型获取 execute_query 工具描述 * @param dbType 数据库类型 * @param multiDbCtx 多库模式上下文(可选),提供时会在描述中标注当前活跃数据库 */ export declare function getExecuteQueryTool(dbType: DbType, multiDbCtx?: MultiDbContext): ToolDescription; /** * 根据数据库类型获取 get_schema 工具描述 * @param dbType 数据库类型 * @param options.tableNamesFilter 是否支持 tableNames 过滤参数(多库模式使用) */ export declare function getGetSchemaTool(dbType: DbType, options?: { tableNamesFilter?: boolean; }): ToolDescription; /** * 检测查询格式是否与当前数据库类型不匹配 * 返回 null 表示匹配(或无法判断),返回对象表示不匹配 * * queryCategory: 用于显示的查询类别名(如 "MongoDB"、"Redis"、"SQL") * matchDbTypes: 用于过滤可用数据库的类型集合 */ export declare function detectQueryTypeMismatch(query: string, currentDbType: string): { queryCategory: string; matchDbTypes: string[]; } | null; /** * 根据数据库类型获取 get_table_info 工具描述 */ export declare function getGetTableInfoTool(dbType: DbType): ToolDescription; export {}; //# sourceMappingURL=tool-descriptions.d.ts.map