Search DevTools

Jump to any tool or page

WebUplink

Give any MCP client the ability to browse and interact with the web via WebUplink.

webuplink-dev0 stars0 forksBrowser & Web
View source

Install

Terminal

$npx -y @webuplink/mcp

mcp_config.json

{
  "mcpServers": {
    "ai-webuplink-mcp": {
      "env": {
        "WEBUPLINK_API_KEY": "${WEBUPLINK_API_KEY}"
      },
      "args": [
        "-y",
        "@webuplink/mcp"
      ],
      "command": "npx"
    }
  }
}

Documentation

MCP server for WebUplink

Give any MCP client the ability to browse and interact with the web via WebUplink.

Claude Desktop

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "webuplink": {
      "command": "npx",
      "args": ["--yes", "--package", "@webuplink/mcp", "webuplink-mcp"],
      "env": {
        "WEBUPLINK_API_KEY": "wup_your_api_key"
      }
    }
  }
}

Cursor

Add to .cursor/mcp.json:

{
  "mcpServers": {
    "webuplink": {
      "command": "npx",
      "args": ["--yes", "--package", "@webuplink/mcp", "webuplink-mcp"],
      "env": {
        "WEBUPLINK_API_KEY": "wup_your_api_key"
      }
    }
  }
}

That's it — your AI can now browse and interact with any website.

Tools

browse

Browse a web page or execute tools on a page.

ParameterTypeDescription
urlstringURL to open a new browser session
session_idstringExisting session ID to continue browsing
toolstringTool name to execute on the page
paramsobjectParameters for the tool
include_page_contentbooleanInclude detailed page content

close_session

Close a browser session to free resources.

ParameterTypeDescription
session_idstringSession ID to close

Environment Variables

VariableRequiredDefaultDescription
WEBUPLINK_API_KEYYour WebUplink API key
WEBUPLINK_BASE_URLhttps://api.webuplink.aiAPI base URL
PORT3001Local HTTP transport port
MCP_HTTP_HOST127.0.0.1Local HTTP transport bind address
MCP_HTTP_ALLOWED_HOSTSnon-loopback HTTP onlyloopback namesComma-separated Host/Origin names accepted by the HTTP boundary

HTTP Transport

For a local Streamable HTTP endpoint, invoke the HTTP binary explicitly:

WEBUPLINK_API_KEY=wup_... npx --yes --package @webuplink/mcp webuplink-mcp-http

The server accepts stateless MCP POST requests at /mcp and listens on 127.0.0.1:3001 by default. Set PORT to change the port.

Binding to a non-loopback interface is an explicit opt-in:

WEBUPLINK_API_KEY=wup_... MCP_HTTP_HOST=0.0.0.0 \
  MCP_HTTP_ALLOWED_HOSTS=mcp.internal.example \
  npx --yes --package @webuplink/mcp webuplink-mcp-http

The listener rejects missing or unlisted Host headers before allocating MCP resources and applies the same allowlist to browser Origin headers. This protects the loopback default from DNS rebinding; it is not client authentication. Every accepted request still uses the single configured WEBUPLINK_API_KEY, so do not expose the listener directly to an untrusted network. Put an authenticated boundary in front of it for controlled remote use.

License

MIT

Sourced from the repository README.

More in Browser & Web