MCP server
MCP is how AI apps call outside tools. frankensurf-mcp gives any MCP app the
same tools and the same receipts, whichever model it uses.
Start it
Section titled “Start it”FRANKENSURF_STATE="$PWD/state" \FRANKENSURF_STEEL_URL=http://127.0.0.1:3100 \FRANKENSURF_SEARCH_URL=http://127.0.0.1:8088 \ .venv/bin/frankensurf-mcpYou don’t usually run this by hand. Your AI app starts it. Add this to the app’s MCP settings:
{ "mcpServers": { "frankensurf": { "command": "/path/to/frankensurf/.venv/bin/frankensurf-mcp", "env": { "FRANKENSURF_STATE": "/path/to/frankensurf/state", "FRANKENSURF_STEEL_URL": "http://127.0.0.1:3100", "FRANKENSURF_SEARCH_URL": "http://127.0.0.1:8088" } } }}On Windows, start it through WSL: set "command": "wsl" and pass
["-d", "Ubuntu", "--", "env", "FRANKENSURF_STATE=…", …, "/home/you/frankensurf/.venv/bin/frankensurf-mcp"]
as the arguments.
| Tool | Options | Gives back |
|---|---|---|
read |
url, provider, render, include_images, freshness, identity |
The page and its receipt |
extract |
url, adapter, include_images, identity, provider, freshness |
Clean data from a site parser |
batch |
urls, provider, adapter, identity, include_images, freshness |
A list of results |
search |
query, source, limit, identity, provider |
Search results with receipts |
images |
urls, identity, max_images, provider |
Downloaded, checked photos |
identity_status |
identity |
Whether your logins are healthy |
import_evidence |
content, url, observed_at, content_type, image_urls |
A saved copy of something you captured |