About Genie MCP Server
Genie MCP Server is an async service that interacts with Databricks Genie over MCP StreamableHTTP, handling conversational queries and returning answers or data. It manages Databricks OAuth tokens and can be deployed as a Databricks app.
Key features
- 01Expose an MCP StreamableHTTP endpoint
- 02Send conversational queries to Databricks Genie
- 03Manage OAuth tokens automatically
- 04Provide an asynchronous API server
Use cases
- 01Query Genie through an MCP client
- 02Deploy the server as a Databricks app
- 03Retrieve answers or data from Genie queries
MCP support
The MCP server exposes an interface for conversational queries to Databricks Genie over StreamableHTTP, for use by MCP clients.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEGenie MCP Server
This project provides an async server for interacting with Databricks Genie via a MCP StreamableHTTP Protocol. It enables users to query Genie and receive answers or data, leveraging Databricks authentication and robust error handling.
Features
- Async API server using Starlette and Uvicorn
- Integration with Databricks Genie for conversational queries
- Automatic OAuth token management for Databricks
Project Structure
mcp_server.py: Main server entry point, exposes the tool via MCP StreamableHTTP Protocol.genie_room.py: Handles Genie API interactions and conversation logic.token_minter.py: Manages Databricks OAuth token minting and refreshing.requirements.txt: Python dependencies.app.yaml: Example deployment configuration.
Deploying to Databricks Apps
You can deploy the Genie MCP Server as a Databricks app by following these steps:
-
Clone the Repository to Your Workspace
In your Databricks workspace, navigate to the directory where you want to deploy the app (e.g.,
/Workspace/Users/[email protected]/genie_mcp_server). Then, clone the repository:git clone https://github.com/your-org/genie_mcp_server.git -
Configure the Genie Space ID and Other Environment Variables
Open the
app.yamlfile in the root of the cloned repository. Update theSPACE_IDvalue to match your Genie space.Example
app.yaml:command: - "python" - "mcp_server.py" env: - name: "SPACE_ID" value: "your_space_id" -
Create and Deploy the App in Databricks
- Go to the Databricks Apps interface.
- Create a new app and specify the path to the directory where you cloned the repository.
- Complete the app creation and deployment process.
databricks apps deploy genie-mcp-server --source-code-path /Workspace/Users/[email protected]/genie_mcp_server
-
Access the API
Once deployed, your Genie MCP Server app will be running and accessible via the configured port and endpoint (e.g.,
https://app-url.aws.databricksapps.com/api/mcp/). You can now send MCP requests to your deployed app from within your Databricks workspace or from external clients, depending on your network configuration.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.