Skip to main content
Glama
README.md2.35 kB
# Custom MCP Server for Databricks Custom Model Context Protocol (MCP) server with OBO (On-Behalf-Of) authentication, designed for deployment as a Databricks app. ## Features The server implements three MCP tools: - **test_connection**: Test server connectivity and OBO authentication status - **echo**: Echo back a message (useful for testing basic functionality) - **get_user_info**: Retrieve current user information via OBO authentication ## Authentication This server uses Databricks OBO (On-Behalf-Of) authentication with `ModelServingUserCredentials`, allowing it to act on behalf of the authenticated user making requests. ## Deployment to Databricks ### Prerequisites 1. Install Databricks CLI 2. Authenticate to your workspace: ```bash databricks auth login --host https://<your-workspace-hostname> ``` ### Deploy Steps 1. Create the Databricks app: ```bash databricks apps create mcp-cust-kat ``` 2. Upload and deploy: ```bash DATABRICKS_USERNAME=$(databricks current-user me | jq -r .userName) databricks sync . "/Users/$DATABRICKS_USERNAME/mcp-cust-kat" databricks apps deploy mcp-cust-kat --source-code-path "/Workspace/Users/$DATABRICKS_USERNAME/mcp-cust-kat" ``` 3. Access your app: - The app URL will be available in the Databricks UI - MCP endpoint: `https://<app-url>/mcp` - Health check: `https://<app-url>/health` ## API Endpoints - **GET /** - Root endpoint with server information - **GET /health** - Health check endpoint with OBO authentication status - **POST /mcp** - Main MCP JSON-RPC endpoint ## Testing the Server Once deployed, you can test the connection using the available MCP tools: 1. **test_connection**: Verifies the server is running and shows OBO authentication status 2. **echo**: Simple echo test to verify request/response functionality 3. **get_user_info**: Returns detailed information about the authenticated user ## Local Development Run locally for testing: ```bash uv run python server.py ``` The server will start on port 8000 with both HTTP and MCP protocol support. ## Project Structure - `server.py` - Main FastAPI application with MCP protocol implementation - `app.yaml` - Databricks app configuration - `pyproject.toml` - Python project configuration and dependencies - `requirements.txt` - Direct dependencies for the application

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ksavchyn/mcp-testing'

If you have feedback or need assistance with the MCP directory API, please join our Discord server