clawifi-mcp
# clawifi
<!-- mcp-name: io.github.atakanelik34/clawifi-mcp -->
[](https://pypi.org/project/clawifi/)
[](https://pypi.org/project/clawifi/)
[](LICENSE)
[](https://clawifi.qzz.io/docs)
[](https://github.com/atakanelik34/clawifi-mcp/stargazers)
Official Python SDK, CLI, and MCP server for [Clawifi](https://clawifi.qzz.io), the agent-native internet gateway: one typed API and MCP surface for fetching, scraping, searching, and crawling the web on behalf of an agent, with Cloudflare-challenge handling and realistic browser fingerprinting behind it.
This package is a thin client over the hosted Clawifi API. It does not include the Clawifi server, browser runtime, or Playwright — those run on Clawifi's infrastructure. Live capability evidence and uptime: [clawifi.qzz.io/benchmarks](https://clawifi.qzz.io/benchmarks) · [clawifi.qzz.io/trust](https://clawifi.qzz.io/trust) · [clawifi.qzz.io/status](https://clawifi.qzz.io/status).
## Install
```bash
pip install clawifi
```
## Get an API key
```bash
clawifi signup --email you@example.com --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
```
## Use as an MCP server
```bash
clawifi mcp config
```
prints a ready-to-paste MCP client config. The MCP server itself runs as:
```bash
clawifi-mcp
```
reading `CLAWIFI_API_KEY` from the environment.
## Use as a Python SDK
```python
from clawifi import Clawifi
client = Clawifi() # reads CLAWIFI_API_KEY from the environment
page = client.fetch("https://example.com")
print(page["success"])
```
An async client is also available as `clawifi.AsyncClawifi`.
## MCP tools
| Tool | What it does |
| --- | --- |
| `fetch` | Fetch a single URL and return its extracted content. |
| `scrape` | Scrape a URL with source-aware routing and return structured content. |
| `search_free` | Run a free-tier web search and return results. |
| `extract` | Extract structured data from a URL. |
| `map_site` | Map a site's discoverable URLs starting from a seed URL. |
| `crawl` | Start an asynchronous crawl from a seed URL; returns a `crawl_id` to poll. |
| `get_crawl` | Get the current status and results of a crawl. |
| `create_job` | Create an asynchronous job for a billable operation; returns a `job_id` to poll. |
| `get_job` | Get the current status and results of a job. |
| `account` | Get the authenticated account's profile and plan. |
| `credits` | Get the authenticated account's credit usage and remaining balance. |
| `list_history` | List past requests for the authenticated account. |
| `list_monitors` | List configured Evidence Monitor checks for the authenticated account. |
## Documentation
See [clawifi.qzz.io/docs](https://clawifi.qzz.io/docs) for the full API reference, MCP tool list, and CLI command reference.
## License
MIT
TDQS
Scored across 13 tools
Tools like fetch, scrape, and extract have overlapping descriptions (all extract content from URLs), making it ambiguous which to use for a given task. Other tools are distinct, but this cluster reduces clarity.
Most tools follow a verb_noun pattern (e.g., get_crawl, create_job), but a few are single verbs (fetch, scrape, extract) which is a minor deviation. Overall, the naming is clear and predictable.
13 tools cover the core functionalities of web scraping, crawling, job management, account info, and monitoring without being excessive. Each tool serves a distinct purpose.
The tool set covers primary workflows (fetch, scrape, crawl, search) but lacks creation or management of monitors beyond listing, and job management only supports create/get, missing delete or update.