Skip to main 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/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.

Metadata

Release files for iflow-mcp_vivian-xie-db-genie_mcp_server 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for iflow-mcp_vivian-xie-db-genie_mcp_server 0.1.0
File Size Uploaded
iflow_mcp_vivian_xie_db_genie_mcp_server-0.1.0.tar.gz 11.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for iflow-mcp_vivian-xie-db-genie_mcp_server 0.1.0
File Interpreter ABI Platform
iflow_mcp_vivian_xie_db_genie_mcp_server-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 27.9 kB

Release files / iflow_mcp_vivian_xie_db_genie_mcp_server-0.1.0.tar.gz

Download URL iflow_mcp_vivian_xie_db_genie_mcp_server-0.1.0.tar.gz
Size 11.5 kB
Tags Source
SHA-256 checksum
How to use checksums
8ac0e9929a4e0e9bea25e6e09dc05ee5d0120bb811b6df5273336af7a55557f3
BLAKE2b-256 checksum
How to use checksums
b902e354e60881731d19092eb2affbb94b8352cf9c4eb02d4b07d60e12418a9a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / iflow_mcp_vivian_xie_db_genie_mcp_server-0.1.0-py3-none-any.whl

Download URL iflow_mcp_vivian_xie_db_genie_mcp_server-0.1.0-py3-none-any.whl
Size 16.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f803b71ee59bf2b612b5f1e7d4471904a4620b4e70696b6574d4f180c757b54f
BLAKE2b-256 checksum
How to use checksums
d201e49fec4523965beac70203cc46aec7a4121d70bf109e2bbcc3c42e0a89b8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page