Ir al contenido

Conectores MCP requieren tool_search en cada sesión

Los conectores MCP de tipo mssql-* están marcados como deferred tools en el sistema de Claude. Esto significa que en cada nueva sesión, Claude no conoce sus parámetros y llama a tool_search antes de poder usarlos — aunque los haya usado miles de veces antes.

CampoValor
Fecha2026-03-02
SeveridadBaja (UX / coste de tokens)
EstadoWorkaround aplicado
  • mssql-MyDatabase
  • mssql-MyDatabase_LOCAL
  • mssql-PROD-SERVER
  • mssql-SQL01
  • mssql-MyIdentityDB
  • Coste de tokens innecesario en cada sesión que toca BD
  • Latencia extra — una llamada adicional antes de la consulta real
  • Todos los conectores mssql-* comparten el mismo schema de funciones, por lo que el tool_search es redundante

Todos los conectores exponen exactamente las mismas funciones:

FunciónParámetros
query_databasequery: string
get_database_info
exploretype?: string, filter?: string, schema?: string, pattern?: string, search_in?: string
inspecttable_name: string, schema?: string, detail?: string
execute_procedureprocedure_name: string, parameters?: string

El sistema de deferred tools no distingue entre tools “conocidos por training” y tools que requieren descubrimiento real. Todos los MCP pasan por el mismo mecanismo aunque su schema sea estático y conocido.

Se añadió una nota en la memoria de usuario de Claude con el schema completo de los conectores:

Conectores mssql (...): NO hacer tool_search, usar directamente:
query_database(query), list_tables(), describe_table(table_name, schema?), ...

Con esto Claude salta el tool_search y llama directamente al conector.

Que los conectores mssql-* (u otros con schema estático y bien definido) puedan marcarse como pre-loaded o que Claude los reconozca por prefijo sin necesidad de tool_search.