Skip to content

Settings validation fails when unrelated env vars are present (e.g., OPENAI_API_KEY) #85

Description

@daviskay75

Description

Running docling-mcp-server fails with ValidationError: Extra inputs are not permitted
when environment variables like OPENAI_API_KEY are set.

Reproduction

export OPENAI_API_KEY=sk-...
uvx --from docling-mcp docling-mcp-server --transport stdio

Error

ValidationError: 1 validation error for Settings
openai_api_key
  Extra inputs are not permitted [type=extra_forbidden]

Root Cause

docling_mcp/settings/conversion.py uses pydantic_settings.BaseSettings without
an env_prefix, causing it to read ALL environment variables.

Suggested Fix

Add env_prefix in the Settings model config:

class Settings(BaseSettings):
    model_config = SettingsConfigDict(env_prefix="DOCLING_")
    # or
    model_config = SettingsConfigDict(extra="ignore")

Workaround

env -u OPENAI_API_KEY uvx --from docling-mcp docling-mcp-server --transport stdio

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