News Site Article Archive MCP Server
Uses the Internet Archive capture index to discover article URLs beyond available sitemaps and can retrieve archived copies of pages that are gone from the publisher's site, such as pages returning 404, 410, 500, 502, or 504.
Collects full-text TechCrunch articles within a specified date range, returning article text, published date, title, author, and section. Supports filtering by URL text and limiting the number of articles per site.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@News Site Article Archive MCP ServerGet every TechCrunch article published in January 2016."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
News Site Article Archive MCP Server
An MCP server for the Mamba Labs News Site Article Archive actor on Apify. Full article text and dates from named news sites across a past date range.
What's Inside
Related MCP server: article-scraper-mcp
What it does
Give news sites and a date range. The actor finds article addresses in the site sitemaps and the Internet Archive capture index, reads each page over plain HTTP, and returns one row per article with full text, published date, title, author, and section. A page gone from the site can be read from an Internet Archive copy. Paywalled and refused pages return a free row with no text.
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-news-site-article-archive": {
"command": "npx",
"args": [
"-y",
"@mambalabsdev/mcp-news-site-article-archive"
],
"env": {
"APIFY_TOKEN": "your-apify-token"
}
}
}
}Restart the client. The collect_news_site_articles tool appears.
Prerequisites
Node.js 18 or newer.
An Apify API token from console.apify.com/account/integrations, set as
APIFY_TOKEN. The server lists its tool without a token; a call needs one.
Example prompts
"Get every article this news site published in January 2016."
"Collect 10 years of reports from these three news sites."
"Pull the full text of this site's politics stories from last year."
Tool
collect_news_site_articles. One tool. Example arguments:
{
"sites": [
"techcrunch.com"
],
"date_from": "2016-01-01",
"date_to": "2016-01-31",
"max_articles_per_site": 5
}Inputs
Every buyer facing input of the actor. Omitted inputs take the actor's own defaults.
Input | Type | Required | Description |
| array | no | News sites by domain, for example techcrunch.com, up to 20. |
| string | no | The earliest published date, as YYYY-MM-DD. Default: 30 days before Date to. |
| string | no | The latest published date, as YYYY-MM-DD. Default: today. |
| number | no | Articles to return from each site, up to 5,000. Default 100. |
| array | no | Optional. Keep only addresses with any of these texts, for example /politics/. |
| number | no | Pages with fewer words are not counted as articles and are free. Default 80. |
| boolean | no | yes (default): when the sitemaps run out, also find addresses in the Internet Archive capture index, which reaches years that sitemaps no longer list. no: sitemaps only. |
| boolean | no | yes (default): a page the site answers with 404, 410, 500, 502, or 504 is read from the Internet Archive, at the archived row price. Refused and paywalled pages are never read from an archive. no: gone pages return a free row. |
| boolean | no | yes (default): pages robots.txt disallows are skipped and counted. no: read them anyway. |
| string | no | Optional. The run stops before a charge that would pass this amount. Summary rows are always returned. |
Pricing
Pay per event on Apify, billed to your Apify account. Prices in USD.
Event | Free plan | Bronze | Silver | Gold |
| $0.003 | $0.00285 | $0.0027 | $0.00255 |
| $0.003 | $0.00285 | $0.0027 | $0.00255 |
| $0.021 | $0.021 | $0.021 | $0.021 |
Refused, paywalled, gone, and out of range pages, summary rows, 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/news-site-article-archive
License
MIT. See LICENSE.
Available Tools
1 toolcollect_news_site_articlesCollect articles from news sites by date rangeARead-onlyIdempotent
Find the articles a named news site published in a past date range, from its sitemaps and the Internet Archive capture index, and return full text, published date, title, author, and section. Paywalled and refused pages return a free row with no text. No browser, so sites built by JavaScript return little. Pay per event on Apify: 0.003 USD per article.
| Name | Required | Description | Default |
|---|---|---|---|
| sites | No | News sites by domain, for example techcrunch.com, up to 20. | |
| date_to | No | The latest published date, as YYYY-MM-DD. Default: today. | |
| date_from | No | The earliest published date, as YYYY-MM-DD. Default: 30 days before Date to. | |
| min_words | No | Pages with fewer words are not counted as articles and are free. Default 80. | |
| obey_robots | No | yes (default): pages robots.txt disallows are skipped and counted. no: read them anyway. | |
| url_contains | No | Optional. Keep only addresses with any of these texts, for example /politics/. | |
| max_charge_usd | No | Optional. The run stops before a charge that would pass this amount. Summary rows are always returned. | |
| use_archive_copy | No | yes (default): a page the site answers with 404, 410, 500, 502, or 504 is read from the Internet Archive, at the archived row price. Refused and paywalled pages are never read from an archive. no: gone pages return a free row. | |
| use_archive_index | No | yes (default): when the sitemaps run out, also find addresses in the Internet Archive capture index, which reaches years that sitemaps no longer list. no: sitemaps only. | |
| max_articles_per_site | No | Articles to return from each site, up to 5,000. Default 100. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/idempotent annotations, the description discloses the failure modes that matter: paywalled and refused pages yield a free row with no text, JS-built sites yield little, and pricing is 0.003 USD per article on Apify. It also explains the cost-control mechanism (summary rows always returned, runs stop before a charge). This is behavior an agent could not infer from annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four sentences, front-loaded with purpose, then limitations, then cost. No filler, no restatement of the title, and each sentence carries distinct information an agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 10-parameter, no-required-parameter, no-output-schema tool, the description covers purpose, return fields, failure modes, and cost, which is most of what an agent needs. It could say more about default volume (max_articles_per_site default 100) and how the archive flags interact, but nothing essential is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds economics and semantics the schema does not: the per-article price that makes max_charge_usd meaningful, and the fact that below-min_words pages are free. It does not explain the interaction between the two archive flags or the per-site cap, leaving some parameter interpretation to the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource ("Find the articles a named news site published in a past date range") and names both retrieval channels (sitemaps, Internet Archive capture index). It also enumerates the returned fields (full text, published date, title, author, section), so an agent knows exactly what it gets without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is clear: date-range article harvesting from a named domain, with explicit exclusions about where it fails ("No browser, so sites built by JavaScript return little"). There are no sibling tools to route against, and no explicit statement of when not to use it beyond the JS caveat, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
v1.0.0- First observed
collect_news_site_articles
TDQS
Scored across 1 tool
There is only one tool, so there is no possibility of confusing it with another. Its purpose — retrieving archived articles from a named news site for a date range — is stated explicitly and cannot be mistaken for anything else.
The single name collect_news_site_articles follows a clear verb_noun snake_case convention consistent with common MCP patterns. With only one tool there is no cross-tool pattern to evaluate, so it cannot demonstrate full consistency across a set.
The narrow scope (one retrieval operation over sitemaps plus archive index) means a single tool is defensible, but a one-tool surface is thin and offers no way to discover supported sites or adjust output. It sits at the borderline of minimal but adequate.
The core retrieve-articles operation is covered end to end, including full text and metadata, but there is no companion tool for listing supported sites, paginating large date ranges, or handling failed/JavaScript-heavy sites. Agents hitting those limits have no fallback within the server.
Maintenance
Related MCP Connectors
Extract clean article text, titles, and metadata from news URLs - ready for NLP pipelines.
Full text, author, date and image for every news or blog link in a dataset, CSV or Google Sheet.
Published news articles. Use it for stories, outlets, languages, and time windows.
Google News search and topics with the full article text in Markdown for LLMs.
Related MCP Servers
- AlicenseCqualityDmaintenanceEnables access to news from multiple sources including Google News and DuckDuckGo, supporting queries by location, category, site, date range, and providing top news headlines with detailed information.7MIT
- AlicenseAqualityDmaintenanceEnables fetching and parsing news articles from URLs, extracting title, text, author, and publication date.12MIT

newspaper-mcpofficial
AlicenseNot gradedqualityCmaintenanceEnables LLM agents to discover news sources, list articles, parse and extract article text, search news, and perform NLP analysis such as keyword extraction and summarization.MIT- FlicenseNot gradedqualityBmaintenanceEnables searching and fetching news articles with configurable date ranges, returning structured, sourced evidence for daily mineral-rights briefings.-