Mukoko News
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Pan-African news & analytics for Zimbabwe and 15 African countries: briefings and trends.
| Author | io.github.nyuchi |
|---|---|
| Access | mixed |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 2871 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"Mukoko News": {
"url": "https://news.mukoko.dev/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (16)
get_briefingAnswer "What's happening in [place/topic]?" — top story, recent articles, and trending topics in one call. Accepts country codes (ZW, KE), region names (East Africa, Southern Africa), category topics (politics, business), or omit focus for a pan-African overview. Returns short excerpts with word counts and app links only — call get_article with an article id to read a full article body inline.
Parameters:
focus— string — Country code, region, category, or topic (optional)limit— number — Max articles, 1–12 (default 8)
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
track_storyFollow the development of a news story over time. Returns articles in chronological order showing how a story evolved. Use since to control the lookback window.
Parameters:
topic(required) — string — Topic, keyword, event, or person name to tracklimit— number — Max articles, 1–20 (default 10)since— string — Lookback window (default: week)country— string — Limit to a country code (optional)
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_location_newsNews from a specific place in Africa. Accepts country codes, country names, region names, or city names.
Parameters:
location(required) — string — Country code, country name, region, or citylimit— number — Max articles, 1–20 (default 10)category— string — Category to filter (optional)
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
compare_locationsCompare news coverage between 2–4 African countries or regions side by side.
Parameters:
locations(required) — array — 2–4 country codes, country names, or region nameslimit— number — Max articles per location, 1–10 (default 5)topic— string — Narrow comparison to a topic (optional)
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_source_viewSee how a specific news source is covering a topic.
Parameters:
source(required) — string — Publication name (partial match)limit— number — Max articles, 1–20 (default 8)topic— string — Topic to filter by (optional)
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
find_storiesSearch articles by keyword, tag, category, or country. Results carry short excerpts, word counts, and app links only — call get_article with a result's id to read the full article body inline.
Parameters:
q— string — Keyword or phrase (optional)tag— string — Tag name (optional)limit— number — Max results, 1–20 (default 10)country— string — Country code (optional)category— string — Category slug or name (optional)
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_articleRead a single article by ID or slug. Returns the full article body inline as markdown (truncated at ~8000 characters with a link to continue in the app) plus source metadata and the Mukoko app URL. Use this after a list tool (get_briefing, find_stories, …) to read an article without leaving the conversation.
Parameters:
id(required) — string — Article _id or slug
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
list_categoriesList all news categories with article counts.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
list_sourcesList active news sources. Optionally filter by country code.
Parameters:
country— string — Filter by country code (optional)
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_statsPlatform statistics: total articles, active sources, and today's output.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_my_feedPersonalised news feed based on the authenticated user's article likes and saves. Requires Authorization: Bearer <WorkOS access token>.
Parameters:
limit— number — Max articles, 1–20 (default 12)
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_trending_analyticsOpen analytics: trending topics, categories, keywords, and sources for any location or period. Part of Mukoko's open data policy.
Parameters:
limit— number — Max results per section, 1–20 (default 10)period— string — Time window (default: today)location— string — Country code, region, or city (optional)
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
detect_surgeDetect sudden spikes in news coverage — compares last 24h against 7-day baseline. Surfaces unusual increases like crime up 5× in Bulawayo or a football surge in Ghana.
Parameters:
limit— number — Max surges to return, 1–20 (default 10)location— string — Country, region, or city (optional — omit for continent-wide)
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_content_analyticsOpen data breakdown of news coverage by category, country, and keyword for a given period.
Parameters:
period— string — Time window (default: week)location— string — Country, region, or city (optional)
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
trigger_enrichmentManually run the AI enrichment agent over existing articles (classification, keywords, entities, quality scoring). RESTRICTED to platform-team accounts — requires a WorkOS bearer token issued inside the platform-team org. By default enriches the most recent un-enriched articles; pass article_ids to target specific ones, or reset_attempts to re-run articles that previously hit the failure cap.
Parameters:
limit— number — How many un-enriched articles to enqueue, 1–50 (default 25). Ignored when article_ids is given.article_ids— array — Specific article IDs to (re)enrich (optional). Capped at 50.reset_attempts— boolean — Re-enrich even articles that already hit the failure cap (default false). Use sparingly — it re-bills AI.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
drain_enrichment_backlogDrain the ENTIRE un-enriched article backlog, not just one batch. RESTRICTED to platform-team accounts (WorkOS bearer issued inside the platform-team org). Fire-and-forget: asks the pipeline worker to enrich un-enriched articles in batches (oldest first) until the backlog is clear, running independently of the automatic 10-minute sweep. Returns immediately; use trigger_enrichment for a single targeted batch instead.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.