MCP Server ODBC via SQLAlchemy
@OpenLinkSoftware
A simple MCP ODBC server using FastAPI, ODBC and SQLAlchemy.
Overview
What is MCP Server ODBC via SQLAlchemy?
A lightweight MCP server for ODBC databases built with FastAPI, pyodbc, and SQLAlchemy. It is compatible with Virtuoso DBMS and any DBMS that provides a SQLAlchemy driver (e.g., PostgreSQL, MySQL, SQLite). Designed for developers and AI assistants that need structured database access via the Model Context Protocol.
How to use MCP Server ODBC via SQLAlchemy?
Install the uv package manager, set up an ODBC Data Source Name (DSN), and configure environment variables (ODBC_DSN, ODBC_USER, ODBC_PASSWORD, API_KEY). Run the server with uv run mcp-sqlalchemy-server from the cloned repository. For Claude Desktop, add the server configuration to claude_desktop_config.json.
Key features of MCP Server ODBC via SQLAlchemy
- Retrieve and list database schemas.
- List tables for a specific schema or all schemas.
- Describe table structure including columns, keys, and nullability.
- Search tables by name substring.
- Execute SQL queries with JSONL or Markdown output.
- Execute stored procedures (Virtuoso‑specific).
- Execute SPASQL and SPARQL queries (Virtuoso‑specific).
- Interact with the Virtuoso Support Assistant AI.
Use cases of MCP Server ODBC via SQLAlchemy
- Query a database and get results in a format suitable for AI analysis.
- Explore database schema and table metadata without a separate client.
- Generate Markdown reports from SQL queries.
- Use Virtuoso‑specific features like SPARQL and AI assistant from MCP clients.
FAQ from MCP Server ODBC via SQLAlchemy
What databases are supported?
Compatible with any DBMS that has a SQLAlchemy provider, including Virtuoso, PostgreSQL, MySQL, and SQLite.
How do I authenticate with the server?
Authentication is handled via the API_KEY environment variable; no additional authentication mechanism is described.
What are the prerequisites?
You need uv, a working unixODBC installation with an ODBC DSN configured, and the corresponding SQLAlchemy/pyodbc driver.
Are there Virtuoso‑only features?
Yes: executing SPASQL and SPARQL queries, running stored procedures, and using the Virtuoso Support Assistant AI tool.
Which transport does the server use?
The README does not specify the transport protocol; it is configured as a standard MCP server for Claude Desktop (stdio).