+
MCP Server + Wayfern
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.
→tools/listid 1
←200 · tools, each with its price in credits
→tools/call scrape_pageid 2
{"url": "https://example.com"}
←content · markdown
# Example Domain
This domain is for use in documentation examples…
credits_charged: 1
Setup
Both use the same URL and the same tools. MCP needs a paid plan or a credit balance above zero.
Add it as a remote server with the Streamable HTTP transport.
URL
https://api.wayfern.com/mcpThe client registers itself, with dynamic client registration or a client ID metadata document, and opens wayfern.com with PKCE. Sign in and click Allow.
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}" }
}
}
}The client calls tools/list. Ask for get_usage first: it is free and shows your balance.
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 scopeIn 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
With OAuth, the client holds a short-lived access token and renews it. No secret sits in a config file.
Authorization: Bearer wf_... with the mcp scope.api.wayfern.com/api/v1.Example tasks
01
“Call get_usage and tell me my credit balance.”
get_usage is free. So are list_search_engines and crawl_status.
02
“Scrape https://example.com as markdown and give me the title and the first heading.”
scrape_page, 1 credit.
03
“Extract the plan names and monthly prices from https://example.com/pricing as JSON.”
extract_data, 1 credit for each uncached source page.
04
“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
The same tools on every route, at the REST API rates. Every result reports credits_charged.
get_usage, list_search_engines, crawl_status, list_operations, describe_operation and create_operation cost no credits.Sign in once and the tools appear. Tool calls use the credits of your Wayfern plan, at the same rates as the API.