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:
co-authored by
Claude Fable 5.1
parent
72a06d6c07
commit
8571db5bee
@@ -100,3 +100,28 @@ curl http://localhost:8001/api/ito/models
|
||||
- 설정이 비어 있어도 서버는 뜨고, `/api/ito/chat/completions` 만 503 으로 뭐가 빠졌는지 알려줌.
|
||||
- ABAP_OPENCODE 의 `apps_ito` 를 통째로 안 가져온 이유: 그쪽은 11k 줄 + DB 테이블 + langgraph 등 의존성 15개인데 여기 필요한 건 통과 중계뿐. 사용자별 키(IP 마스터)는 아직 없음 — 서비스 키 하나로 감.
|
||||
- 개발로 되돌리기: `git checkout opencode/opencode.json`.
|
||||
|
||||
## SAP 조회 MCP 붙이기 (고객사, -12 에 따로 띄움)
|
||||
|
||||
컨테이너끼리(-12↔-13) 통신은 금지라 -13 의 MCP 를 안 빌리고 -12 에 하나 더 띄움. 코드는 ABAP_OPENCODE 의 번들 한 파일(`mcp.bundle.cjs`) 그대로.
|
||||
|
||||
```bash
|
||||
# PC: -13 에서 번들 꺼내 -12 로 (환경값은 -13 bare/.env 의 SAP_*·MCP_API_KEY 를 손으로 옮김)
|
||||
scp -P 8916 root@10.196.81.34:/www/abap-ito/web/MCP/code/dist/mcp.bundle.cjs .
|
||||
scp -P 8912 mcp.bundle.cjs root@10.196.81.34:/www/
|
||||
|
||||
# -12
|
||||
cd /www/ABAP_CODE_ASSISTANT/5_django_backend
|
||||
vi .env # MCP_PORT=8888, MCP_API_KEY, SAP_HOST_ICF/USERNAME/PASSWORD/CLIENT/VERIFY_SSL/API_BASE 채움 (.env.example 의 SAP 블록)
|
||||
set -a; . ./.env; set +a
|
||||
mkdir -p /www/mcp && cp /www/mcp.bundle.cjs /www/mcp/
|
||||
(cd /www/mcp && nohup node mcp.bundle.cjs > /www/ABAP_CODE_ASSISTANT/5_django_backend/logs/mcp.log 2>&1 &)
|
||||
.venv/bin/python opencode/render_opencode.py # MCP_API_KEY 있으면 sap-icf enabled:true 로 렌더
|
||||
pkill -f "opencode-bin serve"
|
||||
(cd opencode && nohup /www/opencode-bin serve --hostname 127.0.0.1 --port 4096 > ../logs/opencode.log 2>&1 &)
|
||||
# 확인 — 도구 목록에 sap 도구 6개
|
||||
curl -s -X POST http://127.0.0.1:8888/mcp -H "Authorization: Bearer $MCP_API_KEY" -H "Content-Type: application/json" -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | head -c 400
|
||||
```
|
||||
|
||||
- 로컬 개발에선 `MCP_API_KEY` 를 비워두면 `sap-icf` 가 `enabled:false` 로 렌더돼 OpenCode 가 MCP 를 안 찾음.
|
||||
- MCP 가 zai 모드로 뜨는지는 `logs/mcp.log` 에 `mode=zai` 찍히는 걸로. 고객사 SAP 은 zdict 가 아니라 ZAI_ICF 라 `SAP_API_BASE_ICF` 를 -13 값과 같게.
|
||||
|
||||
Reference in New Issue
Block a user