LabscoMCP early access ↗
OpenLinkSoftwareMCP SERVER · OFFICIAL PROJECT

SQLAlchemy ODBC

Point an assistant at any database you can reach over ODBC - schemas, tables, column detail, and query results as JSONL or as a Markdown table.

by OpenLinkSoftware ↗Relational SQL Databases✓ Official

LABSCO SUMMARY

One connection covers every database your ODBC layer already reaches.

Because the connection is a DSN rather than a driver compiled into the server, adding a second database is an ODBC entry rather than another MCP server - and the same query can come back as JSONL for a machine or as a table for a person.

What it is

An ODBC bridge built on SQLAlchemy and pyodbc. It connects through a DSN you have already configured, so any backend with a SQLAlchemy provider is in reach - Virtuoso included - and the same schema and query calls work across all of them.

What you get

  • Every schema name on the connected database
  • Tables for one schema, or across all of them
  • Tables filtered by a substring, for the one whose name you half-remember
  • A table described in full: columns and data types, nullability, primary and foreign keys
  • Queries executed and returned as JSONL, for a result the next step will consume
  • The same query returned as a Markdown table, for a result a person will read

Requirements

unixODBC with your driver installed and a DSN configured in ~/.odbc.ini, plus uv to run the server. Connection settings — the DSN, the user and the password — go in .env, and the SQLAlchemy URL takes the form virtuoso+pyodbc://user:password@VOS. Check the ODBC side first with odbcinst -j and odbcinst -q -s, before wiring the client up.

Setup effort

Build from source — git clone https://github.com/OpenLinkSoftware/mcp-sqlalchemy-server.git