surfsky-mcp
MCP server for Surfsky, a cloud-based antidetect browser.
Install
Requires Python 3.12+, uv, and a Surfsky account. Replace ... with your
SURFSKY_API_TOKEN and SURFSKY_API_BASE_URL from the
dashboard. Browser time and proxy traffic are billed.
Claude Code:
claude mcp add surfsky -e SURFSKY_API_TOKEN=... -e SURFSKY_API_BASE_URL=... -- uvx surfsky-mcp
Claude Desktop / Cursor:
{
"mcpServers": {
"surfsky": {
"command": "uvx",
"args": ["surfsky-mcp"],
"env": { "SURFSKY_API_TOKEN": "...", "SURFSKY_API_BASE_URL": "..." }
}
}
}
Codex (~/.codex/config.toml):
[mcp_servers.surfsky]
command = "uvx"
args = ["surfsky-mcp"]
env = { SURFSKY_API_TOKEN = "...", SURFSKY_API_BASE_URL = "..." }
Tools
| Tool | Description |
|---|---|
surfsky_scrape |
Fetch a URL as Markdown, HTML, links or a screenshot. |
surfsky_navigate |
Open a URL, go back or forward, or reload. |
surfsky_snapshot |
List page elements with @N references for actions. |
surfsky_act |
Click, double-click, hover, fill, type, press keys, select or scroll. |
surfsky_wait |
Wait for an element, URL, text or a delay. |
surfsky_read |
Read page content as Markdown, text, HTML or links. |
surfsky_screenshot |
Capture the viewport, full page or an element. |
surfsky_evaluate |
Run JavaScript in an isolated context or the page context. |
surfsky_tab |
List, open, switch or close tabs. |
surfsky_session_start |
Start a session with profile, proxy or fingerprint settings. |
surfsky_session_stop |
Stop a session and its billing. Safe to repeat. |
surfsky_session_list |
List the account's running sessions. |
surfsky_status |
Check credentials, plan limits and proxy quota. |
Sessions
Browser tools share a default session unless you pass session_id. It starts
on first use and stops after five minutes idle or on server shutdown. Call
surfsky_session_stop to stop billing immediately.
Use surfsky_session_start for separate sessions, saved profiles or custom
proxy and fingerprint settings. surfsky_scrape stops its browser automatically.
Sessions can also be listed and stopped through the
Surfsky CLI.
HTTP mode
uvx surfsky-mcp --http --host 0.0.0.0 --port 8000 --allowed-hosts mcp.example.com
Serves streamable HTTP at /mcp. Set the same credentials in the environment.
There is no built-in authentication; use an authenticated proxy or private network.
Set --allowed-hosts to the hostname clients use. Without it, non-localhost
binds disable Host-header checks.
Clients sharing a server must use separate session_id values.
Development
uv sync --all-groups
uv run ruff check . && uv run ty check && uv run pytest -q
SURFSKY_LIVE_TESTS=1 uv run pytest tests/test_live.py # billed
License
MIT
Release files for surfsky-mcp 0.0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| surfsky_mcp-0.0.2.tar.gz | 31.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| surfsky_mcp-0.0.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 53.9 kB
Release files / surfsky_mcp-0.0.2.tar.gz
| Download URL | surfsky_mcp-0.0.2.tar.gz |
|---|---|
| Size | 31.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b66a45c4720610c1807ef619be2a50509875f7f6579cb1139505d84fbdf46419
|
|
BLAKE2b-256 checksum How to use checksums |
d79b961135758fa38010bc7390b36f1d4aacfc3c70830025e0572797c604a88c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.12 {"installer":{"name":"uv","version":"0.12.12","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / surfsky_mcp-0.0.2-py3-none-any.whl
| Download URL | surfsky_mcp-0.0.2-py3-none-any.whl |
|---|---|
| Size | 22.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
69db54e2f87996871516cca8d041554759039fc82544a4a90089f13abf63ddbb
|
|
BLAKE2b-256 checksum How to use checksums |
7fbfd16ead8d467cd4a5bed77a0c1691cd43a54d8c3392ddf9071d8d9bf54a6e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.12 {"installer":{"name":"uv","version":"0.12.12","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|