Kilo Code talks to Agent Update over MCP. The server is https://api.tryagentupdate.com/v1/mcp, the transport is Streamable HTTP, and the credential is one header.
Where it goes: Current: ~/.config/kilo/kilo.jsonc (global) · ./kilo.jsonc or ./.kilo/kilo.jsonc (project). Legacy: mcp_settings.json under kilocode.kilo-code/settings/ · .kilocode/mcp.json (project)
Setup
{
"mcp": {
"agent-update": {
"type": "remote",
"url": "https://api.tryagentupdate.com/v1/mcp",
"headers": { "Authorization": "Bearer {env:AGENT_UPDATE_TOKEN}" },
"enabled": true,
"timeout": 15000
}
}
}{ "mcpServers": { "agent-update": {
"type": "streamable-http",
"url": "https://api.tryagentupdate.com/v1/mcp",
"headers": { "Authorization": "Bearer au_live_..." } } } }Before you file a bug
Ship both blocks, labelled. The version split is real. On current Kilo the key is mcp, not mcpServers, and the transport is "remote", not "streamable-http". Interpolation is single-brace {env:VAR}, unique to Kilo, and it is what makes a committed kilo.jsonc safe. v7.0.33 did not auto-migrate: an old mcp_settings.json is silently ignored (kilocode#6481), so check kilo --version first. The flag syntax for kilo mcp add is undocumented, so hand-edit the file instead.
Check it worked
Ask the agent to text you. A 401 means the token is wrong, or the word Bearer is in there twice. No tool at all means the transport string is wrong. Both are covered in troubleshooting.
Next
The five tools and their arguments are on the MCP page. The same tools over plain HTTP are on the REST page. Every other tool is on the docs index.