Skip to main content
Glama

API Registry MCP Server

setup_shared_secrets.sh•5.17 kB
#!/bin/bash # Setup script for MCP secret scopes (API keys and Bearer tokens) # This should be run by a Databricks admin set -e API_KEY_SCOPE="${MCP_API_KEY_SCOPE:-mcp_api_keys}" BEARER_TOKEN_SCOPE="${MCP_BEARER_TOKEN_SCOPE:-mcp_bearer_tokens}" echo "šŸ” Setting up MCP secret scopes" echo " - API Keys scope: $API_KEY_SCOPE" echo " - Bearer Tokens scope: $BEARER_TOKEN_SCOPE" echo "" # Check if databricks CLI is available if ! command -v databricks &> /dev/null; then echo "āŒ Databricks CLI not found. Please install it first:" echo " pip install databricks-cli" exit 1 fi # Check authentication echo "āœ… Checking Databricks authentication..." if ! databricks current-user me &> /dev/null; then echo "āŒ Not authenticated with Databricks. Please run:" echo " databricks configure --token" exit 1 fi CURRENT_USER=$(databricks current-user me --output json | grep -o '"userName":"[^"]*"' | cut -d'"' -f4) echo " Authenticated as: $CURRENT_USER" echo "" # Create API keys scope echo "šŸ“¦ Creating API keys scope: $API_KEY_SCOPE" if databricks secrets create-scope "$API_KEY_SCOPE" 2>/dev/null; then echo " āœ… API keys scope created successfully" else if databricks secrets list-scopes | grep -q "$API_KEY_SCOPE"; then echo " āœ… API keys scope already exists" else echo " āŒ Failed to create API keys scope" echo " This may require admin permissions" exit 1 fi fi # Create bearer tokens scope echo "šŸ“¦ Creating bearer tokens scope: $BEARER_TOKEN_SCOPE" if databricks secrets create-scope "$BEARER_TOKEN_SCOPE" 2>/dev/null; then echo " āœ… Bearer tokens scope created successfully" else if databricks secrets list-scopes | grep -q "$BEARER_TOKEN_SCOPE"; then echo " āœ… Bearer tokens scope already exists" else echo " āŒ Failed to create bearer tokens scope" echo " This may require admin permissions" exit 1 fi fi echo "" echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" echo "šŸ“‹ Next Step: Grant Access to App Service Principal" echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" echo "" echo "To find your app's service principal ID:" echo " 1. Go to your Databricks workspace" echo " 2. Navigate to: Compute > Apps" echo " 3. Click on your app (e.g., mcp-api-registry)" echo " 4. Look for 'Service Principal ID' in the app details" echo "" read -p "Enter your app's service principal ID (or press Enter to skip): " SP_ID if [ -n "$SP_ID" ]; then echo "" echo "šŸ” Granting WRITE access to service principal: $SP_ID" # Note: CLI syntax is positional: databricks secrets put-acl SCOPE PRINCIPAL PERMISSION if databricks secrets put-acl "$API_KEY_SCOPE" "$SP_ID" WRITE 2>&1; then echo " āœ… Granted access to $API_KEY_SCOPE" else echo " āš ļø Could not grant access to $API_KEY_SCOPE (may require admin permissions)" fi if databricks secrets put-acl "$BEARER_TOKEN_SCOPE" "$SP_ID" WRITE 2>&1; then echo " āœ… Granted access to $BEARER_TOKEN_SCOPE" else echo " āš ļø Could not grant access to $BEARER_TOKEN_SCOPE (may require admin permissions)" fi echo "" echo "āœ… Setup complete!" echo "" echo "Verify permissions:" echo " databricks secrets list-acls $API_KEY_SCOPE" echo " databricks secrets list-acls $BEARER_TOKEN_SCOPE" echo "" echo "Next step: Redeploy your app to pick up the 'secrets' scope" echo " ./deploy.sh" echo "" echo "That's it! Users can now register APIs with authentication through the app." echo "No per-user permissions needed - the app handles everything!" else echo "" echo "āš ļø Skipped ACL configuration. To grant access manually, run:" echo "" echo " databricks secrets put-acl $API_KEY_SCOPE <service-principal-id> WRITE" echo " databricks secrets put-acl $BEARER_TOKEN_SCOPE <service-principal-id> WRITE" fi echo "" echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" echo "šŸ“– How It Works" echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" echo "" echo "The app's service principal manages all secrets on behalf of users:" echo " - API key secrets stored as: $API_KEY_SCOPE/{api_name}" echo " Example: $API_KEY_SCOPE/fred" echo " - Bearer token secrets stored as: $BEARER_TOKEN_SCOPE/{api_name}" echo " Example: $BEARER_TOKEN_SCOPE/github" echo "" echo "To list secrets:" echo " databricks secrets list-secrets --scope $API_KEY_SCOPE" echo " databricks secrets list-secrets --scope $BEARER_TOKEN_SCOPE" echo ""

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/lucamilletti99/dataverse_mcp_server'

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