A lightweight MCP (Model Context Protocol) server for ODBC built with FastAPI, pyodbc, and SQLAlchemy. This server is compatible with Virtuoso DBMS and other DBMS backends that implement a…
MCP Server ODBC via SQLAlchemy is an MCP project maintained in the openlinksoftware/mcp-server-odbc repository. The maintainer describes its purpose as “A lightweight MCP (Model Context Protocol) server for ODBC built with FastAPI, pyodbc, and SQLAlchemy. This server is compatible with Virtuoso DBMS and other DBMS…”. Read the project documentation for the complete scope.
The project provides a local client configuration using uv. Follow the repository’s build and installation steps before copying it, and replace example paths with the paths on your own computer.
The example declares ODBC_DSN, ODBC_USER, ODBC_PASSWORD, API_KEY. Secret-looking values have been replaced with placeholders. Required and optional labels are shown only when the documentation states them.
Project documentation · Repository · Discovery listing. This profile records the public documentation checked on 2026-10-08.
Check the linked publisher documentation and your connected client's tool list. Names and availability can vary with the server version and account permissions.
| Tool | What it does |
|---|---|
| podbc_get_schemas | List database schemas accessible to connected database management system (DBMS). |
| user | string, optional): Database username. Defaults to "demo". |
| password | string, optional): Database password. Defaults to "demo". |
| dsn | string, optional): ODBC data source name. Defaults to "Local Virtuoso". |
| podbc_get_tables | List tables associated with a selected database schema. |
| schema | string, required): The database schema name containing the table. |
| podbc_filter_table_names | List tables, based on a substring pattern from the q input field, associated with a selected database schema. |
| podbc_describe_table | Provide the description of a table associated with a designated database schema. This includes information about column names, data types, nulls handling… |
| table | string, required): The name of the table to describe. |
| podbc_query_database | Execute a SQL query and return results in JSONL format. |
| query | string, required): The SPARQL query string. |
| podbc_query_database_md | Execute a standard SQL query and return the results formatted as a Markdown table. |
| podbc_query_database_jsonl | Execute a standard SQL query and return the results in JSON Lines (JSONL) format (one JSON object per line). |
| podbc_spasql_query | Execute a SPASQL query and return results. |
| max_rows | number, optional): Maximum number of rows to return. Defaults to 20. |
| timeout | number, optional): Query timeout in milliseconds. Defaults to 30000. |
| podbc_sparql_query | Execute a SPARQL query and return results. |
| format | string, optional): Desired result format. Defaults to 'json'. |
| podbc_virtuoso_support_ai | Interact with the Virtuoso Support Assistant/Agent -- a Virtuoso-specific feature for interacting with LLMs |
| prompt | string, required): The prompt text for the AI function. |
| api_key | string, optional): API key for the AI service. Defaults to "none". |
| podbc_execute_query | Execute a SQL query and return results in JSONL format. |
| podbc_execute_query_md | Execute a SQL query and return results in Markdown table format. |
{
"mcpServers": {
"my_database": {
"command": "uv",
"args": [
"--directory",
"/path/to/mcp-sqlalchemy-server",
"run",
"mcp-sqlalchemy-server"
],
"env": {
"ODBC_DSN": "dsn_name",
"ODBC_USER": "username",
"ODBC_PASSWORD": "YOUR_ODBC_PASSWORD",
"API_KEY": "YOUR_API_KEY"
}
}
}
}From the project documentation. Replace placeholders and example paths before connecting.
| Variable | Description | Required |
|---|---|---|
| ODBC_DSN | Declared in the maintainer’s client configuration. | Check documentation |
| ODBC_USER | Declared in the maintainer’s client configuration. | Check documentation |
| ODBC_PASSWORD | Declared in the maintainer’s client configuration. | Check documentation |
| API_KEY | Declared in the maintainer’s client configuration. | Optional |
Inspect PostgreSQL schemas and run read-only queries with the archived MCP reference server. Review its maintenance status before choosing it.
Connect the Notion MCP server to search workspace content and work with pages and databases through Notion’s hosted OAuth service.
Use the Supabase MCP server to inspect database schemas, query project data and retrieve docs through a project-scoped connection.
Query, modify and analyse local SQLite databases in conversation — the fastest way to chat with a data file.
Metabase ships its own MCP endpoint — search your BI content, build and run queries, and save questions and dashboards without leaving the chat.
Official MongoDB server covering data, schemas and Atlas management — from find queries to spinning up clusters.