MCP Bridge

Connect Decant to any AI assistant via the Model Context Protocol.

What is MCP Bridge?

MCP Bridge allows AI assistants to extract web page content through Decant. It creates a WebSocket bridge between a local MCP server and the Decant extension, enabling any MCP-compatible tool to read and process any web page you can see in Chrome.

MCP Bridge works with Claude Desktop, Claude Code, Cursor, Windsurf, ChatGPT Desktop, VS Code, Gemini CLI, Mistral Vibe, and any MCP-compatible client.

Prerequisites

Setup

  1. Install the MCP server

    Install globally via npm:

    npm install -g decant-mcp

    Or from the project source:

    cd mcp-server && npm install && npm link
  2. Configure your AI client

    Pick your client below and add the Decant MCP server to its configuration.

  3. Enable in Decant

    Open the Decant popup → toggle MCP Bridge (Beta) ON. The extension will request additional permissions (tabs + all URLs).

    A green dot means connected. A grey dot means disconnected.

Client Configuration

Claude Desktop

Add to your Claude Desktop config file (claude_desktop_config.json): Settings → Developer → Edit Config.

{
  "mcpServers": {
    "decant": {
      "command": "decant-mcp"
    }
  }
}

Claude Code

Run the following command:

claude mcp add decant -- decant-mcp

Or add manually to ~/.claude/settings.json:

{
  "mcpServers": {
    "decant": {
      "command": "decant-mcp"
    }
  }
}

Cursor

Settings → MCP Servers → Add Server. Use this config:

{
  "mcpServers": {
    "decant": {
      "command": "decant-mcp"
    }
  }
}

Windsurf

Settings → MCP → Add Configuration:

{
  "mcpServers": {
    "decant": {
      "command": "decant-mcp"
    }
  }
}

ChatGPT Desktop

Settings → Apps and connectors → Advanced settings → enable Developer mode → Connectors → Add new connector.

ChatGPT MCP support requires a paid plan (Plus, Pro, Team, or Enterprise).

VS Code

Add to your VS Code settings.json:

{
  "mcp": {
    "servers": {
      "decant": {
        "command": "decant-mcp"
      }
    }
  }
}

Gemini CLI

Add to ~/.gemini/settings.json:

{
  "mcpServers": {
    "decant": {
      "command": "npx",
      "args": ["decant-mcp"]
    }
  }
}

Mistral (Le Chat / Vibe)

Edit your Vibe config (~/.vibe/config.toml) and add:

[[mcp_servers]]
name = "decant"
transport = "stdio"
command = "decant-mcp"

Available Tools

ToolDescriptionParameters
list_tabsList all open Chrome tabsNone
extract_active_tabExtract content from the active tabformat (markdown/json/mcp, optional)
extract_tabExtract content from a specific tabtabId (required), format (optional)
extract_urlOpen a URL, extract, then closeurl (required), format (optional)

Architecture

The data flow is straightforward: Extension ↔ WebSocket (port 22816) ↔ MCP Server ↔ stdio ↔ Your AI client.

The MCP server is a pure relay. No data is stored or processed on the server side.

Troubleshooting

Bridge shows disconnected

Check that decant-mcp is running. Verify your MCP client config file is correct (Claude Desktop, Cursor, Windsurf, etc.). Try toggling the MCP Bridge off and on again in the Decant popup.

Permission denied

The extension needs tabs and <all_urls> permissions for cross-tab extraction. Re-toggle MCP Bridge to re-request permissions.

extract_url times out

The default timeout is 60 seconds. Some pages with heavy JavaScript may need more time. Try extracting after the page loads manually using extract_active_tab instead.