Clawifi

io.github.atakanelik34由 GitHub 帳號 atakanelik34 發布v0.4.0更新於 Oct 27, 2026

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

已驗證Streamable HTTP可網頁執行網頁搜尋與抓取知識與記憶

概覽

AI 產生的概覽

Clawifi 是託管的網頁搜尋與頁面讀取閘道,讓助理搜尋網頁、把頁面與 PDF 抓取為 markdown、擷取結構化內容並列出網站 URL。

可以做什麼
  • 搜尋網頁並回傳含標題、URL 與摘要的排序結果
  • 抓取單一 URL 或 PDF 並轉為乾淨的 markdown,可依查詢只回傳相關段落,或強制以瀏覽器渲染
  • 把 URL 抓取為 markdown、文字、連結、中繼資料、HTML、截圖或狀態 JSON,並可依查詢過濾
  • 從種子 URL 列出網站可探索的 URL,並支援搜尋過濾
  • 在執行前估算呼叫費用,並檢視帳戶資料、點數餘額與請求紀錄
適用情境
適合助理需要讀取即時網頁或 PDF、執行網頁搜尋,或盤點網站 URL,並希望結果已縮減為能回答問題的段落時使用。無金鑰層級足以試用,設定金鑰後可取得完整工具集。
執行需求
可作為以 streamable HTTP 提供的遠端託管端點執行,也可作為本機 Python 套件執行(pip install clawifi,以 clawifi-mcp 啟動)。完整工具集需要 Clawifi API 金鑰,透過 CLAWIFI_API_KEY 環境變數或 Authorization bearer 標頭提供;沒有金鑰時僅四個工具可用,限制為每分鐘 12 次、每個位址每天 50 次。需要能連線至 Clawifi API 的網路。
安裝前請注意
此套件是託管第三方 API 的輕量用戶端,傳入的 URL 與查詢會送往 Clawifi。呼叫以點數計費:fetch 為 1 點,強制瀏覽器渲染為 3 點,帳戶初始提供 1,000 免費點數。執行前可用 estimate 工具估算費用。API 金鑰屬機密,命令列只顯示遮罩或變數參照,不會顯示金鑰本身。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Clawifi,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/io.github.atakanelik34%2Fclawifi-mcp/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "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

來源:README.md,提交 7a99f3c

工具

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).

輸入參數url必填querytop_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.

輸入參數url必填modequerytop_kformatstarget_selectortimeout_seconds

search_free

Search the web

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

輸入參數query必填time_rangemax_resultsinclude_domains

map_site

Map a site

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

輸入參數url必填searchmax_urls

版本歷史

6
  1. v0.4.0最新Oct 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

評分

已滿足適用檢查項的 100%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分