Publication Cadence Tracker MCP Server
Tracks a company's long-form publication cadence per month and trend (accelerating, steady, declining, dormant) from a given domain. Provides detailed metrics like post counts, trend percentage change, formats detected, and reliability flags.
README
Publication Cadence Tracker MCP Server
MCP server for the Mamba Labs Publication Cadence Tracker actor on Apify.
Give it a company domain. It tells your agent how much long-form work that company publishes per month, and whether that rate is rising or falling.
Tool
track_publication_cadence
Returns a flat row per domain: posts_last_30d, posts_last_90d, posts_last_12m, avg_posts_per_month, cadence_trend (accelerating, steady, declining, dormant, unknown), trend_pct_change, most_recent_post_date, days_since_last_post, blog_url, formats_detected[], distinct_authors_count, discovery_method, confidence, and an evidence[] array of quotable strings.
Why the trend and not the count
Four pieces a month is unremarkable. Going from four to twelve in six months is a content operation outgrowing its staff. The comparison is stated rather than implied: the last 90 days against the prior 275 days, both normalized to posts per month, with accelerating and declining set at 25 percent either way.
This is editorial output volume, not changelog monitoring. A release feed is detected and rejected rather than counted as published work.
The number it refuses to give you
Publication dates come from the post pages, never from sitemap lastmod. Across 100 measured URL pairs, lastmod tracked the page's own dateModified and ran later than datePublished by a median of 151 to 1653 days on four of six sites. A cadence built on it would report a company that refreshed 200 old posts as a company that published 200 posts.
A page field can fail the same way, so it is checked against its own distribution and against the site's feed. When it fails, date_source_reliable comes back false and every count is nulled. Check that field before quoting a number.
Measured on nine live domains: a rate recovered on 5 of 6 publishers, 3 of 3 controls correctly returning nothing. The one miss is the guard refusing a site whose date field tracks edits.
track_publication_cadence
| Input | Type | Notes |
|---|---|---|
domain |
string | One company domain. |
domains |
string[] | Batch. Takes precedence over domain. |
max_pages_to_date |
integer | Post pages fetched per domain, default 400. Above this the counts are estimated from an even sample. |
domain_time_budget_ms |
integer | Hard per-domain wall-clock ceiling, default 75000. |
batchSize |
integer | Concurrent domains, default 2. |
skipCache |
boolean | Ignore the 3 day result cache. |
What it actually measures
Not whether a company has a blog. How much it published, when, and whether the rate moved.
Finding the blog is most of the work, and it is where a naive version fails. The blog often lives on a different host from the apex and the apex sitemap never mentions it (blog.hubspot.com). A homepage sometimes advertises only a changelog feed while linking to the real blog repeatedly (about.gitlab.com). Paths are often locale prefixed, so /en-uk/ and /bg-bg/ fragment the archive into forty pieces. All three are handled, and blog_url reports a locale-prefixed section as https://example.com/*/knowledge/.
Three fields to read before you trust a number. date_source_reliable false means the site's date field tracks edits rather than publication and every count has been nulled. counts_are_estimate true means the archive was larger than the page budget and the counts come from a scaled even sample, so two runs can differ by a few posts. partial_result true means the wall-clock budget stopped the crawl and the numbers are lower bounds.
Setup
{
"mcpServers": {
"mamba-publication-cadence-tracker": {
"command": "npx",
"args": ["-y", "@mambalabsdev/mcp-publication-cadence-tracker"],
"env": { "APIFY_TOKEN": "your-apify-token" }
}
}
}
Get a token at console.apify.com/account/integrations. Read-only; consumes Apify credits per domain analyzed.
Also available
This tool is also exposed by the GTM Suite umbrella server, alongside the rest of the Mamba Labs GTM actors, if you would rather run one server than many.
Built by Mamba Labs.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.