{
  "markdown": "# Publication Cadence Tracker MCP Server\n\n[![npm](https://img.shields.io/npm/v/@mambalabsdev/mcp-publication-cadence-tracker)](https://www.npmjs.com/package/@mambalabsdev/mcp-publication-cadence-tracker)\n[![MCP](https://img.shields.io/badge/MCP-server-blue)](https://modelcontextprotocol.io)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](./LICENSE)\n\nMCP server for the Mamba Labs [Publication Cadence Tracker](https://apify.com/mambalabs/publication-cadence-tracker) actor on Apify.\n\nGive 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.\n\n## Tool\n\n`track_publication_cadence`\n\nReturns 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`, `publication_url`, `formats_detected[]`, `distinct_authors_count`, `discovery_method`, `confidence`, and an `evidence[]` array of quotable strings.\n\n## Why the trend and not the count\n\nFour 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.\n\nThis is editorial output volume, not changelog monitoring. A release feed is detected and rejected rather than counted as published work.\n\n## The number it refuses to give you\n\nPublication 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.\n\nA 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.\n\nMeasured 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.\n\n## `track_publication_cadence`\n\n| Input | Type | Notes |\n|---|---|---|\n| `domain` | string | One company domain. |\n| `domains` | string[] | Batch. Takes precedence over `domain`. |\n| `max_pages_to_date` | integer | Post pages fetched per domain, default 400. Above this the counts are estimated from an even sample. |\n| `domain_time_budget_ms` | integer | Hard per-domain wall-clock ceiling, default 75000. |\n| `batchSize` | integer | Concurrent domains, default 2. |\n| `skipCache` | boolean | Ignore the 3 day result cache. |\n\n## What it actually measures\n\nNot whether a company has a blog. How much it published, when, and whether the rate moved.\n\nFinding 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 `publication_url` reports a locale-prefixed section as `https://example.com/*/knowledge/`.\n\n**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.\n\n## Setup\n\n```json\n{\n  \"mcpServers\": {\n    \"mamba-publication-cadence-tracker\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@mambalabsdev/mcp-publication-cadence-tracker\"],\n      \"env\": { \"APIFY_TOKEN\": \"your-apify-token\" }\n    }\n  }\n}\n```\n\nGet a token at [console.apify.com/account/integrations](https://console.apify.com/account/integrations). Read-only; consumes Apify credits per domain analyzed.\n\n## Also available\n\nThis tool is also exposed by the [GTM Suite](https://www.npmjs.com/package/@mambalabsdev/mcp-gtm-suite) umbrella server, alongside the rest of the Mamba Labs GTM actors, if you would rather run one server than many.\n\nBuilt by [Mamba Labs](https://apify.com/mambalabs).\n",
  "bytes": 4733,
  "sha": "b081abc52f3a7e092c994fa05f8da3bc4cbdb6a8b0b582a186f7e28a2ad3b2d8",
  "repo_slug": "mambalabsdev/mcp-publication-cadence-tracker",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_com_mambabuilt_mcp_publication_cadence_t_44f97d71/readme"
}