feat(config,compose): t3code-mcp as dispatcher hands on mac and dell
This commit is contained in:
@@ -169,6 +169,16 @@ komodo_mcps = (
|
||||
)
|
||||
komodo_exposed = (ExposedMcp(name="komodo"),) if KOMODO else ()
|
||||
|
||||
# §5: t3code-mcp - сосед по compose (профиль t3), машины и allowlist проектов
|
||||
# в его t3code.toml; токены t3 живут в его env, gateway их не видит.
|
||||
T3CODE_MCP = os.environ.get("T3CODE_MCP", "http://t3code-mcp:8000/mcp")
|
||||
t3code_mcps = (
|
||||
[McpServer.http(name="t3code", url=T3CODE_MCP)]
|
||||
if "t3" in os.environ.get("COMPOSE_PROFILES", "").split(",")
|
||||
else []
|
||||
)
|
||||
t3code_exposed = (ExposedMcp(name="t3code"),) if t3code_mcps else ()
|
||||
|
||||
# Секреты MCP - только через env подпроцесса (mcp stdio даёт ему белый список
|
||||
# + это), никогда argv: процесс модели видит `ps` всего контейнера.
|
||||
mcps: list[McpServerT] = [
|
||||
@@ -189,6 +199,7 @@ mcps: list[McpServerT] = [
|
||||
McpServer.http(name="telegram", url=os.environ["BEAVERGRAM_MCP"]),
|
||||
*calendar_mcps,
|
||||
*komodo_mcps,
|
||||
*t3code_mcps,
|
||||
]
|
||||
|
||||
# Руки глубокого (§4.4): firefly без delete_*, obsidian-fs не даётся - свои
|
||||
@@ -216,7 +227,8 @@ def dispatcher(name: str, model: str, effort: str | None = None) -> ClaudeAgent:
|
||||
gateway_tools=("read_conversation", "spawn", "say", "schedule"),
|
||||
options=ClaudeOptions(effort=effort, disallowed_tools=DISPATCHER_DISALLOWED),
|
||||
policy=VAULT_POLICY,
|
||||
expose_mcps=CLAUDE_MCPS,
|
||||
# §4.4: t3code - рука диспетчера (мастер, ветки), глубоким не даётся.
|
||||
expose_mcps=(*CLAUDE_MCPS, *t3code_exposed),
|
||||
)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user