OoO
4e82acc0f5
feat(p10)+docs(adr): MCP 自建 Stack docker-compose + ADR-031
Operation Ollama-First v5.0 / Phase 10 + Phase 12 收尾
docker-compose.mcp.yml — 4+3 容器 MCP stack
- postgres-mcp (port 3001): Claude 直連 momo_pro DB read-only RBAC
- mcp-omnisearch (3003): Tavily 主 + Exa 備(取代 Gemini Grounding)
避開 Brave(2026-02 取消免費 tier)
- firecrawl-self (3002): 自建爬蟲,SPA 反爬蟲
- filesystem-mcp (3004): 跨主機檔案 read-only
護欄 #2 落地(Owen v5.0 鐵律 / ADR-033):
firecrawl-self mem_limit:2g + cpus:1.5
PLAYWRIGHT_BROWSER_POOL_MAX=3
chrome-reaper sidecar 每小時清 Chrome zombies
安全設計:
- 全部 127.0.0.1 暴露(不外網)
- read-only volume mount(filesystem 只能讀)
- postgres-mcp RBAC mcp_readonly role 限 SELECT 6 熱表
- API key 全走 env var 不寫死
ADR-031 — MCP 自建 Stack 治理決策
- 取代 Gemini Grounding 唯一通路(多供應商策略)
- 預期 70%+ grounding 流量走免費 Tavily
- 188 主機資源 +4-5GB RAM 可控
- Migration Plan:6 步驟(含 Tavily/Exa key 申請 + mcp_readonly role 預建)
啟用前置(待統帥):
1. .env 加 TAVILY_API_KEY / EXA_API_KEY / MCP_POSTGRES_PASSWORD / FIRECRAWL_AUTH_KEY
2. momo-db 建 mcp_readonly role + GRANT SELECT
3. ssh wooo@110 → ssh ollama@188 → docker compose -f docker-compose.mcp.yml up -d
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-04 09:02:07 +08:00
..
2026-05-04 09:02:07 +08:00
2026-04-19 16:31:50 +08:00
2026-05-01 20:56:17 +08:00
2026-05-02 15:01:55 +08:00
2026-04-25 01:42:40 +08:00
2026-05-03 01:55:34 +08:00
2026-05-01 16:24:15 +08:00
2026-04-19 01:21:13 +08:00
2026-04-19 01:21:13 +08:00
2026-04-19 01:21:13 +08:00
2026-04-19 01:21:13 +08:00
2026-04-19 01:21:13 +08:00
2026-04-19 01:21:13 +08:00
2026-04-19 01:21:13 +08:00
2026-04-19 01:21:13 +08:00
2026-04-19 01:21:13 +08:00
2026-04-19 01:21:13 +08:00
2026-04-19 01:21:13 +08:00
2026-04-30 13:59:12 +08:00
2026-04-19 01:21:13 +08:00
2026-04-25 01:42:40 +08:00
2026-04-25 01:42:40 +08:00
2026-04-19 01:21:13 +08:00
2026-05-03 23:04:42 +08:00
2026-05-03 23:04:42 +08:00
2026-05-03 23:04:42 +08:00
2026-05-03 23:04:42 +08:00
2026-05-03 23:04:42 +08:00
2026-05-03 23:04:42 +08:00
2026-05-03 23:04:42 +08:00
2026-05-03 23:39:47 +08:00
2026-04-19 01:21:13 +08:00
2026-04-29 22:11:23 +08:00
2026-04-19 01:21:13 +08:00
2026-04-30 14:05:41 +08:00
2026-04-19 01:21:13 +08:00
2026-04-19 01:21:13 +08:00
2026-04-19 01:21:13 +08:00
2026-04-19 01:21:13 +08:00
2026-04-29 22:11:23 +08:00
2026-04-19 01:21:13 +08:00
2026-04-19 01:21:13 +08:00
2026-04-19 01:21:13 +08:00
2026-04-19 01:21:13 +08:00