Where Continue’s MCP config lives, the config.yaml format that replaced config.json, and how to fix the common failures — plus how to put a policy gate in front of every tool call.
QUICK ANSWERQuick answer: global config in ~/.continue/config.yaml, with workspace block files under .continue/mcpServers/. The mcpServers key is a YAML array, not a map.
| Scope | Path | Notes |
|---|---|---|
| Global | ~/.continue/config.yaml | Used by the IDE extensions and the CLI. Replaced the deprecated config.json. |
| Workspace | .continue/mcpServers/<name>.yaml | One standalone YAML file per server, with name, version and schema: v1 metadata. |
| Hub | Continue Hub assistant | MCP blocks can also be attached to a hub-managed assistant. |
MCP servers live under a top-level mcpServers key — an array of server objects, unlike the JSON map most clients use. Each entry declares its transport with type.
| Key | What it does |
|---|---|
name | Display name for the server (required). |
type | stdio, sse, or streamable-http. |
command | Executable for a stdio server. |
args | List of arguments passed to the command. |
env | Environment variables for the server process. |
cwd | Working directory — relative paths in args resolve against it. |
url | Endpoint for an sse or streamable-http server. |
connectionTimeout | Initial-connection timeout for slow-starting servers. |
mcpServers:
- name: SQLite
type: stdio
command: uvx
args:
- mcp-server-sqlite
- --db-path
- ./database.db
cwd: /Users/you/project REMOTE SERVER (HTTP):
mcpServers:
- name: My HTTP Server
type: streamable-http
url: https://example.com/mcp A workspace block file looks the same but carries metadata: name, version: 0.0.1, schema: v1, then the mcpServers array.
| Transport | Status | How to declare it |
|---|---|---|
| stdio | Supported | type: stdio with command + args. |
| Streamable HTTP | Supported | type: streamable-http with url. |
| SSE | Supported | type: sse with url. |
Add an entry to the mcpServers array in ~/.continue/config.yaml. Still on config.json? Migrate first — the YAML format is the current standard and the JSON schema differs.
Drop a YAML file in .continue/mcpServers/ at the workspace root — handy for committing project-specific servers.
name: Playwright MCP
version: 0.0.1
schema: v1
mcpServers:
- name: Browser automation
command: npx
args:
- "@playwright/mcp@latest" Attach MCP blocks to a hub assistant to share servers across a team without local config.
@ in the chat input and select MCP from the context-providers dropdown to see the server’s tools and resources.Check the mode first — Continue only exposes MCP tools in agent mode, not in chat or edit modes.
Use the full absolute path to the command instead of relying on PATH resolution — the classic fix for spawn ENOENT errors from GUI-launched IDEs.
Set or raise connectionTimeout on the server entry; slow npx/uvx cold starts are the usual culprit.
If you still have a legacy config.json, migrate to config.yaml — the old JSON mcpServers schema differs and is deprecated.
Relative paths in args resolve against cwd — set it explicitly for stdio servers.
A standard filesystem MCP wired into Continue. Every read and write hits the upstream directly, with no policy gate.
mcpServers:
- name: Filesystem
type: stdio
command: npx
args:
- -y
- "@modelcontextprotocol/server-filesystem"
- /Users/you/projects Register the filesystem MCP in PolicyLayer, mint a grant, point Continue at the proxy URL over streamable HTTP. PolicyLayer evaluates every call against the grant’s policy before it reaches the upstream.
mcpServers:
- name: Filesystem
type: streamable-http
url: https://proxy.policylayer.com/mcp/<server-uuid>/
requestOptions:
headers:
Authorization: Bearer <grant-token> The <server-uuid> appears on each server's detail page. The <grant-token> shows once at mint time. See the Quick start for the full setup walk-through — and if you operate under SOC 2, HIPAA, GDPR or similar, the compliance hub maps how gateway-mediated MCP traffic evidences each framework.
Allow reads and directory listings. Allow writes, but deny any write into common credential paths.
{
"version": "1",
"default": "deny",
"tools": {
"read_file": {},
"list_directory": {},
"write_file": {
"deny_if": [
{
"conditions": [
{ "path": "args.path", "op": "regex", "value": "^/Users/[^/]+/(\\.ssh|\\.aws|secrets)" }
]
}
]
}
}
} See Writing policies for the policy format, operators, and quota shapes.
In ~/.continue/config.yaml under the mcpServers key, or as standalone YAML block files in .continue/mcpServers/ at the workspace root. The legacy config.json is deprecated.
Yes — config.yaml is the current standard for all Continue configuration, including MCP servers. The old JSON schema differs, so configs need migrating rather than renaming.
MCP only works in agent mode. Switch modes, then type @ and pick MCP from the dropdown to confirm the server’s tools are discovered.
A list. Unlike most MCP clients, Continue’s mcpServers key is a YAML array of server objects, each with its own name field — copying a JSON-style map across will not parse.
Yes — set type to streamable-http (or sse) with a url. That is also how you route a server through a policy gateway like PolicyLayer for argument-level rules and audit logs.
Route your MCP traffic through PolicyLayer. Every tool call is checked against your policy before it runs: allow, deny, or require approval. Per-identity grants. Full audit log. Live in minutes.
Instant setup, no code required.
46,500+ MCP servers and 515,000+ tools scanned and risk-classified.