KB-79DA rev 7
Connection Config Map — SSOT
6 min read Revision 7
ssotconnectionsconfigagents
Connection Config Map — SSOT
v1.1 | 2026-03-01 (GEMINI-SECURE) Trước khi sửa config BẤT KỲ agent nào: đọc file này. Sau khi sửa: chạy test-agent-connections.sh → cập nhật checksum. Đọc:
search_knowledge("connection config map")
1. Config Files — Tổng quan
| Agent | Config File | Location | Scope | Env Vars Cần |
|---|---|---|---|---|
| Claude Code CLI | .mcp.json (project) + ~/.claude.json (user MCP) |
Mac local | Agent Data (project), Directus (user) | AGENT_DATA_API_KEY (via .zshenv) |
| Claude Desktop | ~/Library/Application Support/Claude/claude_desktop_config.json |
Mac local | Agent Data + Directus | AGENT_DATA_API_KEY |
| Codex CLI | ~/.codex/config.toml |
Mac local | Agent Data (HTTP MCP) + Directus (STDIO) | AGENT_DATA_API_KEY |
| GPT | GPT Actions UI (chat.openai.com) | Web | OPS Proxy OpenAPI spec | X-API-Key trong GPT UI |
| Gemini CLI | ~/.gemini/settings.template.json → envsubst → settings.json |
Mac local | Agent Data (HTTP) + Directus (STDIO) | AGENT_DATA_API_KEY (via ensure_keys_from_cache) |
| VPS nginx | /opt/incomex/docker/nginx/conf.d/default.conf |
VPS | OPS Proxy 23 collections | directus_ai_token.conf |
2. Chi Tiết Config Từng Agent
2.1 Claude Code CLI
Agent Data MCP:
- File:
agent-data-test/.mcp.json - Type: HTTP MCP
- URL:
https://vps.incomexsaigoncorp.vn/api/mcp - Auth:
X-API-Key: ${AGENT_DATA_API_KEY}(from .zshenv) - Tools: 11 (search, list, get, get_for_rewrite, upload, update, patch, delete, move, ingest, batch_read)
Directus MCP:
- File:
~/.claude.json→mcpServers.directus(user scope) - Type: STDIO
- Command:
venv/bin/python mcp_server/directus_stdio_server.py - Auth: credentials.local.json (email/password login)
- Tools: 10 (health, list_collections, get_schema, get_items, get_item, create_item, update_item, delete_item, list_flows, trigger_flow)
Env var chain:
~/.zshenv → reads ~/.cache/api_keys/AGENT_DATA_API_KEY → export
Claude Code → .mcp.json → ${AGENT_DATA_API_KEY} → MCP HTTP headers
Claude Code → ~/.claude.json → STDIO directus server → credentials.local.json
2.2 Codex CLI
Agent Data MCP:
- File:
~/.codex/config.toml→[mcp_servers.agent-data] - Type: HTTP MCP
- URL:
https://vps.incomexsaigoncorp.vn/api/mcp - Auth:
env_http_headers = { "X-API-Key" = "AGENT_DATA_API_KEY" } - Tools: 11
Directus MCP:
- File:
~/.codex/config.toml→[mcp_servers.directus] - Type: STDIO
- Command: same as Claude Code
- Auth: credentials.local.json
- Tools: 10
2.4 Gemini CLI
Agent Data MCP:
- Template:
~/.gemini/settings.template.json→mcpServers.agent-data - Type: HTTP MCP
- URL:
https://vps.incomexsaigoncorp.vn/api/mcp - Auth:
X-API-Key: ${AGENT_DATA_API_KEY}(envsubst from template) - Tools: 11
Directus MCP:
- Template:
~/.gemini/settings.template.json→mcpServers.directus - Type: STDIO
- Command:
venv/bin/python mcp_server/directus_stdio_server.py - Auth: credentials.local.json
- Tools: 10
Env var chain (GEMINI-SECURE):
gemini-go/gemini-adtest/... alias
→ ensure_keys_from_cache → $AGENT_DATA_API_KEY loaded
→ _gemini_inject_config()
→ envsubst < settings.template.json > settings.json
→ chmod 600 settings.json
→ gemini CLI starts → reads settings.json → MCP connected
⚠️ QUAN TRỌNG: KHÔNG sửa trực tiếp settings.json — file này tự sinh từ template. Sửa settings.template.json nếu cần thay đổi config.
2.5 GPT (ChatGPT)
Agent Data: REST Actions (3 read tools: search, list, get)
- OpenAPI spec:
https://vps.incomexsaigoncorp.vn/api/openapi.json - Auth: X-API-Key in GPT Actions config
Directus: OPS Proxy REST
- OpenAPI spec:
https://ops.incomexsaigoncorp.vn/openapi.json - Auth: X-API-Key in GPT Actions config
- Scope: 23 collections (18 RW + 2 RO + 3 original)
2.6 VPS nginx (OPS Proxy)
- File:
/opt/incomex/docker/nginx/conf.d/default.conf - Collections: 23 (tasks, task_comments, ai_tasks + 18 RW + 2 RO)
- Auth: X-API-Key header validated by nginx map
- Backend: Directus with AI Agent token injection
3. Checksums (cập nhật 2026-03-01)
| File | SHA1 | Ghi chú |
|---|---|---|
.mcp.json (agent-data-test) |
8dfdcc1e |
Agent Data HTTP MCP |
~/.codex/config.toml |
c8cfe1f0 |
Codex Agent Data + Directus |
~/.zshenv |
bb1920db |
API key loading (CONN-FIX) |
~/.claude.json (user mcpServers) |
directus entry | Directus STDIO MCP |
~/.gemini/settings.template.json |
GEMINI-SECURE | Agent Data + Directus template (envsubst) |
~/.zshrc (_gemini_inject_config) |
GEMINI-SECURE | Bootstrap function + 5 aliases |
4. Quy Trình Sửa Config
- Đọc file này trước
- Sửa config file cần thiết
- Chạy test:
ssh contabo "/opt/incomex/scripts/test-agent-connections.sh" - Cập nhật checksum trong file này (via patch_document)
- Báo cáo: "Config X thay đổi, test Y/Z PASS"
5. Test Commands
| Test | Command | Expected |
|---|---|---|
| Claude Code MCP status | claude mcp list |
agent-data ✓, directus ✓ |
| VPS full test | ssh contabo "/opt/incomex/scripts/test-agent-connections.sh" |
37/37 PASS |
| VPS server test | ssh contabo "/opt/incomex/scripts/test-all-connections.sh" |
20/20 PASS |
| OPS Proxy single | curl -H "X-API-Key: $KEY" https://ops.incomexsaigoncorp.vn/items/tasks?limit=1 |
HTTP 200 |
| Gemini MCP inject | _gemini_inject_config && grep -c 'C38FE9FA' ~/.gemini/settings.json (phải trả 0) |
0 (no literal key) |
Generated: 2026-03-01T01:34:49Z | Agent: Claude Code CLI (Opus 4.6)