mcpField
G
Genie MCP Server

Genie MCP Server

Local
github.com/vivian-xie-dbData & Analytics5Updated 51w ago

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

  1. 01Expose an MCP StreamableHTTP endpoint
  2. 02Send conversational queries to Databricks Genie
  3. 03Manage OAuth tokens automatically
  4. 04Provide an asynchronous API server

Use cases

  1. 01Query Genie through an MCP client
  2. 02Deploy the server as a Databricks app
  3. 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.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

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.

Comments

Markdown supported

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.