MCP ExplorerExplorer

Genie Mcp Server

@vivian-xie-dbon 10 months ago
2 MIT
FreeCommunity
AI Systems
Async server for querying Databricks Genie via MCP StreamableHTTP Protocol.

Overview

What is Genie Mcp Server

The genie_mcp_server is an asynchronous server designed for interacting with Databricks Genie via the MCP StreamableHTTP Protocol. It allows users to query Genie and receive responses or data while utilizing Databricks authentication and robust error handling.

Use cases

Use cases for the genie_mcp_server include building conversational interfaces for data queries, automating data retrieval processes, and integrating Genie capabilities into applications that require data-driven insights.

How to use

To use the genie_mcp_server, clone the repository to your Databricks workspace, configure the Genie Space ID and other environment variables in the app.yaml file, and deploy the app through the Databricks Apps interface. Once deployed, you can access the API for querying Genie.

Key features

Key features of the genie_mcp_server include an asynchronous API server built with Starlette and Uvicorn, integration with Databricks Genie for conversational queries, and automatic management of OAuth tokens for Databricks.

Where to use

The genie_mcp_server can be used in data analytics, machine learning, and application development environments where interaction with Databricks Genie is required for querying and retrieving data.

Content

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/[email protected]/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/[email protected]/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.

Tools

No tools

Comments

Recommend MCP Servers

View All MCP Servers