MCP Server + Wayfern

One URL for any MCP client.

  • Streamable HTTP
  • OAuth 2.1 with PKCE
  • Or a wf_ token header

Your client is not on this list? If it speaks MCP over HTTP, it can use Wayfern. Add the URL and sign in on wayfern.com.

Your model gets the live web as tools: search, scrape, extract, map, crawl, screenshots, brand and design data, and operations. Each tool states its price, and each result reports the credits it cost.

A protocol view. The client sends tools/list, and the Wayfern tool names light up in a grid, each with its price. Then it calls scrape_page, and markdown comes back with credits_charged: 1.

Setup

Two ways to connect.

Both use the same URL and the same tools. MCP needs a paid plan or a credit balance above zero.

  1. 1

    Add the URL

    Add it as a remote server with the Streamable HTTP transport.

    URL

    https://api.wayfern.com/mcp
  2. 2

    Sign in with OAuth

    The client registers itself, with dynamic client registration or a client ID metadata document, and opens wayfern.com with PKCE. Sign in and click Allow.

  3. 3

    Or send a token

    For a client that sends headers and has no OAuth. Create a token with the mcp scope on the Tokens page, and set WAYFERN_API_TOKEN.

    json

    {
      "mcpServers": {
        "wayfern": {
          "type": "http",
          "url": "https://api.wayfern.com/mcp",
          "headers": { "Authorization": "Bearer ${WAYFERN_API_TOKEN}" }
        }
      }
    }
  4. 4

    List the tools

    The client calls tools/list. Ask for get_usage first: it is free and shows your balance.

Other ways to connect

  • What a client needs

    The facts a client author checks first.

    prompt

    Endpoint   https://api.wayfern.com/mcp
    Transport  Streamable HTTP, POST
    Protocol   2026-07-28 (stateless), or 2025-11-25 and earlier (initialize)
    OAuth      OAuth 2.1 with PKCE, scope mcp
    Clients    dynamic client registration or a client ID metadata document
    Token      Authorization: Bearer wf_... with the mcp scope
  • A raw request

    In the 2026-07-28 protocol, each request carries its own version, so there is no handshake. Older clients send initialize first, and Wayfern serves both.

    bash

    curl -X POST https://api.wayfern.com/mcp \
      -H "Authorization: Bearer wf_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
      -H "Content-Type: application/json" \
      -H "Accept: application/json, text/event-stream" \
      -H "MCP-Protocol-Version: 2026-07-28" \
      -H "Mcp-Method: tools/list" \
      -d '{
        "jsonrpc": "2.0",
        "id": 1,
        "method": "tools/list",
        "params": {
          "_meta": {
            "io.modelcontextprotocol/protocolVersion": "2026-07-28",
            "io.modelcontextprotocol/clientCapabilities": {},
            "io.modelcontextprotocol/clientInfo": { "name": "my-agent", "version": "1.0.0" }
          }
        }
      }'

Route

OAuth keeps the secret out of the config.

With OAuth, the client holds a short-lived access token and renews it. No secret sits in a config file.

Remote MCP OAuth sign-in
Best fit
OAuth 2.1 with PKCE and automatic client registration.
MCP + token Authorization header
Works
Authorization: Bearer wf_... with the mcp scope.
Agent skill SKILL.md
Works
For an agent with a shell: SKILL.md and curl. The agent skill page has the steps.
REST API api.wayfern.com/api/v1
Works
The same work as REST endpoints under api.wayfern.com/api/v1.
Browser API Playwright over CDP
Works
A real browser over CDP for Playwright or Puppeteer, with a link token.

Example tasks

Try these first

  • 01

    A free first call

    “Call get_usage and tell me my credit balance.”

    get_usage is free. So are list_search_engines and crawl_status.

  • 02

    One page

    “Scrape https://example.com as markdown and give me the title and the first heading.”

    scrape_page, 1 credit.

  • 03

    A structured answer

    “Extract the plan names and monthly prices from https://example.com/pricing as JSON.”

    extract_data, 1 credit for each uncached source page.

  • 04

    An operation

    “List my Wayfern operations, then call the product search one with the query standing desk.”

    list_operations is free. call_operation costs 1 credit for each answer.

Tools

What MCP Server can call

The same tools on every route, at the REST API rates. Every result reports credits_charged.

All tool inputs
  • scrape_page Fetch one page through an anti-detect browser and return clean markdown, HTML, links and metadata. The screenshot, pdf and json formats add +4 credits (once); summary adds +2. 1 credit / page
  • extract_data Extract structured data from one or more pages with a prompt and an optional JSON Schema. Re-running over pages already fetched is free. 1 credit / uncached source page
  • map_site List a site's URLs from its sitemaps and page links. 2 credits / 10 URLs
  • capture_screenshot Capture a clean image of a page: cookie banners and ads removed, lazy images loaded, tall pages captured end to end. Returns a short-lived download URL and an artifact key, not image bytes. Slices of a full page cost nothing extra; a fail_if_contains match is not charged. 5 credits / capture
  • brand_profile Identity, colours, logos, social links and company metadata for a domain. 10 credits / profile
  • site_styleguide Colours, typography, spacing, radii, shadows and the design tokens a site declares. 10 credits / site
  • site_fonts Font families, where each is served from, available weights, file formats and where they are used. 5 credits / site
  • crawl_site Start a bounded multi-page crawl. Returns a job id immediately and charges nothing up front; pages are billed as the crawl runs. 1 credit / successful page
  • crawl_status Poll a crawl started with crawl_site and read a page of its results. The pages were billed as they were crawled. Free
  • search_web Search Google, Bing, and DuckDuckGo. Returns ranked results, ads, provider failures, pagination, and related queries. 2 credits / provider page
  • list_search_engines List live provider ids and labels. Free

Good to know

Rate limit
The MCP endpoint takes 120 requests a minute.
Sessions
A session from an older client ends after 30 minutes idle. The client opens a new one when it needs to.
Free tools
get_usage, list_search_engines, crawl_status, list_operations, describe_operation and create_operation cost no credits.