VisvoAI CLI Docs
Customizing

MCP

Connect out-of-process tool servers over the Model Context Protocol

Connect any Model Context Protocol server — a local stdio subprocess or a remote streamable-HTTP endpoint — and its tools show up in the model's tool list, namespaced server__tool.

Add a server

visvoai mcp add chrome -- npx -y chrome-devtools-mcp@latest

visvoai mcp add linear --url https://mcp.linear.app/mcp \
    --header 'Authorization=Bearer ${LINEAR_API_KEY}'

Equivalently, config directly:

[mcp_servers.github]                # stdio: CLI spawns the subprocess
command = "npx"
args = ["-y", "@modelcontextprotocol/server-github"]
env = { GITHUB_TOKEN = "${GITHUB_TOKEN}" }

[mcp_servers.linear]                # remote: streamable HTTP
url = "https://mcp.linear.app/mcp"
headers = { Authorization = "Bearer ${LINEAR_API_KEY}" }

Two layers merge, project wins on name:

~/.visvoai/config.toml              global: personal servers, everywhere
<project>/.visvoai/config.toml      project: shareable, may be checked in

Secrets never live in the server table

${VAR} values expand from the environment at connect time — the same layered key resolution the rest of the CLI uses fills that environment at startup. Nothing resembling a token is ever meant to be pasted directly into a config file.

Discovery and session lifetime

Each server connects and runs tools/list once per session (module cache) with its own independent timeout, so one dead or slow server can't hang the TUI or block the others. Because the session is held open for the life of the process, a stateful server — a live browser tab, an open DB connection — keeps that state across calls instead of reconnecting cold every time. Protocol transport (stdio spawn, HTTP/SSE) is entirely langchain-mcp-adapters / the official mcp SDK — no custom protocol code in the CLI.

Trust

A project's MCP config is repo-controlled, and a stdio server means spawning a subprocess your machine will run. Project-defined servers get one-time approval — a hash of the server spec (secrets excluded) recorded outside the repo (~/.visvoai/projects/<project-id>/mcp_trust.toml) — and any change to the spec re-prompts. Global servers (the ones in your own ~/.visvoai/config.toml) are implicitly trusted.

Check status any time

/mcp in the TUI shows every configured server's connection status and lets you approve a project server you haven't trusted yet.

On this page