16 min read

Setting Up MCP in Continue: Complete Configuration Guide

Continue is an open source AI code assistant that runs in VS Code and JetBrains IDEs. This guide covers configuring MCP servers in Continue—from YAML configuration to importing existing Claude/Cursor configs and using agent mode with MCP tools.

Continue + MCP: Open Source AI Context

Key Takeaways

  • Continue uses YAML configuration files in .continue/mcpServers/*.yaml.
  • MCP tools only work in Agent mode; switch from Chat to Agent to use them.
  • Import existing JSON configs from Claude Desktop or Cursor for quick migration.
  • Use ${{ secrets.NAME }} syntax for secure credential management.

What is Continue?

Continue is an open source AI code assistant that integrates with VS Code and JetBrains IDEs. Unlike proprietary alternatives, Continue lets you choose your own models (OpenAI, Anthropic, local models via Ollama, and more) while keeping your data private.

Continue is fully open source (Apache 2.0) and can run entirely locally. It supports chat, autocomplete, and now MCP for extending its capabilities with external tools.

With MCP integration, Continue can access external APIs, databases, file systems, and other tools—making it a good fit for developers who want flexibility and control.

MCP in Continue Overview

Continue's MCP implementation uses YAML configuration files, offering a more readable alternative to JSON. Key characteristics:

  • Config location: .continue/mcpServers/*.yaml (standalone files)
  • Alternative: mcpServers array in config.yaml
  • Format: YAML (or JSON import from Claude/Cursor)
  • Mode: MCP tools only available in Agent mode

Important

MCP tools are only available in Agent mode, not Chat mode. Make sure to switch to Agent in the Continue panel to use MCP tools.

YAML Configuration

Continue supports two ways to configure MCP servers:

Option 1: Standalone YAML Files

Create individual YAML files in the .continue/mcpServers/ directory:

.continue/mcpServers/filesystem.yamlyaml
# .continue/mcpServers/filesystem.yaml

name: Filesystem Server
version: 1.0.0
schema: v1

transport:
  type: stdio
  command: npx
  args:
    - "-y"
    - "@modelcontextprotocol/server-filesystem"
    - "/Users/username/projects"

Note

Standalone YAML files require name,version, andschema fields at the top level.

Option 2: In config.yaml

Add servers to your main config.yaml file:

.continue/config.yamlyaml
# .continue/config.yaml

mcpServers:
  - name: filesystem
    transport:
      type: stdio
      command: npx
      args:
        - "-y"
        - "@modelcontextprotocol/server-filesystem"
        - "/Users/username/projects"
  
  - name: github
    transport:
      type: stdio
      command: npx
      args:
        - "-y"
        - "@modelcontextprotocol/server-github"
      env:
        GITHUB_PERSONAL_ACCESS_TOKEN: "${{ secrets.GITHUB_TOKEN }}"

Configuration Fields

FieldRequiredDescription
nameYes*Human-readable server name (required in standalone files)
versionYes*Semantic version (required in standalone files)
transport.typeYesTransport method: stdio, sse, or streamable-http
transport.commandFor stdioCommand to execute the server
transport.argsNoArguments for the command
transport.envNoEnvironment variables
transport.urlFor SSE/HTTPServer URL for remote connections

* Required in standalone YAML files, optional when defined in config.yaml

Transport Types

Continue supports three transport methods for MCP servers:

TransportExecutionConfigDescription
stdioLocalcommand + argsLocal command-line servers. Continue spawns and manages the process.
sseRemoteurlServer-Sent Events for real-time streaming from remote servers.
streamable-httpRemoteurlStandard HTTP with streaming. Recommended for cloud-hosted servers.

Importing JSON Configs

If you already have MCP servers configured in Claude Desktop or Cursor, you can import their JSON configurations directly into Continue.

Import from Claude Desktop

Add the mcpServersJSONfield to your config.yaml pointing to Claude's config:

.continue/config.yamlyaml
# .continue/config.yaml# Import from Claude Desktop (macOS)# Or import from Cursor# Or import from Cursor# Or import from Cursor# Or import from Cursorort from Cursor
mcpServersJSON: ~/.cursor/mcp.json

How it works

Continue reads the JSON file and uses the mcpServers object from it. This allows you to maintain a single configuration for multiple tools.

Combined Configuration

You can combine imported JSON with YAML-defined servers:

.continue/config.yamlyaml
# .continue/config.yaml# Import existing servers from Claude# Add Continue-specific servers# Add Continue-specific servers# Add Continue-specific serverstinue-specific servers
mcpServers:
  - name: custom-server
    transport:
      type: stdio
      command: python
      args:
        - /path/to/my-custom-server.py

Managing Secrets

Continue provides secure secrets management using the ${{ secrets.NAME }} syntax:

SyntaxDescription
${{ secrets.NAME }}Reference a secret from Continue's secure storage
${{ env.NAME }}Reference an environment variable from your shell

Setting Secrets

Secrets are stored securely in Continue's configuration:

  1. Open Continue settings (Cmd+Shift+P → “Continue: Open Settings”)
  2. Navigate to the Secrets section
  3. Add your secret with a name (e.g., GITHUB_TOKEN)
  4. Reference it in config as ${{ secrets.GITHUB_TOKEN }}

Example with Secrets

.continue/mcpServers/github.yamlyaml
# .continue/mcpServers/github.yaml

name: GitHub Integration
version: 1.0.0
schema: v1

transport:
  type: stdio
  command: npx
  args:
    - "-y"
    - "@modelcontextprotocol/server-github"
  env:
    GITHUB_PERSONAL_ACCESS_TOKEN: "${{ secrets.GITHUB_TOKEN }}"

Configuration Examples

Filesystem Server

.continue/mcpServers/filesystem.yamlyaml
# .continue/mcpServers/filesystem.yaml

name: Filesystem
version: 1.0.0
schema: v1

transport:
  type: stdio
  command: npx
  args:
    - "-y"
    - "@modelcontextprotocol/server-filesystem"
    - "/Users/username/projects"
    - "/Users/username/documents"

PostgreSQL Database

.continue/mcpServers/postgres.yamlyaml
# .continue/mcpServers/postgres.yaml

name: PostgreSQL
version: 1.0.0
schema: v1

transport:
  type: stdio
  command: npx
  args:
    - "-y"
    - "@modelcontextprotocol/server-postgres"
  env:
    POSTGRES_CONNECTION_STRING: "${{ secrets.DATABASE_URL }}"

Remote SSE Server

.continue/mcpServers/remote-api.yamlyaml
# .continue/mcpServers/remote-api.yaml

name: Remote API
version: 1.0.0
schema: v1

transport:
  type: sse
  url: https://api.example.com/mcp/sse

Python Custom Server

.continue/mcpServers/custom.yamlyaml
# .continue/mcpServers/custom.yaml

name: My Custom Server
version: 1.0.0
schema: v1

transport:
  type: stdio
  command: python
  args:
    - /path/to/my-mcp-server.py
  env:
    API_KEY: "${{ secrets.MY_API_KEY }}"
    DEBUG: "true"

Using Agent Mode

MCP tools are only available in Continue's Agent mode. Here's how to use them:

Switching to Agent Mode

  1. Open the Continue panel in VS Code or JetBrains
  2. Click the mode selector (usually shows “Chat”)
  3. Select “Agent” from the dropdown
  4. MCP tools will now be available for the agent to use

How Agent Uses MCP Tools

In Agent mode, Continue automatically decides when to use MCP tools based on your prompt:

  • The agent analyses your request and available tools
  • It plans a sequence of actions (which may include MCP tool calls)
  • You can approve or reject each tool call
  • The agent processes results and continues until the task is complete

Example Prompts

  • • “Search GitHub for open issues in my repo and summarise them”
  • • “Read the contents of my project folder and explain the architecture”
  • • “Query my database and show me the most recent orders”

Troubleshooting

MCP tools not appearing

  • • Ensure you're in Agent mode, not Chat mode
  • • Check that YAML syntax is valid (use a YAML validator)
  • • Verify the server command exists in your PATH
  • • Restart VS Code/JetBrains after config changes

Standalone YAML file not loading

  • • Ensure the file is in .continue/mcpServers/ directory
  • • Verify required fields: name, version, schema
  • • Check file has .yaml or .yml extension

Secrets not resolving

  • • Use exact syntax: ${{ secrets.NAME }}
  • • Verify the secret is set in Continue's settings
  • • Check for typos in the secret name
  • • Restart Continue after adding new secrets

JSON import not working

  • • Verify the path in mcpServersJSON is correct
  • • Check that the JSON file has a valid mcpServers object
  • • Ensure you have read permissions for the file
  • • Use absolute paths or ~ for home directory

Server fails to start

  • • Test the command manually in your terminal
  • • Check that Node.js is installed for npx-based servers
  • • Verify environment variables are set correctly
  • • Check Continue's output panel for error messages

Open Source Flexibility

Continue's open source nature means you can customise, extend, and audit everything. Combined with MCP, you get a transparent AI assistant that respects your privacy while connecting to the tools you need.

Frequently Asked Questions

Continue uses YAML configuration. Create standalone files in .continue/mcpServers/*.yaml (with name, version, and schema fields), or add servers to the mcpServers array in .continue/config.yaml. You can also import JSON configs from Claude Desktop or Cursor using mcpServersJSON.

MCP tools only work in Agent mode, not Chat mode. Switch to Agent in the Continue panel to access MCP tools. Also verify your YAML syntax is valid, the server command exists in your PATH, and restart VS Code/JetBrains after configuration changes.

Use the ${{ secrets.NAME }} syntax to reference secrets stored in Continue's secure storage. Add secrets via Continue settings (Cmd+Shift+P > "Continue: Open Settings" > Secrets section). You can also use ${{ env.NAME }} for shell environment variables.

Yes, add mcpServersJSON to your config.yaml pointing to the JSON file path. For example: mcpServersJSON: ~/Library/Application Support/Claude/claude_desktop_config.json. Continue will read the mcpServers object from that file.

Continue supports three transport types: stdio for local command-line servers, sse for Server-Sent Events streaming from remote servers, and streamable-http for standard HTTP with streaming (recommended for cloud-hosted servers).

References & Further Reading

Related Articles

Ayodele Ajayi

Principal Engineer based in Kent, UK. Specialising in security governance, cloud architecture, and platform engineering.