ODBC MCP Server
@tylerstoltz
MCP server for connecting clients like Claude Desktop to ODBC data sources
Overview
What is ODBC MCP Server?
ODBC MCP Server is an MCP (Model Context Protocol) server that enables LLM tools like Claude Desktop to query databases via ODBC connections. It allows Claude and other MCP clients to access, analyze, and generate insights from database data while maintaining security and read-only safeguards.
How to use ODBC MCP Server?
Install via git clone, create a Python virtual environment with UV, and run uv pip install -e .. Configure using a .ini config file or Claude Desktop settings, then start the server with odbc-mcp-server --config path/to/config.ini. Tools like list-tables and execute-query become available in the MCP client.
Key features of ODBC MCP Server
- Connect to any ODBC-compatible database
- Support for multiple database connections
- Flexible configuration via config file or Claude Desktop settings
- Read-only safeguards to prevent data modification
- Easy installation with UV package manager
- Detailed error reporting and logging
Use cases of ODBC MCP Server
- Query databases directly from Claude Desktop conversations
- Explore table schemas and database structures
- Run ad‑hoc SQL queries for data analysis
- Generate insights from sales or customer data
- Troubleshoot database issues with guided prompts
FAQ from ODBC MCP Server
What are the prerequisites for ODBC MCP Server?
Python 3.10 or higher, the UV package manager, and ODBC drivers for your database(s) installed on the system. For Sage 100 Advanced, the ProvideX ODBC driver is required.
How do I configure ODBC MCP Server?
Configuration can be done through a dedicated .ini config file, environment variables, or directly in the Claude Desktop claude_desktop_config.json file. The config file specifies DSN, credentials, connection timeout, and maximum rows returned.
Does ODBC MCP Server allow data modification?
No, the server enforces read-only safeguards by default (set readonly = true in the configuration). This prevents accidental or unauthorized writes to the database.
How do I resolve ProvideX (Sage 100) connection issues?
Use a minimal configuration with only DSN, username, password, and company parameters. Always set readonly = true. If you encounter "Driver not capable" errors, ensure autocommit is being set at connection time.
What should I do if tables are missing?
Verify the database user’s permissions, check that the company code is correct (for Sage 100), and try using fully qualified table names (schema.table) in queries.