genie_mcp_server

vivian-xie-db/genie_mcp_server

3.2

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:

  1. 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
    
  2. Configure the Genie Space ID and Other Environment Variables

    Open the app.yaml file in the root of the cloned repository. Update the SPACE_ID value to match your Genie space.

    Example app.yaml:

    command:
    - "python"
    - "mcp_server.py"
    
    env:
    - name: "SPACE_ID"
      value: "your_space_id"
    
  3. 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
  4. 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.