MCP server generated from an OpenAPI document with FastMCP v4. Configurable via env vars (spec URL/file, transport stdio/http, host, port, API token), built with uv, multi-stage Dockerfile with non-root runtime.
36 lines
1.4 KiB
Bash
36 lines
1.4 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=
|
|
|
|
# --- 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
|