Skip to content

Auto-populate profile config from server YAML schema defaults on first registration #460

@Malaccamaxgit

Description

@Malaccamaxgit

Feature Request

When adding an MCP server to a profile via docker mcp profile server add, the server's YAML definition includes a config section with a full JSON Schema — including default values for every property. However, these defaults are not written to the profile's config store, leaving all fields blank in the Docker Desktop UI.

Current Behavior

  1. Server YAML defines config properties with explicit defaults:
config:
  - name: my-server
    type: object
    properties:
      rate_limit_per_min:
        type: number
        description: Maximum outbound messages per minute
        default: 10
      auto_read_receipts:
        type: boolean
        description: Auto-mark incoming messages as read
        default: true
  1. User registers the server:
docker mcp profile server add my-profile --server file://./my-server.yaml
  1. In Docker Desktop → MCP Toolkit → Profiles → Configuration:

    • All text fields are blank
    • All boolean checkboxes are unchecked
    • No indication of what the defaults are
  2. User must manually run a separate command to populate the fields:

docker mcp profile config my-profile \
  --set my-server.rate_limit_per_min=10 \
  --set my-server.auto_read_receipts=true

Expected Behavior

When a server is added to a profile for the first time, the toolkit should read the config[].properties[].default values from the server YAML schema and write them to the profile's config store automatically. This would:

  • Pre-fill the Docker Desktop UI fields with the correct defaults
  • Give first-time users immediate visibility into the server's configuration
  • Eliminate the need for a separate docker mcp profile config --set step
  • Be consistent with how secrets are handled (the UI prompts for them and provides a dedicated panel)

Workaround

Currently, server authors must document a manual docker mcp profile config --set command for users to run after registration. This works but adds friction to the setup flow and is easy to miss.

Context

Discovered while building a custom MCP server (whatsapp-mcp-docker) with 8 configurable properties. First-time users see a completely blank configuration panel despite the YAML defining sensible defaults for every field.

Environment

  • Docker Desktop 4.67.0
  • Docker MCP Toolkit (latest)
  • Windows 10 / macOS / Linux

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions