OpenLink Generic Open Database Connectivity

OpenLink Generic Open Database Connectivity

Generic Database Management System (DBMS) access via Open Database Connectivity (ODBC) Connectors (Drivers)

9
Stars
5
Forks
0
Releases

Overview

OpenLink MCP Server for ODBC is a compact TypeScript layer built on top of node-odbc that routes MCP calls to the host system's ODBC Driver Manager via Node.js. It is designed to give Large Language Models transparent, SQL-capable access to ODBC data sources through a configured DSN (ODBC DSN). While the guide centers on Virtuoso's ODBC Connector, it supports other ODBC data sources as well. The server exposes a set of MCP tools (get_schemas, get_tables, describe_table, filter_table_names, query_database, query_database_md, query_database_jsonl, spasql_query, sparql_query, virtuoso_support_ai) that return results in JSON/JSONL/Markdown formats as appropriate. It assumes defaults such as user 'demo', password 'demo', and DSN 'Local Virtuoso', which can be overridden via environment variables or inputs. Setup involves installing MCP components, configuring an .env, and ensuring node-odbc and unixODBC are available. The README also provides troubleshooting for MCP Inspector usage and Apple Silicon ARM64 compatibility, including rebuilding the ODBC module for ARM64.

Details

Owner
OpenLinkSoftware
Language
TypeScript
License
MIT License
Updated
2025-12-07

Features

get_schemas

Retrieve a list of all schema names from the connected DBMS. Input parameters include user, password, and dsn with defaults (demo, demo, Local Virtuoso). Returns a JSON string array.

get_tables

List tables in a specified schema (or the default schema). Parameters include schema, user, password, dsn with defaults (demo, demo, Local Virtuoso). Returns JSON with table metadata (TABLE_CAT, TABLE_SCHEM, TABLE_NAME, TABLE_TYPE).

filter_table_names

Filter tables by a substring in their names. Input: q, schema, user, password, dsn with defaults. Returns JSON for matching tables.

describe_table

Describe columns of a specified table. Input: schema, table, user, password, dsn with defaults. Returns JSON describing columns (COLUMN_NAME, TYPE_NAME, COLUMN_SIZE, IS_NULLABLE).

query_database

Execute a standard SQL query and return results in JSON format. Input: query, user, password, dsn with defaults.

query_database_md

Execute a standard SQL query and return results formatted as a Markdown table. Input: query, user, password, dsn with defaults.

query_database_jsonl

Execute a standard SQL query and return results in JSON Lines (JSONL) format. Input: query, user, password, dsn with defaults.

spasql_query

Execute a SPASQL query (Virtuoso-specific); supports max_rows, timeout, user, password, dsn. Returns the underlying stored procedure result.

Audience

LLM developersProvide MCP-based access to ODBC data sources so AI assistants can run queries and fetch data via the MCP ODBC bridge.
DBMS integratorsBridge Virtuoso and other ODBC sources to MCP-enabled apps for data retrieval via structured MCP calls.

Tags

ODBCMCPODBC ServerVirtuosoSPASQLSPARQLSQLTypeScriptNode.jsData Source NameJSONLMarkdownInspectorARM64