mcpField
M
mcp-site-crawler-links-tables

mcp-site-crawler-links-tables

Local
github.com/mambalabsdevBrowser Automation0Updated 2d ago

About mcp-site-crawler-links-tables

An MCP server that crawls websites over plain HTTP and returns links, file links, HTML tables, and lists as structured rows. It is for deterministic site data extraction without AI; JavaScript-rendered pages may return little data.

Key features

  1. 01Crawl pages through links and sitemaps
  2. 02Extract internal and external links
  3. 03Return HTML tables as rows
  4. 04Collect lists and file links
  5. 05Obey robots.txt by default

Use cases

  1. 01Collect external file download links
  2. 02Turn website tables into rows
  3. 03Find pages linking to other domains

MCP support

Exposes the `crawl_site_links_tables` tool to MCP clients. It starts an Apify actor run and returns the crawl results as dataset rows.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"com-mambabuilt-mcp-site-crawler-links-tables": {
"command": "npx",
"args": [
"-y",
"@mambalabsdev/mcp-site-crawler-links-tables"
],
"env": {
"APIFY_TOKEN": "<APIFY_TOKEN>"
}
}
}
}
Run commandnpx -y @mambalabsdev/mcp-site-crawler-links-tables
Environment variables to set
APIFY_TOKENSecretApify API token from https://console.apify.com/account/integrations

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npm@mambalabsdev/mcp-site-crawler-links-tables1.0.2

Tools

1

Saved tool list · updated 2d ago

ParameterTypeRequiredDescription
extractarrayNoAny of links, tables, lists, download_links. Default links, tables, lists. download_links adds one separate row per file link, charged as download-link-row; the download_links field on page rows is always filled at no extra charge.
max_depthnumberNoHow many links to follow from a start address. 0 reads only the start address. Default 10.
max_pagesnumberNoPages to read across the whole run, up to 10,000. Default 100.
proxy_modeenumNopool (default): the Apify proxy pool only, charged as page-row; a page that refuses it gets a free blocked row. auto: a refused page is retried on residential addresses, and a page read that way is charged as residential-page-row. residential: every page uses residential addresses and is charged as residential-page-row.pool | auto | residential
start_urlsarrayNoWeb addresses to start from, up to 100. A bare domain such as example.com is read as https.
obey_robotsstringNoyes (default): skip pages robots.txt disallows and honor its crawl delay up to 5 seconds. no: read them, only if you have the right to.
use_sitemapstringNoyes (default): also queue the addresses in /sitemap.xml, which finds pages no link reaches. no: follow links only.
max_charge_usdstringNoOptional. The run stops before a charge that would pass this amount. Summary rows are always returned.
same_domain_onlystringNoyes (default): follow links only on the start address's host and its subdomains. no: also follow links to other sites, up to Maximum pages. Links to other sites are listed either way.
download_extensionsarrayNoFile extensions that count as download links. Default pdf, zip, xlsx, xls, docx, doc, pptx, csv, mp3, mp4, exe, dmg, msi, pkg, gz, tar, tgz, 7z, rar, iso, apk. Files are listed, never downloaded.

Details

From the project README

Site Crawler for Links and Tables MCP Server

Glama score MCP Registry npm version npm downloads license mcpservers.org

An MCP server for the Mamba Labs Site Crawler for Links and Tables actor on Apify. Crawl a website and get its links, download links, tables, and lists as rows.

What's Inside

What it does

Give a start address. The actor crawls the site over plain HTTP, following links and the sitemap, and returns one row per page with internal links, external links, file download links, every HTML table as rows, and every list. The output is deterministic, with no AI. robots.txt is obeyed by default. Pages built by JavaScript return little, because no browser runs.

All of the work runs on Apify. This package is a thin client that starts the actor run, waits for it, and hands back the dataset rows.

Quick start

You need Node.js 18 or newer and an Apify account with an API token.

Add this to your Claude Desktop config (claude_desktop_config.json), Cursor, or any MCP client:

{
  "mcpServers": {
    "mamba-site-crawler-links-tables": {
      "command": "npx",
      "args": [
        "-y",
        "@mambalabsdev/mcp-site-crawler-links-tables"
      ],
      "env": {
        "APIFY_TOKEN": "your-apify-token"
      }
    }
  }
}

Restart the client. The crawl_site_links_tables tool appears.

Prerequisites

Example prompts

  • "List every external download link on this website."
  • "Pull all the tables from these pages into rows."
  • "Crawl this site and show me which pages link out to other domains."

Tool

crawl_site_links_tables. One tool. Example arguments:

{
  "start_urls": [
    "https://webscraper.io/test-sites/tables"
  ],
  "extract": [
    "tables",
    "links"
  ],
  "max_pages": 10,
  "max_depth": 1
}

Inputs

Every buyer facing input of the actor. Omitted inputs take the actor's own defaults.

InputTypeRequiredDescription
start_urlsarraynoWeb addresses to start from, up to 100. A bare domain such as example.com is read as https.
max_pagesnumbernoPages to read across the whole run, up to 10,000. Default 100.
max_depthnumbernoHow many links to follow from a start address. 0 reads only the start address. Default 10.
same_domain_onlystringnoyes (default): follow links only on the start address's host and its subdomains. no: also follow links to other sites, up to Maximum pages. Links to other sites are listed either way.
extractarraynoAny of links, tables, lists, download_links. Default links, tables, lists. download_links adds one separate row per file link, charged as download-link-row; the download_links field on page rows is always filled at no extra charge.
download_extensionsarraynoFile extensions that count as download links. Default pdf, zip, xlsx, xls, docx, doc, pptx, csv, mp3, mp4, exe, dmg, msi, pkg, gz, tar, tgz, 7z, rar, iso, apk. Files are listed, never downloaded.
use_sitemapstringnoyes (default): also queue the addresses in /sitemap.xml, which finds pages no link reaches. no: follow links only.
obey_robotsstringnoyes (default): skip pages robots.txt disallows and honor its crawl delay up to 5 seconds. no: read them, only if you have the right to.
max_charge_usdstringnoOptional. The run stops before a charge that would pass this amount. Summary rows are always returned.
proxy_modestringnopool (default): the Apify proxy pool only, charged as page-row; a page that refuses it gets a free blocked row. auto: a refused page is retried on residential addresses, and a page read that way is charged as residential-page-row. residential: every page uses residential addresses and is charged as residential-page-row.

Pricing

Pay per event on Apify, billed to your Apify account. Prices in USD.

EventFree planBronzeSilverGold
page-row, one page read on the proxy pool$0.006$0.0057$0.0054$0.0051
residential-page-row, one page read on residential addresses, only with proxy_mode auto or residential$0.02$0.019$0.018$0.017
download-link-row, one separate file link row, only when extract includes download_links$0.0001$0.000095$0.00009$0.000085
apify-actor-start, per run start$0.0055$0.0055$0.0055$0.0055

Failed or refused pages, summary rows, pages skipped by robots.txt, and refused input are free. Mamba Labs pays the platform costs of the run, Apify proxy traffic included. Mamba Labs pays the platform costs of the run, Apify proxy traffic included.

Full actor documentation

apify.com/mambalabs/site-crawler-links-tables

License

MIT. See LICENSE.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.