Integrations
Servidor de protocolo de contexto de modelo (MCP) basado en Java para JDBC
Un servidor MCP (Protocolo de Contexto de Modelo) ligero para JDBC, desarrollado con Quakrus . Este servidor es compatible con Virtuoso DBMS y otros backends DBMS con controlador JDBC.
Características
- Obtener esquemas : obtiene y enumera todos los nombres de esquemas de la base de datos conectada.
- Obtener tablas : recupera información de la tabla para esquemas específicos o todos los esquemas.
- Describir tabla : genere una descripción detallada de las estructuras de tabla, incluyendo:
- Nombres de columnas y tipos de datos
- Atributos que aceptan valores nulos
- Claves primarias y externas
- Tablas de búsqueda : filtre y recupere tablas según subcadenas de nombre.
- Ejecutar procedimientos almacenados : en el caso de Virtuoso, ejecutar procedimientos almacenados y recuperar resultados.
- Ejecutar consultas :
- Formato de resultado JSONL: optimizado para respuestas estructuradas.
- Formato de tabla Markdown: ideal para informes y visualización.
Prerrequisitos
El servidor MCP requiere Java 21 o superior.
Instalación
Clonar este repositorio:
Copy
Variables de entorno
Actualice su .env
anulando los valores predeterminados para que coincidan con sus preferencias
Copy
Configuración
Para usuarios de Claude Desktop : agregue lo siguiente a claude_desktop_config.json
:
Copy
Uso
Herramientas proporcionadas
Después de una instalación exitosa, las siguientes herramientas estarán disponibles para las aplicaciones cliente de MCP.
Descripción general
nombre | descripción |
---|---|
jdbc_obtener_esquemas | Enumere los esquemas de bases de datos accesibles al sistema de administración de bases de datos (DBMS) conectado. |
jdbc_obtener_tablas | Enumere las tablas asociadas con un esquema de base de datos seleccionado. |
tabla de descripción jdbc | Proporcione la descripción de una tabla asociada a un esquema de base de datos designado. Esto incluye información sobre nombres de columnas, tipos de datos, gestión de valores nulos, autoincremento, clave principal y claves foráneas. |
nombres de tabla de filtros jdbc | Enumere tablas basadas en un patrón de subcadena del campo de entrada q , asociado con un esquema de base de datos seleccionado. |
base de datos de consultas jdbc | Ejecuta una consulta SQL y devuelve resultados en formato JSONL. |
consulta_ejecutar_jdbc | Ejecuta una consulta SQL y devuelve resultados en formato JSONL. |
consulta_ejecutar_jdbc_md | Ejecuta una consulta SQL y devuelve los resultados en formato de tabla Markdown. |
consulta jdbc_spasql | Ejecutar una consulta SPASQL y devolver resultados. |
consulta jdbc_sparql | Ejecutar una consulta SPARQL y devolver resultados. |
jdbc_virtuoso_support_ai | Interactúe con el asistente/agente de soporte de Virtuoso: una función específica de Virtuoso para interactuar con los LLM |
Descripción detallada
- jdbc_obtener_esquemas
- Recupere y devuelva una lista de todos los nombres de esquemas de la base de datos conectada.
- Parámetros de entrada:
user
(cadena, opcional): nombre de usuario de la base de datos. El valor predeterminado es "demo".password
(cadena, opcional): Contraseña de la base de datos. El valor predeterminado es "demo".url
(cadena, opcional): cadena de conexión URL JDBC.
- Devuelve una matriz de cadenas JSON de nombres de esquemas.
- jdbc_obtener_tablas
- Recupera y devuelve una lista con información sobre las tablas de un esquema especificado. Si no se proporciona ningún esquema, se utiliza el esquema predeterminado de la conexión.
- Parámetros de entrada:
schema
(cadena, opcional): Esquema de base de datos para filtrar tablas. El valor predeterminado es el valor de conexión.user
(cadena, opcional): nombre de usuario de la base de datos. El valor predeterminado es "demo".password
(cadena, opcional): Contraseña de la base de datos. El valor predeterminado es "demo".url
(cadena, opcional): cadena de conexión URL JDBC.
- Devuelve una cadena JSON que contiene información de la tabla (por ejemplo, TABLE_CAT, TABLE_SCHEM, TABLE_NAME, TABLE_TYPE).
- nombres de tabla de filtros jdbc
- Filtra y devuelve información sobre las tablas cuyos nombres contienen una subcadena específica.
- Parámetros de entrada:
q
(cadena, obligatoria): la subcadena que se buscará dentro de los nombres de las tablas.schema
(cadena, opcional): Esquema de base de datos para filtrar tablas. El valor predeterminado es el valor de conexión.user
(cadena, opcional): nombre de usuario de la base de datos. El valor predeterminado es "demo".password
(cadena, opcional): Contraseña de la base de datos. El valor predeterminado es "demo".url
(cadena, opcional): cadena de conexión URL JDBC.
- Devuelve una cadena JSON que contiene información para las tablas coincidentes.
- tabla de descripción jdbc
- Recupere y devuelva información detallada sobre las columnas de una tabla específica.
- Parámetros de entrada:
schema
(cadena, obligatorio): el nombre del esquema de la base de datos que contiene la tabla.table
(cadena, obligatoria): el nombre de la tabla a describir.user
(cadena, opcional): nombre de usuario de la base de datos. El valor predeterminado es "demo".password
(cadena, opcional): Contraseña de la base de datos. El valor predeterminado es "demo".url
(cadena, opcional): cadena de conexión URL JDBC.
- Devuelve una cadena JSON que describe las columnas de la tabla (por ejemplo, COLUMN_NAME, TYPE_NAME, COLUMN_SIZE, IS_NULLABLE).
- base de datos de consultas jdbc
- Ejecuta una consulta SQL estándar y devuelve los resultados en formato JSON.
- Parámetros de entrada:
query
(cadena, obligatoria): la cadena de consulta SQL que se ejecutará.user
(cadena, opcional): nombre de usuario de la base de datos. El valor predeterminado es "demo".password
(cadena, opcional): Contraseña de la base de datos. El valor predeterminado es "demo".url
(cadena, opcional): cadena de conexión URL JDBC.
- Devuelve los resultados de la consulta como una cadena JSON.
- base de datos de consulta jdbc_md
- Ejecute una consulta SQL estándar y devuelva los resultados formateados como una tabla Markdown.
- Parámetros de entrada:
query
(cadena, obligatoria): la cadena de consulta SQL que se ejecutará.user
(cadena, opcional): nombre de usuario de la base de datos. El valor predeterminado es "demo".password
(cadena, opcional): Contraseña de la base de datos. El valor predeterminado es "demo".url
(cadena, opcional): cadena de conexión URL JDBC.
- Devuelve los resultados de la consulta como una cadena de tabla Markdown.
- base de datos de consulta jdbc_jsonl
- Ejecuta una consulta SQL estándar y devuelve los resultados en formato de líneas JSON (JSONL) (un objeto JSON por línea).
- Parámetros de entrada:
query
(cadena, obligatoria): la cadena de consulta SQL que se ejecutará.user
(cadena, opcional): nombre de usuario de la base de datos. El valor predeterminado es "demo".password
(cadena, opcional): Contraseña de la base de datos. El valor predeterminado es "demo".url
(cadena, opcional): cadena de conexión URL JDBC.
- Devuelve los resultados de la consulta como una cadena JSONL.
- consulta jdbc_spasql
- Ejecutar una consulta SPASQL (SQL/SPARQL híbrido) y devolver resultados. Esta función es específica de Virtuoso.
- Parámetros de entrada:
query
(cadena, obligatoria): la cadena de consulta SPASQL.max_rows
(número, opcional): Número máximo de filas a devolver. El valor predeterminado es 20.timeout
(número, opcional): Tiempo de espera de la consulta en milisegundos. El valor predeterminado es 30000.user
(cadena, opcional): nombre de usuario de la base de datos. El valor predeterminado es "demo".password
(cadena, opcional): Contraseña de la base de datos. El valor predeterminado es "demo".url
(cadena, opcional): cadena de conexión URL JDBC.
- Devuelve el resultado de la llamada al procedimiento almacenado subyacente (por ejemplo,
Demo.demo.execute_spasql_query
).
- consulta jdbc_sparql
- Ejecutar una consulta SPARQL y devolver resultados. Esta es una función específica de Virtuoso.
- Parámetros de entrada:
query
(cadena, obligatoria): la cadena de consulta SPARQL.format
(cadena, opcional): formato del resultado deseado. El valor predeterminado es 'json'.timeout
(número, opcional): Tiempo de espera de la consulta en milisegundos. El valor predeterminado es 30000.user
(cadena, opcional): nombre de usuario de la base de datos. El valor predeterminado es "demo".password
(cadena, opcional): Contraseña de la base de datos. El valor predeterminado es "demo".url
(cadena, opcional): cadena de conexión URL JDBC.
- Devuelve el resultado de la llamada de función subyacente (por ejemplo,
"UB".dba."sparqlQuery"
).
- jdbc_virtuoso_support_ai
- Utiliza una función del Asistente de IA específica de Virtuoso, que envía un mensaje y una clave API opcional. Esta función es específica de Virtuoso.
- Parámetros de entrada:
prompt
(cadena, obligatorio): el texto de solicitud para la función AI.api_key
(cadena, opcional): Clave de API para el servicio de IA. Su valor predeterminado es "ninguna".user
(cadena, opcional): nombre de usuario de la base de datos. El valor predeterminado es "demo".password
(cadena, opcional): Contraseña de la base de datos. El valor predeterminado es "demo".url
(cadena, opcional): cadena de conexión URL JDBC.
- Devuelve el resultado de la llamada a la función AI Support Assistant (por ejemplo,
DEMO.DBA.OAI_VIRTUOSO_SUPPORT_AI
).
Solución de problemas
Para solucionar problemas fácilmente:
- Instalar el Inspector MCP:Copy
- Iniciar el inspector:Copy
Acceda a la URL proporcionada para solucionar problemas de interacciones con el servidor.
This server cannot be installed
Servidor MCP de OpenLink para JDBC