---
title: "MCP transport interpolation"
date: "2026-06-18"
---

<Warning>
**Control-plane settings no longer interpolate template tokens.** Server listen, API/web URL, storage, object-store, and GitHub App identity fields are now literal strings. Use native overrides such as `FABRO_WEB_URL` and `FABRO_STORAGE_DIR` where deployment-time values are required.
</Warning>

<Warning>
**A workflow goal can no longer reference itself.** A `{{ goal }}` token inside the graph goal now fails validation instead of passing through as literal text. Prompts may continue to reference the rendered goal.
</Warning>

## MCP transport interpolation

Environment-dependent MCP commands, URLs, headers, and environment values previously carried unresolved tokens into the launched server. `fabro run` and `fabro exec` now resolve `{{ env.NAME }}` at the boundary where the MCP server starts, and a missing variable fails clearly instead of leaking the token as text.

```toml
[run.agent.mcps.search]
type = "http"
url = "{{ env.SEARCH_MCP_URL }}"
```
