MCP
Settings → Connected Tools manages MCP servers for the workspace. Add a connection as a Remote Server (URL with a header, environment variable or OAuth Sign-In) or a Local Process. Project and plugin sources need Review & Trust… before their servers load. Each server shows its Tool loading: tools load up front or on demand. A server that has not connected within a few seconds of a chat or company starting never delays it; its tools join when it answers.
synoec mcp listsynoec mcp add docs --url https://mcp.example.com --bearer-env DOCS_TOKENsynoec mcp add files -- npx -y @modelcontextprotocol/server-filesystem /path/to/dirsynoec mcp login docssynoec mcp login docs --profile Worksynoec mcp doctor docssynoec mcp serveAn account sign-in belongs to a Profile (ADR 0288): a chat uses the sign-in
of its own Profile, so Work and Personal can be signed in to the same server
as different accounts. synoec mcp login and logout act on the Profile
--profile names, else the one SYNOEC_PROFILE pins, else the workspace’s
default; synoec mcp doctor checks that same Profile. A server added by its
address alone that asks for an account gets Synoec’s own registration with its
sign-in service on the first synoec mcp login, as the desktop does.
A service that lets no app register itself, such as Google’s, signs in through
an app registered with it once (ADR 0290): download the “Desktop app” OAuth
client JSON from Google Cloud Console and run
synoec mcp sign-in-app import google <file>. The desktop and CLI then sign in
to Google’s servers (Gmail, Calendar, Drive, BigQuery) through it. Saved keys and tokens
typed for a server still belong to the whole workspace.
A local server’s own tool labels decide what asks: a tool marked read-only and
closed-world runs without asking; one that changes only the server’s own state
asks like an edit under Strict. Anything else, and every remote server’s
tools, asks as a network, file and process action.
A bearer token travels over plain HTTP only at a literal private IPv4
address, with --allow-private-network-http; DNS names, public addresses,
loopback and OAuth need HTTPS. synoec mcp add also takes --startup-timeout
and --tool-timeout in milliseconds, a tool call accepting 100 to 600,000 ms
and otherwise timing out at 30 seconds.
synoec mcp serve exposes Synoec itself as an MCP server over stdio. See the
MCP contract.