Unblink MCP Server

Pure-Go browser for AI: fetch pages, render JS without Chromium, return clean Markdown over MCP.

Local serverstdioGo

What is the Unblink MCP server?

Unblink MCP server is a locally run integration for AI assistants that speak the Model Context Protocol. Pure-Go browser for AI: fetch pages, render JS without Chromium, return clean Markdown over MCP.

What you get

Three things it does that a browser-driving tool doesn't — each measured head-to-head against Playwright MCP, Charlotte, Obscura, and Lightpanda on identical fixtures (full numbers, reproduce with make crossbench):

  • ~100× fewer tokens on real pages. — A nav-heavy news portal costs
  • No browser to install. — One static binary — **27 MB on disk, ~29 MB idle
  • It hardens the boundary to your model. — unblink is the only one of the

Setting it up

Installation goes through your MCP client rather than a global install: point it at ghcr.io/christopherdavenport/unblink on a container image and it is fetched when the client starts. The copy-paste blocks for Claude Desktop, Claude Code and Cursor are further down this page.

What the assistant can call

Once Unblink is connected, these are the calls the assistant has available:

  • read — { url?, session?, use_current?, mode?, format?, selector?, max_tokens?, cursor?, wait_for?, wait_text?, wait_timeout?, headers?, auth? }
  • browse — { url?, session?, use_current?, headers?, auth? }
  • links — { url?, session?, use_current?, filter?, internal_only?, limit? }
  • forms — { url?, session?, use_current? }
  • find — { url?, session?, use_current?, query, max_hits? }
  • site — { url?, session?, use_current? }
  • click — { session, link_index? \
  • submit_form — { session, form?, values?, files?, render? }
  • controls — { url?, session?, use_current? }
  • interact — { session, selector, event?, value?, key? }
  • data — { url?, session?, use_current?, kind? }
  • extract — { url?, session?, use_current?, root?, fields, limit? }

Configuration and credentials

The official MCP Go SDK requires Go ≥ 1.25. The Makefile sets GOTOOLCHAIN=auto, so the go command downloads the toolchain pinned in go.mod automatically — you do not need to install Go 1.25 yourself, and your global go env is left untouched. (If you run go directly rather than via make, prefix commands with GOTOOLCHAIN=auto.)

Before you rely on it

  • It runs with your machine's permissions. That is convenient and also the reason to think about what you point it at before you approve a tool call.
  • With 14 tools registered it takes up a noticeable share of the context window; turn it off in projects that never touch Unblink.
  • MCP clients confirm each tool call by default. Leave that on until you have watched what the unblink mcp server does with a few real requests.

Choosing this one

This sits in the browser automation group, where several servers overlap in what they claim to do but differ sharply once you actually set them up. Unblink's toolset — read, browse, links and 11 more — is a fair guide to whether it matches your workflow. It is maintained by ChristopherDavenport; worth a glance at recent repository activity before you build anything load-bearing on it.

This entry was verified against Unblink's own documentation before publication; SyncDev keeps the directory reviewed rather than auto-generated.

Available tools

ToolWhat it does
read{ url?, session?, use_current?, mode?, format?, selector?, max_tokens?, cursor?, wait_for?, wait_text?, wait_timeout?, headers?, auth? }
browse{ url?, session?, use_current?, headers?, auth? }
links{ url?, session?, use_current?, filter?, internal_only?, limit? }
forms{ url?, session?, use_current? }
find{ url?, session?, use_current?, query, max_hits? }
site{ url?, session?, use_current? }
click{ session, link_index? \
submit_form{ session, form?, values?, files?, render? }
controls{ url?, session?, use_current? }
interact{ session, selector, event?, value?, key? }
data{ url?, session?, use_current?, kind? }
extract{ url?, session?, use_current?, root?, fields, limit? }
requests{ url?, session?, use_current? }
console{ url?, session?, use_current?, level? }

How to install the Unblink MCP server

{
  "mcpServers": {
    "unblink": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "ghcr.io/christopherdavenport/unblink"]
    }
  }
}

Add to claude_desktop_config.json, then restart Claude Desktop.

Configuration

The official MCP Go SDK requires Go ≥ 1.25. The Makefile sets GOTOOLCHAIN=auto, so the go command downloads the toolchain pinned in go.mod automatically — you do not need to install Go 1.25 yourself, and your global go env is left untouched. (If you run go directly rather than via make, prefix commands with GOTOOLCHAIN=auto.)

Example prompts to try

  • Use Unblink to read.
  • Use Unblink to browse.
  • Use Unblink to links.

Frequently asked questions

It connects Unblink to MCP-compatible AI assistants such as Claude and Cursor, exposing 14 tools (read, browse, links, and more) that the assistant can call on your behalf. Instead of copying data back and forth by hand, the assistant works with Unblink directly.