Proxlane

io.github.proxlanePublished by GitHub account proxlanev0.1.2Updated Oct 30, 2026

Web fetch for agents through your own Proxlane gateway. Block pages come back as failures.

Overview

AI-generated overview

Gives an assistant a single web-fetch tool that retrieves pages through your own self-hosted Proxlane gateway and reports block pages as failures.

What you can do
  • Fetch a web page through your Proxlane gateway and get it back as readable text or HTML
  • Run JavaScript on the page or wait for a CSS selector before extracting content
  • Request a specific country and cap the returned length, with truncation noted
  • Receive structured failures that name the outcome, class and whether a retry is worthwhile
When to use it
Useful when an assistant needs to read web pages and you want blocked or captcha responses surfaced as errors instead of being summarised as content, and you already run or plan to run a Proxlane gateway with provider keys.
Requirements
Runs locally over stdio, typically via npx with the npm package. Needs a running Proxlane gateway with at least one provider key, plus the gateway URL in PROXLANE_URL and the gateway's own key in PROXLANE_API_KEY. Network access to the gateway is required.
Before you install
Every call spends provider credits, several times more with render or wait_for. PROXLANE_API_KEY is the gateway's own key and is passed in the process environment; pin the package version, since an unpinned npx run executes whatever was published last with that key available. The tool is deliberately not marked read-only, so clients may prompt for approval.

Installation

In SourceWeft

  1. Open Proxlane in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

@proxlane/sdk

An MCP server that gives an AI agent a web-fetch tool that fails honestly.

A plain fetch hands an agent a 200 with a captcha in the body, and the agent summarises the captcha. This tool fetches through your own Proxlane gateway, which fails over between scraping APIs and checks every response for block pages. The agent gets the page as readable text, or a failure that says what happened and whether retrying is worth it. A block page is never returned as content.

Set up

You need a running gateway with at least one provider key. That is one container: proxlane.dev/docs/quickstart.

Then add the server to your MCP client. Claude Code:

bash
claude mcp add proxlane --env PROXLANE_URL=http://localhost:8787 --env PROXLANE_API_KEY=your-gateway-key -- npx -y @proxlane/[email protected]

Claude Desktop, Cursor and other clients take the same three things in their JSON config:

json
{  "mcpServers": {    "proxlane": {      "command": "npx",      "args": ["-y", "@proxlane/[email protected]"],      "env": {        "PROXLANE_URL": "http://localhost:8787",        "PROXLANE_API_KEY": "your-gateway-key"      }    }  }}

PROXLANE_API_KEY is the gateway's own key, not a provider's. Provider keys stay on the gateway. Pin the version, as above: npx -y otherwise runs whatever was published last, with that key in its environment.

Every call spends provider credits, several times more with render or wait_for. The tool is deliberately not marked read-only, so clients that auto-approve read-only tools still ask.

The tool

fetch_page

Argument
urlrequiredhttp or https
renderoptionalrun JavaScript first; costs several times more
wait_foroptionala CSS selector to wait for; implies render, and the page is a failure if it never appears
countryoptionaltwo-letter code, e.g. us
formattext (default) or html
max_charsdefault 20000longer results are truncated, and say so

On failure the result is marked as an error and reads:

json
{ "ok": false, "outcome": "SOFT_BLOCK", "class": "blocked", "retryable": true, "chain": "scraperapi:SOFT_BLOCK>brightdata:SOFT_BLOCK" }

class is one of six that never grows, and retryable follows from it: the site's own answer (target) and a bad request (client) are not worth retrying; a block or a provider problem may be, later. The gateway has already tried every provider it could, so an immediate retry is not.

In your own process

ts
import { createServer } from '@proxlane/sdk';import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
await createServer({ gatewayUrl: 'http://localhost:8787', apiKey: process.env.PROXLANE_API_KEY! })	.connect(new StdioServerTransport());

Apache-2.0.

Source: packages/sdk/README.md at commit 0f413a1

Tools

1

fetch_page

Fetch a web page

Fetch a web page through a self-hosted Proxlane gateway, which fails over between scraping APIs and checks every response for block pages. Returns the page as text. On failure returns {ok:false, outcome, class, retryable, reason}: a blocked or captcha page is reported as a failure, never returned as content. Do not retry immediately when retryable is true; the gateway has already tried other providers.

Parametersurlrequiredformatrendercountrywait_formax_chars

Version history

2
  1. v0.1.2LatestOct 30, 2026
  2. v0.1.1Oct 26, 2026

Score

90% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts
  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts