aminghadersohi opened a new pull request, #36033:
URL: https://github.com/apache/superset/pull/36033

   ### SUMMARY
   
   Adds support for customizing MCP service branding to enable white-label 
deployments (e.g., Preset) to use their own product names instead of "Apache 
Superset" throughout the MCP service.
   
   **Problem**: Preset and other white-label deployments of Superset need to 
present their own brand identity to AI assistants using the MCP service. 
Currently, all documentation and server names mention "Apache Superset" which 
is confusing for users of branded deployments.
   
   **Solution**: Introduce two new configuration options that can be set in 
`superset_config.py`:
   
   ```python
   # For Preset deployments
   MCP_SERVICE_NAME = "Preset MCP Server"
   MCP_SERVICE_BRANDING = "Preset"
   
   # For other white-label deployments  
   MCP_SERVICE_NAME = "Acme Analytics MCP Server"
   MCP_SERVICE_BRANDING = "Acme Analytics"
   ```
   
   **What Changes**:
   - Server name shown to AI clients in MCP server listings
   - Product name throughout LLM instructions and documentation
   - All references to "Apache Superset" become parameterizable
   
   **Configuration Options**:
   
   1. **MCP_SERVICE_NAME** (default: `"Superset MCP Server"`):
      - Server display name shown to AI clients
      - Appears in Claude Desktop and other MCP client configurations
      
   2. **MCP_SERVICE_BRANDING** (default: `"Apache Superset"`):
      - Product name used in LLM instructions sent to AI assistants
      - Replaces "Apache Superset" throughout default instructions
      - Used in tool descriptions and documentation
   
   **Implementation**:
   - `mcp_config.py`: Added `MCP_SERVICE_NAME` and `MCP_SERVICE_BRANDING` 
configuration constants
   - `app.py`: Converted `DEFAULT_INSTRUCTIONS` to 
`get_default_instructions(branding)` function
   - `app.py`: Updated `init_fastmcp_server()` to read branding from Flask 
config
   - `BRANDING.md`: Comprehensive documentation with examples and 
troubleshooting
   
   **Backwards Compatible**: Default values maintain existing behavior ("Apache 
Superset", "Superset MCP Server").
   
   ### BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF
   
   **Before** (LLM Instructions):
   ```
   You are connected to the Apache Superset MCP (Model Context Protocol) 
service.
   This service provides programmatic access to Apache Superset dashboards, 
charts...
   ```
   
   **After** (with `MCP_SERVICE_BRANDING = "Preset"`):
   ```
   You are connected to the Preset MCP (Model Context Protocol) service.
   This service provides programmatic access to Preset dashboards, charts...
   ```
   
   ### TESTING INSTRUCTIONS
   
   1. **Test default behavior** (no configuration):
      ```bash
      superset mcp run --port 5008
      # Verify server name is "Superset MCP Server"
      # Verify LLM instructions mention "Apache Superset"
      ```
   
   2. **Test Preset branding**:
      ```python
      # Add to superset_config.py
      MCP_SERVICE_NAME = "Preset MCP Server"
      MCP_SERVICE_BRANDING = "Preset"
      ```
      ```bash
      superset mcp run --port 5008
      # Verify server name is "Preset MCP Server"
      # Verify LLM instructions mention "Preset" not "Apache Superset"
      ```
   
   3. **Test custom branding**:
      ```python
      # Add to superset_config.py
      MCP_SERVICE_NAME = "Test Analytics MCP"
      MCP_SERVICE_BRANDING = "Test Analytics"
      ```
      ```bash
      superset mcp run --port 5008
      # Verify custom branding appears throughout
      ```
   
   4. **Verify with AI client**:
      - Configure Claude Desktop or other MCP client
      - Connect to MCP service
      - Verify branded name appears in tool listings
      - Ask a question and verify responses use branded product name
   
   ### ADDITIONAL INFORMATION
   
   - [ ] Has associated issue: N/A
   - [ ] Required feature flags: None
   - [ ] Changes UI: No
   - [ ] Includes DB Migration: No
   - [x] Introduces new feature or API: Yes (configuration options)
   - [ ] Removes existing feature or API: No


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to