feat(backend): SAP MCP 를 env 로 켜고 끄게 — 고객사 -12 에 별도 기동 절차

opencode.fabrix.json.tmpl 의 sap-icf 를 MCP_PORT/MCP_API_KEY 로 렌더, 키 없으면 enabled:false.
.env.example 에 SAP_*·MCP_* 블록. README 에 -13 번들 재활용 절차(컨테이너 간 통신 금지라 -12 에 따로).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
lee-hyeon-cheol
2026-09-21 10:43:49 +09:00
co-authored by Claude Fable 5.1
parent 72a06d6c07
commit 8571db5bee
5 changed files with 53 additions and 4 deletions
+5 -1
View File
@@ -34,7 +34,7 @@ def load_env(path: Path) -> dict[str, str]:
k, v = line.split("=", 1)
v = v.split(" #", 1)[0].strip().strip("\"'") # 줄 끝 주석은 두 칸 띄고 #
out[k.strip()] = v
out.update({k: v for k, v in os.environ.items() if k.startswith(("AAF_", "BACKEND_PORT"))})
out.update({k: v for k, v in os.environ.items() if k.startswith(("AAF_", "BACKEND_PORT", "MCP_"))})
return out
@@ -46,6 +46,10 @@ def render(env: dict[str, str]) -> str:
values["AAF_FABRIX_MODELS_JSON"] = json.dumps({mid: {"name": name} for mid, name in models.items()}, ensure_ascii=False)
values["AAF_FABRIX_DEFAULT_MODEL"] = next(iter(models))
values.setdefault("BACKEND_PORT", "8001")
values.setdefault("MCP_PORT", "8888")
# SAP MCP: MCP_API_KEY 가 있으면 켬. 없으면 끔(로컬 개발)
values["SAP_MCP_ENABLED"] = "true" if values.get("MCP_API_KEY") else "false"
values.setdefault("MCP_API_KEY", "")
values["AAF_GATEWAY_KEY"] = values.get("AAF_GATEWAY_KEY") or "x" # SDK 가 빈 키를 거부해서 더미
missing: list[str] = []