vivian-xie-db/genie_mcp_server
If you are the rightful owner of genie_mcp_server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
The Genie MCP Server is an async server designed to facilitate interactions with Databricks Genie using the MCP StreamableHTTP Protocol, providing a seamless way to query and receive data from Genie.
Genie 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/your.email@databricks.com/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.yaml
file in the root of the cloned repository. Update theSPACE_ID
value 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/your.email@databricks.com/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.