Sponsored by Deepsite.site

Introduction

Created By
MCP-Mirror8 months ago
Mirror of
Content

Introduction

This document covers the setup and use of a generic ODBC server for the Model Context Protocol (MCP), referred to as an mcp-odbc server. It has been developed to provide Large Language Models with transparent access to ODBC-accessible data sources via a Data Source Name configured for a specific ODBC Connector (or Driver).

mcp-client-and-servers|648x499

Server Implementation

This MCP Server for ODBC is a small TypeScript layer built on top of node-odbc. It routes calls to the host system's local ODBC Driver Manager via node.js (specifically using 'npx' for TypeScript).

Operating Environment Setup & Prerequisites

While the examples that follow are oriented toward the Virtuoso ODBC Connector, this guide will also work with other ODBC Connectors. We strongly encourage code contributions and usage demo submissions related to other database management systems for incorporation into this project.

Key System Components

  1. Check the node.js version; if it's not 21.1.0, upgrade or install explicitly using: nvm install v21.1.0
  2. Install MCP components using: npm install @modelcontextprotocol/sdk zod tsx odbc dotenv
  3. Set the nvm version using: nvm alias default 21.1.0

Installation

  1. Run git clone https://github.com/OpenLinkSoftware/mcp-odbc-server.git
  2. Change directory cd mcp-odbc-server
  3. Run npm init -y
  4. Add entry "type":"module" to the package.json file
  5. Run npm install @modelcontextprotocol/sdk zod tsx odbc dotenv

unixODBC Runtime Environment Checks

  1. Check installation configuration (i.e., location of key INI files) by running: odbcinst -j
  2. List available data source names by running: odbcinst -q -s

Environment Variables

As good security practice, you should use the .env file situated in the same directory as the mcp-ser to set bindings for the target Large Language Model API Key (if you want to use the OpenLink AI Layer (OPAL) via ODBC), ODBC Data Source Name (ODBC_DSN), User (ODBC_USER), Password (ODBC_PWD), and ODBC INI (ODBCINI).

API_KEY=sk-xxx
ODBC_DSN=Local Virtuoso
ODBC_USER=dba
ODBC_PASSWORD=dba
ODBCINI=/Library/ODBC/odbc.ini 

Usage

Tools

After successful installation, the following tools will be available to MCP client applications.

namedescription
get_schemasList database schemas accessible to connected database management system (DBMS).
get_tablesList tables associated with a selected database schema.
describe_tableProvide the description of a table associated with a designated database schema. This includes information about column names, data types, nulls handling, autoincrement, primary key, and foreign keys
filter_table_namesList tables, based on a substring pattern from the q input field, associated with a selected database schema.
query_databaseExecute a SQL query and return results in JSONL format.
execute_queryExecute a SQL query and return results in JSONL format.
execute_query_mdExecute a SQL query and return results in Markdown table format.
spasql_queryExecute a SPASQL query and return results.
sparql_queryExecute a SPARQL query and return results.
virtuoso_support_aiInteract with the Virtuoso Support Assistant/Agent -- a Virtuoso-specific feature for interacting with LLMs

Basic Installation Testing & Troubleshooting

  1. Start the inspector from the mcp-server directory/folder using the following command:
    ODBCINI=/Library/ODBC/odbc.ini npx -y @modelcontextprotocol/inspector npx tsx ./src/main.ts 
    
  2. Click on the "Connect" button, then click on the "Tools" tab to get started.

MCP Inspector

MCP Application Usage

Claude Desktop Configuration

The path for this config file is: ~{username}/Library/Application Support/Claude/claude_desktop_config.json .

{
    "mcpServers": {
        "ODBC": {
            "command": "/path/to/.nvm/versions/node/v21.1.0/bin/node",
            "args": [
                "/path/to/tsx",
                "/path/to/mcp-odbc-server/src/main.ts"
            ],
            "env": {
                "ODBCINI": "/Library/ODBC/odbc.ini",
                "NODE_VERSION": "v21.1.0",
                "PATH": "~/.nvm/versions/node/v21.1.0/bin:${PATH}"
            },
            "disabled": false,
            "autoApprove": []
        }
    }
}

