Skip to content

Variáveis de ambiente

A configuração pode vir de variáveis de ambiente ou de um arquivo JSON opcional. As variáveis de ambiente vencem os valores do arquivo, então CI, Docker e a config do cliente MCP continuam simples. Toda variável é opcional e tem um padrão sensato.

Servidor

VariávelPadrãoDescrição
TDMCP_TD_HOST127.0.0.1Host da ponte do TouchDesigner.
TDMCP_TD_PORT9980Porta do Web Server DAT.
TDMCP_TRANSPORTstdioTransporte MCP: stdio (padrão) ou http (Streamable HTTP).
TDMCP_HTTP_HOST127.0.0.1Host de bind do transporte HTTP. Mantenha loopback em execuções locais; a imagem Docker usa 0.0.0.0 explicitamente para tornar a porta publicada acessível.
TDMCP_HTTP_PORT3939Porta do transporte HTTP (quando TDMCP_TRANSPORT=http).
TDMCP_EVENTSonAssina os eventos por WebSocket do TD e os encaminha como notificações de log do MCP (on/off). Os eventos são desativados automaticamente quando TDMCP_BRIDGE_TOKEN está configurado, até existir um handshake WebSocket autenticado na ponte.
TDMCP_RAW_PYTHONonSe expõe as tools Python escritas pelo cliente, incluindo callbacks persistentes de Script. Defina como off para trancá-las em configurações restritas. Isto remove apenas as tools de código escritas pelo cliente — muitas tools de nível superior ainda enviam seu próprio Python templateado para a ponte, então off não significa "nenhum código roda no TD". A ponte mantém os endpoints de código arbitrário desligados até TDMCP_BRIDGE_ALLOW_EXEC=1 ser definido explicitamente; o token autentica, mas não autoriza exec sozinho.
TDMCP_TOOL_PROFILEfullPerfil de exposição de tools. full registra todas as tools; safe esconde tools destrutivas/de código cru, incluindo Python cru, deleção de nós, reescrita de DATs, writes de checkpoint/componente/pacote e writes de previews — um superconjunto estrito de TDMCP_RAW_PYTHON=off; directory expõe uma superfície compacta de build/inspeção para diretórios MCP e scanners hospedados. Use safe para um agente autônomo dentro do TD (ex.: o "MCP Client" do LOPs da dotsimulate). O padrão full mantém os clientes existentes inalterados.
TDMCP_BRIDGE_TOKEN(não definido)Token bearer compartilhado opcional. Quando definido, o servidor o envia e a ponte o exige — defina o mesmo valor no ambiente do TouchDesigner para ligar a autenticação.
TDMCP_LOG_LEVELinfodebug / info / warn / error / silent (registrado no stderr).
TDMCP_REQUEST_TIMEOUT_MS10000Timeout por requisição à ponte, em milissegundos.
TDMCP_CONFIG_FILE(não definido)Arquivo JSON de configuração opcional. As chaves usam os nomes internos (tdHost, tdPort, requestTimeoutMs, etc.).
TDMCP_PROFILE(não definido)Nome de perfil opcional dentro do arquivo de configuração selecionado (profiles.<nome>), seja ele definido por TDMCP_CONFIG_FILE ou encontrado pelos caminhos de busca padrão. O arquivo base carrega primeiro, o perfil sobrescreve, e as variáveis de ambiente vencem ambos.
TDMCP_VAULT_PATH(não definido)Caminho absoluto para um vault do Obsidian (uma pasta de notas Markdown). Habilita as tools de vault (em inglês); um ~/ inicial é expandido. Deixe sem definir para desabilitá-las.

Copiloto local (tdmcp chat)

Estas configuram o copiloto LLM local (em inglês).

VariávelPadrãoDescrição
TDMCP_LLM_BASE_URLhttp://127.0.0.1:11434/v1Endpoint de chat compatível com OpenAI. Por padrão aponta para um Ollama local; aponte para LM Studio, uma GPU na nuvem ou uma API paga.
TDMCP_LLM_MODELqwen2.5:3bId do modelo que o copiloto pede (precisa estar baixado no backend, ex.: ollama pull qwen2.5:3b). Suba para qwen2.5:7b para mais folga.
TDMCP_LLM_API_KEY(não definido)Token bearer opcional para o endpoint do LLM (ignorado pelo Ollama local; necessário para APIs pagas/na nuvem).
TDMCP_LLM_TIERstandardTier padrão de tools do chat: standard, safe (somente leitura) ou creative (adiciona geradores curados). Os toggles do navegador ainda podem sobrescrever por turno.
TDMCP_LLM_MAX_STEPS8Máximo de iterações modelo/tool em um turno do copiloto local. Valores são limitados a 1..32.
TDMCP_LLM_TEMPERATURE0.4Temperatura de amostragem enviada ao endpoint de chat compatível com OpenAI. Valores são limitados a 0..2.
TDMCP_CHAT_PORT4141Porta de loopback em que a UI web do tdmcp chat escuta.

Lado do TouchDesigner

Defina estas no ambiente do TouchDesigner (não no do servidor) para defesa em profundidade — elas são impostas do lado da ponte, mesmo para chamadores diretos na rede. Veja Segurança.

VariávelPadrãoDescrição
TDMCP_BRIDGE_ALLOW_EXEC(não definido)Opt-in opcional do lado da ponte. Defina como 1/true/on no ambiente do TouchDesigner para permitir os endpoints de código arbitrário (/api/exec, method de nó) quando não houver token da ponte configurado. Deixe sem definir para o padrão mais seguro; os endpoints estruturados continuam funcionando.
TDMCP_BRIDGE_TOKEN(não definido)Token bearer compartilhado; precisa bater com o valor do servidor para autorizar as requisições.

Exemplo: config do cliente MCP

json
{
  "mcpServers": {
    "tdmcp": {
      "command": "node",
      "args": ["/abs/path/to/tdmcp/dist/index.js"],
      "env": {
        "TDMCP_TD_PORT": "9980",
        "TDMCP_VAULT_PATH": "~/Documents/MyVault"
      }
    }
  }
}