Clawifi

io.github.atakanelik34Published by GitHub account atakanelik34v0.4.0Updated Oct 27, 2026

Agent-native internet gateway: typed search, fetch, scrape, crawl, and extract via the Clawifi API.

VerifiedStreamable HTTPWeb executableWeb Search & ScrapingKnowledge & Memory

Overview

AI-generated overview

Clawifi is a hosted web search and page-reading gateway that lets an assistant search the web, fetch pages and PDFs as markdown, scrape, and map sites.

What you can do
  • Search the web and get ranked results with titles, URLs and snippets
  • Fetch a single URL or PDF as clean markdown, optionally returning only the passages that answer a query, or force browser rendering
  • Scrape a URL into markdown, text, links, metadata, HTML, screenshot or state JSON, filtered by query
  • Map a site's discoverable URLs from a seed URL, with search filtering
  • Price calls before running them and check account profile, credit balance and request history
When to use it
Useful when an assistant needs to read live web pages or PDFs, run web searches, or survey a site's URLs and wants the results already reduced to the passages that answer a question. The keyless tier is enough to try it out; a key unlocks the full toolset.
Requirements
Runs either as a hosted remote endpoint over streamable HTTP or as a local Python package (pip install clawifi, started with clawifi-mcp). A Clawifi API key is needed for the full toolset, supplied as the CLAWIFI_API_KEY environment variable or an Authorization bearer header; without a key only four tools work at 12 calls a minute and 50 a day per address. Network access to the Clawifi API is required.
Before you install
The package is a thin client over a hosted third-party API, so the URLs and queries you pass are sent to Clawifi. Calls are billed in credits: fetch costs 1 credit, or 3 with browser rendering, and the account starts with 1,000 free credits. Use the estimate tool to price a call before running it. The API key is a secret; the CLI prints only a masked or variable reference, never the key itself.

Installation

In SourceWeft

  1. Open Clawifi in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.atakanelik34%2Fclawifi-mcp/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "clawifi": {
      "type": "http",
      "url": "https://api.clawifi.dev/mcp"
    }
  }
}

README

clawifi

[PyPI] [Python] [License] [MCP] [GitHub stars]

Official Python SDK, CLI, and MCP server for Clawifi, web search and page reading for AI agents: search many engines as one, read pages and PDFs, map and crawl sites, and get back only the passages that answer the question, each with its source. One typed API and MCP surface for all of it.

This package is a thin client over the hosted Clawifi API (hosted API version 1.7.2 at time of release); the Clawifi server is not included. Docs, pricing and status: clawifi.dev/docs · clawifi.dev/pricing · clawifi.dev/status · clawifi.dev/security.

One-click install (hosted server, no key needed to try)

[Add to Cursor] [Install in VS Code]

Both add the hosted remote server https://api.clawifi.dev/mcp. No key needed to try: 4 tools, 50 calls a day per address. Add your API key for the full toolset (get a free key).

Install

bash
pip install clawifi

Get an API key

bash
clawifi signup --email [email protected] --password "a strong password"

This creates an account, grants 1,000 free credits, and prints an API key. Export it:

bash
export CLAWIFI_API_KEY="clawifi_live_..."

Quicktest

bash
clawifi quicktest --url https://example.com

Set up your MCP client

bash
clawifi init

finds the MCP clients installed on this machine (Claude Code, Codex, Cursor, Claude Desktop, VS Code) and prints, for each one, the install line for the local server (clawifi-mcp, stdio) and for the remote server, followed by a first call to try. It only prints; it never shows your key, only $CLAWIFI_API_KEY or a masked clawifi_live_****. clawifi init --all shows every client, found or not.

To have it edit a config file for you:

bash
clawifi init --write cursor            # ~/.cursor/mcp.json, stdio entryclawifi init --write cursor --remote   # ~/.cursor/mcp.json, remote entryclawifi init --write claude-desktop    # claude_desktop_config.json, stdio entry

--write asks before it changes anything and copies the existing file to <file>.bak-<timestamp> first. Claude Code, Codex and VS Code have their own install commands, which init prints.

For Claude Code, for example:

bash
# local (stdio)claude mcp add --env CLAWIFI_API_KEY=$CLAWIFI_API_KEY --transport stdio clawifi -- clawifi-mcp# remoteclaude mcp add --transport http clawifi https://api.clawifi.dev/mcp --header "Authorization: Bearer $CLAWIFI_API_KEY"

Use as an MCP server

The local MCP server runs as:

bash
clawifi-mcp

reading CLAWIFI_API_KEY from the environment. clawifi mcp config prints a minimal config for it. Every tool carries a title and the MCP hints readOnlyHint, destructiveHint, idempotentHint and openWorldHint; none is destructive.

The billable tools (fetch, scrape, extract, map_site, crawl, search_free) take their common options as parameters and any other API field in options, which is merged into the request body. They refuse dry_run: use the estimate tool to price a call. Arguments a tool does not declare are refused rather than ignored.

Remote MCP