Claude Desktop Usage

  1. Start the application
  2. Apply configuration (from above) via Settings | Developer user interface
  3. Ensure you have a working ODBC connection to a Data Source Name (DSN)
  4. Present a prompt requesting query execution, e.g., Execute the following query: SELECT TOP * from Demo..Customers

Claude Desktop

Cline (Visual Studio Extension) Configuration

The path for this config file is: ~{username}/Library/Application\ Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json

{
  "mcpServers": {
    "ODBC": {
      "command": "/path/to/.nvm/versions/node/v21.1.0/bin/node",
      "args": [
        "/path/to/mcp-odbc-server/node_modules/.bin/tsx",
        "/path/to/mcp-odbc-server/src/main.ts"
      ],
      "env": {
        "ODBCINI": "/Library/ODBC/odbc.ini",
        "NODE_VERSION": "v21.1.0",
        "PATH": "/path/to/.nvm/versions/node/v21.1.0/bin:${PATH}"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}

Cline (Visual Studio Extension) Usage

  1. Use Shift+Command+P to open the Command Palette
  2. Type in: Cline
  3. Select: Cline View, which opens the Cline UI in the VSCode sidebar
  4. Use the four-squares icon to access the UI for installing and configuring MCP servers
  5. Apply the Cline Config (from above)
  6. Return to the extension's main UI and start a new task requesting processing of the following prompt: "Execute the following query: SELECT TOP 5 * from Demo..Customers"

Cline Extension

Cursor Configuration

Use the settings gear to open the configuration menu that includes the MCP menu item for registering and configuring mcp servers.

Cursor Usage

  1. Use the Command or Control + I key combination to open the Chat Interface
  2. Select Agent from the drop-down at the bottom left of the UI, since the default is Ask
  3. Enter your prompt, qualifying the use of the mcp-server for odbc using the pattern: @odbc {rest-of-prompt}
  4. Click on "Accept" to execute the prompt.

Cursor Editor

Related

Recommend Servers
TraeBuild with Free GPT-4.1 & Claude 3.7. Fully MCP-Ready.
EdgeOne Pages MCPAn MCP service designed for deploying HTML content to EdgeOne Pages and obtaining an accessible public URL.
Visual Studio Code - Open Source ("Code - OSS")Visual Studio Code
BlenderBlenderMCP connects Blender to Claude AI through the Model Context Protocol (MCP), allowing Claude to directly interact with and control Blender. This integration enables prompt assisted 3D modeling, scene creation, and manipulation.
Zhipu Web SearchZhipu Web Search MCP Server is a search engine specifically designed for large models. It integrates four search engines, allowing users to flexibly compare and switch between them. Building upon the web crawling and ranking capabilities of traditional search engines, it enhances intent recognition capabilities, returning results more suitable for large model processing (such as webpage titles, URLs, summaries, site names, site icons, etc.). This helps AI applications achieve "dynamic knowledge acquisition" and "precise scenario adaptation" capabilities.
AiimagemultistyleA Model Context Protocol (MCP) server for image generation and manipulation using fal.ai's Stable Diffusion model.
Tavily Mcp
Playwright McpPlaywright MCP server
MCP AdvisorMCP Advisor & Installation - Use the right MCP server for your needs
CursorThe AI Code Editor
DeepChatYour AI Partner on Desktop
ChatWiseThe second fastest AI chatbot™
Amap Maps高德地图官方 MCP Server
WindsurfThe new purpose-built IDE to harness magic
Context7Context7 MCP Server -- Up-to-date code documentation for LLMs and AI code editors
Howtocook Mcp基于Anduin2017 / HowToCook (程序员在家做饭指南)的mcp server,帮你推荐菜谱、规划膳食,解决“今天吃什么“的世纪难题; Based on Anduin2017/HowToCook (Programmer's Guide to Cooking at Home), MCP Server helps you recommend recipes, plan meals, and solve the century old problem of "what to eat today"
Jina AI MCP ToolsA Model Context Protocol (MCP) server that integrates with Jina AI Search Foundation APIs.
MiniMax MCPOfficial MiniMax Model Context Protocol (MCP) server that enables interaction with powerful Text to Speech, image generation and video generation APIs.
TimeA Model Context Protocol server that provides time and timezone conversion capabilities. This server enables LLMs to get current time information and perform timezone conversions using IANA timezone names, with automatic system timezone detection.
Baidu Map百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Serper MCP ServerA Serper MCP Server