ODBC Server via PyODBC is an MCP server that provides SQL and metadata inspection tools for databases connected through ODBC drivers via pyodbc. Developed by OpenLink Software, it connects LLM clients directly to OpenLink Virtuoso DBMS as well as any other relational database backend supporting unixODBC. Data engineers, SQL developers, and analysts use this server to explore remote database environments, examine schemas, inspect table structures, and run queries directly from conversational interfaces. In addition to standard SQL execution that returns results in JSON, JSONL, or Markdown table formats, the server provides specialized functions for Virtuoso environments. These include executing hybrid SPASQL queries that combine SQL and SPARQL, as well as accessing Virtuoso-specific AI support functions. By bridging the Model Context Protocol with unixODBC, it gives AI assistants structured access to relational and knowledge graph databases without requiring dedicated API wrappers for each individual database engine.
Category: Databases & Data Stores
Tags: database-connector, odbc, pyodbc, SQL, virtuoso
odbcinst -j and listing available data sources with odbcinst -q -s. 2. Ensure your target ODBC Data Source Name is configured in your ~/.odbc.ini file. 3. Install uv via pip (pip install uv) or Homebrew (brew install uv). 4. Clone the repository: bash git clone https://github.com/OpenLinkSoftware/mcp-pyodbc-server.git cd mcp-pyodbc-server 5. Set your environment variables in .env or pass them directly in your client configuration (ODBC_DSN, ODBC_USER, ODBC_PASSWORD, API_KEY). 6. Add the server entry to claude_desktop_config.json: json { "mcpServers": { "my_database": { "command": "uv", "args": ["--directory", "/path/to/mcp-pyodbc-server", "run", "mcp-pyodbc-server"], "env": { "ODBC_DSN": "dsn_name", "ODBC_USER": "username", "ODBC_PASSWORD": "password", "API_KEY": "sk-xxx" } } } }Part of MCP Servers
ODBC Server via PyODBC allows MCP clients to explore database schemas, inspect table columns and constraints, search table names, and execute SQL queries. It returns query results formatted as JSON, JSONL, or Markdown tables, and includes specialized support for executing Virtuoso SPASQL queries and Virtuoso AI support functions.
The server supports OpenLink Virtuoso DBMS and any relational database management system that provides a working ODBC driver configured in unixODBC. Connecting requires defining a valid Data Source Name in your ODBC configuration.
Ensure unixODBC and uv are installed, configure your target DSN in your odbc.ini file, clone the official GitHub repository, and add the server execution command to your client configuration file like Claude Desktop.
Any client supporting the Model Context Protocol can use ODBC Server via PyODBC. The documentation specifically details setup for Claude Desktop and testing with the Model Context Protocol Inspector tool.
Yes, ODBC Server via PyODBC is open source software maintained by OpenLink Software on GitHub, allowing developers to inspect, modify, and run the server locally.