# io.github.MetaLift-AI/metalift (npm · @metalift/mcp)

Metalift MCP for AI agents: web search (2 credits), scrape, crawl, and map tools

- Trust score: 62/100 (medium)
- Change this week: +44
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- npm · `@metalift/mcp`: 62/100 (this document), [markdown](https://verifymcp.io/servers/metalift-ai-metalift/metalift-mcp.md), [page](https://verifymcp.io/servers/metalift-ai-metalift/metalift-mcp)

## Channel facts

- Registry: `npm`
- Package: `@metalift/mcp`
- Version: `1.0.15`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Supply Chain Security**: 87/100
  - No malware found by supply-chain analysis.
  - Only part of the dependency tree could be resolved (95 of 99), so this covers what we could see, not the whole tree.
  - No install/post-install scripts declared.
  - Only part of the dependency tree could be resolved (95 of 99), so this covers what we could see, not the whole tree.
- **Provenance & Transparency**: 6/100
  - Repository check failed: the declared repository URL redirects; it must resolve directly.
  - Provenance check failed: no build-provenance attestation is published.
  - License check failed: the license (SEE LICENSE IN LICENSE) isn't a recognized OSI-approved license.
  - Actively maintained (last published 2 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 79/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 1613 tokens (~115/item across 14 items; 11 tools + 3 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 97/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 91% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add metalift-ai-metalift -- npx -y @metalift/mcp
```

### Codex

```bash
codex mcp add metalift-ai-metalift -- npx -y @metalift/mcp
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "metalift-ai-metalift": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@metalift/mcp"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add metalift-ai-metalift --command npx --arg -y --arg @metalift/mcp
```

### Hermes

```yaml
mcp_servers:
  metalift-ai-metalift:
    command: "npx"
    args: ["-y", "@metalift/mcp"]
```

### Other

```json
{
  "mcpServers": {
    "metalift-ai-metalift": {
      "command": "npx",
      "args": [
        "-y",
        "@metalift/mcp"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-03 (score 62, +4)

- [functional improvement] Stability: unverified → 0.27

### 2026-08-02 (score 58, +38)

- [security regression] Provenance: unverified → fail
- [security improvement] Known CVEs: unverified → partial
- [security improvement] Install scripts: unverified → pass
- [security improvement] Malware scan: unverified → pass
- [security] Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window).
- [functional regression] License: unverified → fail
- [functional regression] Schema quality: 100 → unverified
- [functional regression] Tool coverage: 100 → unverified
- [functional improvement] Schema quality: unverified → good
- [functional improvement] MCP protocol: unverified → pass
- [functional improvement] Maintenance: unverified → pass
- [functional improvement] Dependency health: unverified → partial
- [functional] Licence: SEE LICENSE IN LICENSE

### 2026-08-01 (score 20, +20)

- [functional improvement] Tool coverage: unverified → 100
- [functional improvement] Schema quality: unverified → 100
- [functional] First check of Schema quality: unverified
- [functional] First check of Tool coverage: 91
- [functional] First check of Schema quality: fail
- [functional] First check of Schema quality: fail

### 2026-07-31 (score 0, 0)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-30 (score 0, −18)

- [security regression] Malware scan: pass → unverified

### 2026-07-28 (score 18, 0)

- [functional regression] Security disclosure: unverified → fail

### 2026-07-27 (score 18)

First indexed and scored.

## MCP tools (11)

### `metalift_scrape` (~400 tokens)

Scrape URL

Scrape a single URL into markdown, HTML, or text. Default: fast static article path (1 credit, response_detail=compact). E-commerce hosts auto-route to retail/residential. Pass strategy=auto for WAF/SPA pages. Fetch metalift://agent-guide for session workflow. You are solely responsible for complying with website terms, robots.txt, copyright, and data protection laws when using scraped content.

Input parameters:

- `cookie_header` (string): Raw Cookie header from DevTools. Routes through Playwright + sticky proxy to preserve browser TLS fingerprint. Prefer metalift_seed_session with storage_state for repeat scrapes.
- `cookies` (object): Session cookies (name→value). Routes through Playwright browser session + proxy — not static HTTP. Prefer metalift_seed_session for reuse.
- `formats` (array): Output formats; default markdown only
- `headers` (object): Extra request headers. Pass User-Agent from the user's browser when using cookie_header so the session fingerprint matches.
- `only_main_content` (boolean): Extract main article content only (default true)
- `proxy` (string): Proxy tier; default direct for static pages
- `render` (string): Render mode; default static for plain URLs
- `response_detail` (string): Response depth: compact (default, ~16k chars, no links), standard (full markdown + capped links), full (complete JSON).
- `screenshot` (boolean): Capture page screenshot (adds cost)
- `strategy` (string): Scrape strategy: auto, article, spa, cloudflare, authenticated, listing, retail, jsonld, download, raw, or comma-separated chain. Use download for full static HTML. See /v1/strategies for protection…
- `timeout_ms` (number): Per-attempt timeout in milliseconds
- `url` (string, required): Page URL to scrape
- `wait_for` (string): CSS selector to wait for before scraping

### `metalift_batch_scrape` (~146 tokens)

Batch Scrape URLs

Scrape up to 100 URLs in parallel (billed per URL). Default response_detail=compact. Use async=true for background jobs; wait=true blocks with progress. For JS-heavy pages set strategy=auto in scrape_options. You are solely responsible for complying with website terms, robots.txt, copyright, and data protection laws when using scraped content.

Input parameters:

- `async` (boolean): Run as background job (returns job id)
- `scrape_options` (object): Shared scrape options applied to every URL in the batch
- `urls` (array, required): URLs to scrape in parallel
- `wait` (boolean): When async=true, wait for completion with progress updates (default true).

### `metalift_crawl` (~131 tokens)

Crawl Website

Crawl a site from a seed URL and return markdown for discovered pages (1+ credits per page). Default wait=true blocks with progress; wait=false returns job id for metalift_job_status.

Input parameters:

- `exclude_paths` (array): Skip paths matching these prefixes
- `include_paths` (array): Only crawl paths matching these prefixes
- `limit` (number): Maximum pages to crawl
- `max_depth` (number): Maximum link depth from seed URL
- `url` (string, required): Seed URL to start crawling from
- `wait` (boolean): Wait for crawl to finish with progress updates (default true).

### `metalift_sitemap` (~128 tokens)

Fetch Sitemap

Fetch XML sitemap URLs for a site. Discovers sitemap locations from robots.txt (Sitemap: directives) or /sitemap.xml, follows sitemap indexes, and returns page URLs with optional lastmod/changefreq/priority. Costs 1 credit. Prefer this over metalift_map when you need the site's published URL list.

Input parameters:

- `limit` (number)
- `same_origin` (boolean): Only return URLs on the same origin (default true)
- `search` (string): Optional substring filter; matching URLs sort first
- `url` (string, required): Site homepage or direct sitemap.xml URL

### `metalift_map` (~77 tokens)

Map Website URLs

Discover same-origin links by parsing HTML anchors on one page (1 credit). Fallback when metalift_sitemap is unavailable. Does not fetch full page content.

Input parameters:

- `limit` (number): Maximum URLs to return
- `search` (string): Optional substring filter for URLs
- `url` (string, required): Page URL to extract links from

### `metalift_web_search` (~107 tokens)

Web Search

Search the web and return up to 10 SERP results (title, url, snippet, engine, score). Costs 2 credits per search. Returns search snippets only — not page content. Answer simple questions from snippets; do not auto-scrape. Call metalift_scrape separately only when full page content is required.

Input parameters:

- `categories` (array): Optional search categories
- `language` (string): Result language (default en)
- `query` (string, required): Search query

### `metalift_job_status` (~52 tokens)

Get Job Status

Poll async crawl or batch job status and results. Returns human-readable progress (pages completed, credits charged).

Input parameters:

- `job_id` (string, required): Job id from metalift_crawl or metalift_batch_scrape

### `metalift_list_strategies` (~29 tokens)

List Scrape Strategies

List scrape strategies with protection levels and credit estimates. Use before scraping unknown protected sites.

### `metalift_seed_session` (~151 tokens)

Seed Domain Session

Store browser session credentials for a domain (org-scoped). Prefer full Playwright storage_state JSON from the user's browser — preserves cookies + localStorage for fingerprint-coherent replay via unified browser session on later scrapes. Fallback: cookie_header + user_agent from DevTools.

Input parameters:

- `cookie_header` (string)
- `cookies` (object)
- `domain` (string, required): Site hostname, e.g. actionpowertest.com or www.walmart.com
- `storage_state` (object): Playwright context.storageState() JSON — preferred over cookie_header alone
- `ttl_hours` (number)
- `user_agent` (string): User-Agent from the same browser session that issued the cookies

### `metalift_warm_session` (~117 tokens)

Warm Domain Session

Automated browser warmup to collect cookies for later scrapes (15 credits). Use when manual metalift_seed_session is not possible; often fails on strict WAFs.

Input parameters:

- `domain` (string): Override domain for stored session
- `proxy` (string): Default auto. Use residential for WAF-heavy sites.
- `strategy` (string): e.g. retail, cloudflare, authenticated
- `timeout_ms` (number): Browser warmup timeout in milliseconds
- `url` (string, required): Seed URL to visit in browser

### `metalift_list_sessions` (~23 tokens)

List Domain Sessions

List org-scoped browser sessions stored via metalift_seed_session.

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/metalift-ai-metalift/metalift-mcp#diagnostics

## Score history

- 2026-08-03: 62
- 2026-08-02: 58
- 2026-08-01: 20
- 2026-07-31: 0
- 2026-07-30: 0
- 2026-07-28: 18
- 2026-07-27: 18

## Links

- npm package: https://www.npmjs.com/package/@metalift/mcp
- Socket report: https://socket.dev/npm/package/@metalift/mcp
- Changelog RSS feed: https://verifymcp.io/servers/metalift-ai-metalift/metalift-mcp/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/metalift-ai-metalift/metalift-mcp/changelog.json
- HTML version of this page: https://verifymcp.io/servers/metalift-ai-metalift/metalift-mcp