Clawifi also runs a hosted MCP server, so nothing needs installing:

  • URL: https://api.clawifi.dev/mcp (streamable HTTP)
  • Auth: Authorization: Bearer <your key>, or the X-Clawifi-Api-Key: <your key> header

The old host api.clawifi.qzz.io (API and /mcp) keeps working, so CLAWIFI_API_BASE=https://api.clawifi.qzz.io and existing remote configs need no change.

Without a key the remote server offers a keyless tier of four tools, search_free, fetch_url, scrape_url and map_site, at 12 calls a minute and 50 a day per address. With a key you get the full tool list.

Credits

Calls are charged per operation (a plain fetch is 1 credit, a browser render 3, a crawl 1 per page, and so on). See clawifi.dev/pricing, or print the current table, which needs no key:

bash
clawifi credits

The credits MCP tool and client.credits() show your own usage and balance instead.

Use as a Python SDK

python
from clawifi import Clawifi
client = Clawifi()  # reads CLAWIFI_API_KEY from the environmentpage = client.fetch("https://example.com")print(page["success"])

An async client is also available as clawifi.AsyncClawifi.

search_content searches and reads the top results; it is compact by default and full=True returns the full output:

python
results = client.search_content("agent memory benchmarks", full=True)

Responses are returned as the API sends them, so fields such as published_at, modified_at and fetched_at come through untouched.

Estimates (hosted API 1.7.0 and later)

python
quote = client.estimate("fetch", url="https://example.com")# {"dry_run": true, "route": "POST /fetch", "estimate": {"minimum": ..., "maximum": ..., "raises": [...]},#  "balance": ..., "would_402": ..., "would_429": ..., "binding_limit": ..., "charged": 0}client.crawl("https://example.com", max_pages=50, dry_run=True)

estimate() and dry_run=True work for fetch, scrape, extract, map, crawl, search_free and search_content. Before the first dry run the client checks the API version at /product/manifest; an API older than 1.7.0 would ignore dry_run and run (and bill) the call, so the client raises ClawifiDryRunUnsupportedError and sends nothing. Pre-releases such as 1.7.0rc1 count as older than 1.7.0.

dry_run is sent only when it is True, and only as the JSON boolean true: a normal call, or dry_run=False, has no dry_run key in its body, and a value that is not a bool raises TypeError before anything is sent. The API answers any dry_run key (even false) on a route that cannot dry-run with a 422, so schema_assist drops dry_run=False and refuses dry_run=True.

The estimate MCP tool does the same from an agent: estimate(operation="fetch", args={"url": "https://example.com"}).

Rate limits

A 429 raises ClawifiAPIError with retry_after (seconds, from the Retry-After header) and limit_scope (which limit was hit, from details.limit_scope). Retryable calls wait out a Retry-After of up to 10 seconds before retrying; a longer one is raised straight away.

MCP tools

ToolWhat it does
fetchFetch a single URL and return its extracted content. With query, only the passages that answer it.
scrapeScrape a URL with source-aware routing and return structured content. With query, only the passages that answer it.
search_freeRun a free-tier web search and return results.
extractExtract structured data from a URL.
map_siteMap a site's discoverable URLs starting from a seed URL.
crawlStart an asynchronous crawl from a seed URL; returns a crawl_id to poll.
estimatePrice a fetch, scrape, extract, map, crawl, search_free or search_content call without running it or charging for it (hosted API 1.7.0+).
get_crawlGet the current status and results of a crawl.
create_jobCreate an asynchronous job for a billable operation; returns a job_id to poll.
get_jobGet the current status and results of a job.
accountGet the authenticated account's profile and plan.
creditsGet the authenticated account's credit usage and remaining balance.
list_historyList past requests for the authenticated account.
list_monitorsList configured Evidence Monitor checks for the authenticated account.

Documentation

See clawifi.dev/docs for the full API reference, MCP tool list, and CLI command reference.

License

MIT

Source: README.md at commit 7a99f3c

Tools

4

fetch_url

Fetch a page

Fetch one URL (page or PDF) as clean markdown with route diagnostics. query returns only the top_k passages that answer it. force_browser renders it in a browser (3 credits instead of 1).

Parametersurlrequiredquerytop_kmax_pagesforce_browsertarget_selectortimeout_seconds

scrape_url

Scrape a page

Scrape a URL into LLM-ready formats (markdown, text, links, metadata, html, screenshot, state_json). query keeps only the top_k passages of markdown and text that answer it.

Parametersurlrequiredmodequerytop_kformatstarget_selectortimeout_seconds

search_free

Search the web

Search the web and return ranked results (title, URL, snippet).

Parametersqueryrequiredtime_rangemax_resultsinclude_domains

map_site

Map a site

List a site's discoverable URLs (sitemap, robots, links) from a seed URL; search filters them.

Parametersurlrequiredsearchmax_urls

Version history

6
  1. v0.4.0LatestOct 22, 2026
  2. v0.3.1Oct 21, 2026
  3. v0.2.0Oct 20, 2026
  4. v0.1.2Oct 12, 2026
  5. v0.1.1Sep 29, 2026
  6. v0.1.0Sep 16, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts