When serving over HTTP, the key sent in the MCP_API_KEY_HEADER header (default X-API-Key) is used as the API credential for that request and takes precedence over the static API_TOKEN. The key is formatted with API_AUTH_HEADER/API_AUTH_SCHEME and the source header is stripped from the outgoing API request. Implemented as an httpx2 auth flow over FastMCP's request context, so concurrent clients stay isolated.
41 lines
1.6 KiB
Bash
41 lines
1.6 KiB
Bash
# Copy to .env and adjust. All values are read at container/process start.
|
|
|
|
# --- OpenAPI document (required) ---------------------------------------------
|
|
# http(s) URL of a JSON/YAML OpenAPI document, or a local file path
|
|
# (e.g. /spec/openapi.json when the document is mounted into the container).
|
|
OPENAPI_SPEC_URL=https://petstore3.swagger.io/api/v3/openapi.json
|
|
|
|
# Bearer token used only when fetching a remote spec (leave unset for public
|
|
# documents).
|
|
#OPENAPI_SPEC_TOKEN=
|
|
|
|
# --- Target API ---------------------------------------------------------------
|
|
# Override the base URL taken from the spec's servers[0].url. Required when the
|
|
# spec only has a relative server URL and the spec is a local file, or when the
|
|
# API lives on a different host than the spec.
|
|
#API_BASE_URL=https://api.example.com
|
|
|
|
# Credential sent to the target API on every tool call.
|
|
#API_TOKEN=change-me
|
|
#API_AUTH_HEADER=Authorization
|
|
# Send the raw token with no scheme prefix by setting this to an empty value:
|
|
#API_AUTH_SCHEME=
|
|
|
|
# HTTP header treated as the per-request API key of the MCP client. When
|
|
# present it takes precedence over API_TOKEN. Set to an empty value to disable
|
|
# the mapping (default: X-API-Key).
|
|
#MCP_API_KEY_HEADER=X-API-Key
|
|
|
|
# --- MCP server ---------------------------------------------------------------
|
|
# stdio or http (streamable-http is accepted as an alias); default: stdio
|
|
MCP_TRANSPORT=http
|
|
MCP_HOST=0.0.0.0
|
|
MCP_PORT=8000
|
|
#MCP_SERVER_NAME=My API
|
|
|
|
# Timeout in seconds for fetching the spec and calling the API (default: 30).
|
|
#HTTP_TIMEOUT=30
|
|
|
|
# DEBUG, INFO, WARNING, ERROR, CRITICAL ... (default: INFO)
|
|
#LOG_LEVEL=INFO
|