Databricks MCP Server
MCP-practice
this is repository for all my MCP code practices
Databricks MCP Server
A Model Context Protocol (MCP) server that provides tools for interacting with Databricks SQL Analytics.
Files Overview
venv/test_mcp_cloud.py: Main MCP server script providing Databricks SQL toolsvenv/databricks_connection.py: Connection test script to verify Databricks credentialsvenv/run_inspector.ps1: PowerShell script to launch MCP inspector with environment variablesvenv/.env: Environment variables file (create this with your credentials)README.md: This documentation file
Features
Query Databricks: Execute SELECT queries on Databricks tables
Update Databricks: Perform INSERT, UPDATE, DELETE operations
List Tables: Browse available tables in your schema
Inspect Schema: Get column information for specific tables
Prerequisites
Python 3.8+
Databricks workspace with SQL Analytics enabled
Personal Access Token with appropriate permissions
Installation
Clone this repository
Create a virtual environment:
python -m venv venv venv\Scripts\activate # On WindowsInstall dependencies:
pip install fastmcp databricks-sql-connector sqlalchemy python-dotenv
Configuration
Create a
.envfile in thevenv/directory:DATABRICKS_SERVER_HOSTNAME=your-workspace.databricks.com DATABRICKS_HTTP_PATH=/sql/1.0/warehouses/your-warehouse-id DATABRICKS_TOKEN=your-personal-access-token DATABRICKS_CATALOG=your-catalog-name DATABRICKS_SCHEMA=your-schema-nameTest your connection:
python venv/databricks_connection.py
Usage
Testing the MCP Server
Using the PowerShell script (recommended):
Edit
venv/run_inspector.ps1and update the paths and your Databricks credentialsRun:
./venv/run_inspector.ps1
Manual command:
npx @modelcontextprotocol/inspector venv/Scripts/python.exe venv/test_mcp_cloud.pyImportant: Before running run_inspector.ps1, you must edit the file and update:
The
$PYTHON_EXEand$SERVER_PYpaths to match your systemAll the credential variables (
$TOKEN,$HOSTNAME,$PATH,$CATALOG,$SCHEMA) with your actual Databricks information
Claude Desktop Integration
To use this MCP server with Claude Desktop:
Locate the config file:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
Add the server configuration:
{ "mcpServers": { "databricks": { "command": "python", "args": ["path/to/your/weather-mcp-server/venv/test_mcp_cloud.py"], "env": { "DATABRICKS_SERVER_HOSTNAME": "your-workspace.databricks.com", "DATABRICKS_HTTP_PATH": "/sql/1.0/warehouses/your-warehouse-id", "DATABRICKS_TOKEN": "your-personal-access-token", "DATABRICKS_CATALOG": "your-catalog-name", "DATABRICKS_SCHEMA": "your-schema-name" } } } }Restart Claude Desktop to load the new MCP server
Test in Claude: Ask Claude to "list my Databricks tables" or "query my data"
Using with MCP Clients
The server provides these tools:
query_databricks(sql_query): Execute SELECT queries (auto-limits to 100 rows)update_databricks(sql_command): Execute DML operationslist_cloud_tables(limit): List available tablesinspect_cloud_schema(table_name): Get table schema information
Example Usage
# Query data
result = query_databricks("SELECT * FROM customers WHERE region = 'US'")
# Update data
result = update_databricks("UPDATE customers SET status = 'active' WHERE id = 123")
# List tables
tables = list_cloud_tables(10)
# Get schema
schema = inspect_cloud_schema("customers")Security Notes
Only SELECT queries are allowed in
query_databricksOnly INSERT, UPDATE, DELETE are allowed in
update_databricksTable names are validated to prevent SQL injection
Results are truncated to prevent large payloads
Queries are automatically limited to 100 rows unless specified
Troubleshooting
Connection fails: Check your
.envfile and token permissionsNo tables found: Verify catalog and schema names
Inspector doesn't connect: Ensure correct file paths in commands
Large result errors: The server automatically limits/truncates results
Contributing
Fork the repository
Create a feature branch
Make your changes
Test with the inspector
Submit a pull request
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/paris3169/MCP-practice'
If you have feedback or need assistance with the MCP directory API, please join our Discord server