Genie MCP Server - A server for interacting with Databricks Genie via MCP StreamableHTTP Protocol
Project description
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.yamlfile in the root of the cloned repository. Update theSPACE_IDvalue 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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file iflow_mcp_vivian_xie_db_genie_mcp_server-0.1.0.tar.gz.
File metadata
- Download URL: iflow_mcp_vivian_xie_db_genie_mcp_server-0.1.0.tar.gz
- Upload date:
- Size: 11.5 kB
- Tags: Source
- Uploaded using 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}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8ac0e9929a4e0e9bea25e6e09dc05ee5d0120bb811b6df5273336af7a55557f3
|
|
| MD5 |
85f7e6e356f6318ea2e91b73e3853578
|
|
| BLAKE2b-256 |
b902e354e60881731d19092eb2affbb94b8352cf9c4eb02d4b07d60e12418a9a
|
File details
Details for the file iflow_mcp_vivian_xie_db_genie_mcp_server-0.1.0-py3-none-any.whl.
File metadata
- Download URL: iflow_mcp_vivian_xie_db_genie_mcp_server-0.1.0-py3-none-any.whl
- Upload date:
- Size: 16.4 kB
- Tags: Python 3
- Uploaded using 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}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f803b71ee59bf2b612b5f1e7d4471904a4620b4e70696b6574d4f180c757b54f
|
|
| MD5 |
29764c2147b8e3c24775d515501fa18a
|
|
| BLAKE2b-256 |
d201e49fec4523965beac70203cc46aec7a4121d70bf109e2bbcc3c42e0a89b8
|