feat!: file-based configuration and multiple OpenAPI specs

Configuration moves from environment variables to a YAML/JSON file,
located via --config, XMCP_CONFIG, or /etc/xmcp/xmcp.yml. String values
support ${VAR} interpolation for secrets.

One or more OpenAPI documents can be configured as specs[]; multiple
documents are mounted under unique namespaces and served on a single
transport, on one HTTP port. Tool filters, per-request API keys and
per-spec base URL/auth overrides live in the same file.

The Docker image no longer sets MCP_* defaults and expects the config
mounted at /etc/xmcp/xmcp.yml; the healthcheck reads the config.
This commit is contained in:
2026-10-22 01:56:10 +00:00
parent 72bdbdb3b2
commit 9185b5fa05
13 changed files with 757 additions and 340 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
[project]
name = "xmcp"
version = "0.1.0"
version = "0.2.0"
description = "MCP server generated from an OpenAPI specification, built with FastMCP"
readme = "README.md"
requires-python = ">=3.14"