# xmcp configuration. Copy to xmcp.yml and adjust. # Settings are read from this file only; ${VAR} placeholders are filled from # the environment (a missing variable is a startup error). server: name: xmcp transport: http # stdio | http host: 0.0.0.0 port: 8000 log_level: INFO http_timeout: 30 # Header from which MCP clients may supply a per-request API key. # Empty string disables forwarding. client_api_key_header: X-API-Key # Defaults applied to every OpenAPI document (per-spec `api` keys override). api: # base_url: https://api.example.com # token: ${API_TOKEN} auth_header: Authorization auth_scheme: Bearer # "" sends the raw token # Optional global tool filters. # tools: # include: [getPetById, findPetsByStatus] # tags_include: [pet] specs: # A single document needs no namespace; tool names stay unprefixed. - spec_url: https://petstore3.swagger.io/api/v3/openapi.json api: base_url: https://petstore3.swagger.io/api/v3 # Multiple documents: give every entry a unique namespace. Tools are then # exposed as "_". # specs: # - namespace: pet # spec_url: https://petstore3.swagger.io/api/v3/openapi.json # api: # base_url: https://petstore3.swagger.io/api/v3 # - namespace: billing # spec_url: ./specs/billing.yaml # api: # base_url: https://billing.example.com # token: ${BILLING_TOKEN} # auth_header: X-API-Key # auth_scheme: ""