Mukoko News
by nyuchi · remote · local (npm) · no sign-in to list tools · v1.2.0 · published by GitHub user nyuchi
Pan-African news & analytics for Zimbabwe and 15 African countries: briefings and trends.
16 tools: 6 change things and 10 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things6Claude Code: ask: see these tools
- Only reads10Claude Code: allow: see these tools
No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http mukoko-news https://news.mukoko.dev/mcpTools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
16 tools
Changes things 6Claude Code: ask
detect_surgeDetect sudden spikes in news coverage — compares last 24h against 7-day baseline.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Detect 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.
drain_enrichment_backlogDrain the ENTIRE un-enriched article backlog, not just one batch.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Drain 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.
get_content_analyticsOpen data breakdown of news coverage by category, country, and keyword for a given period.No findings
Why it is in this group
- The name "get_content_analytics" says "get": a word for reading.
- The description's first verb is "open": a word for a change.
Description, as the server wrote it Open data breakdown of news coverage by category, country, and keyword for a given period.
get_trending_analyticsOpen analytics: trending topics, categories, keywords, and sources for any location or period.No findings
Why it is in this group
- The name "get_trending_analytics" says "get": a word for reading.
- The description's first verb is "open": a word for a change.
Description, as the server wrote it Open analytics: trending topics, categories, keywords, and sources for any location or period. Part of Mukoko's open data policy.
track_storyFollow the development of a news story over time.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Follow 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.
trigger_enrichmentManually run the AI enrichment agent over existing articles (classification, keywords, entities, quality scoring).No findings
Why it is in this group
- The name "trigger_enrichment" says "trigger": a word for a change.
Description, as the server wrote it Manually 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.
Only reads 10Claude Code: allow
compare_locationsCompare news coverage between 2–4 African countries or regions side by side.No findings
Why it is in this group
- The name "compare_locations" says "compare": a word for reading.
Description, as the server wrote it Compare news coverage between 2–4 African countries or regions side by side.
find_storiesSearch articles by keyword, tag, category, or country.No findings
Why it is in this group
- The name "find_stories" says "find": a word for reading.
Description, as the server wrote it Search 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.
get_articleRead a single article by ID or slug.No findings
Why it is in this group
- The name "get_article" says "get": a word for reading.
Description, as the server wrote it Read 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.
get_briefingAnswer "What's happening in [place/topic]?" — top story, recent articles, and trending topics in one call.No findings
Why it is in this group
- The name "get_briefing" says "get": a word for reading.
Description, as the server wrote it Answer "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.
get_location_newsNews from a specific place in Africa.No findings
Why it is in this group
- The name "get_location_news" says "get": a word for reading.
Description, as the server wrote it News from a specific place in Africa. Accepts country codes, country names, region names, or city names.
get_my_feedPersonalised news feed based on the authenticated user's article likes and saves.No findings
Why it is in this group
- The name "get_my_feed" says "get": a word for reading.
Description, as the server wrote it Personalised news feed based on the authenticated user's article likes and saves. Requires Authorization: Bearer <WorkOS access token>.
get_source_viewSee how a specific news source is covering a topic.No findings
Why it is in this group
- The name "get_source_view" says "get": a word for reading.
Description, as the server wrote it See how a specific news source is covering a topic.
get_statsPlatform statistics: total articles, active sources, and today's output.No findings
Why it is in this group
- The name "get_stats" says "get": a word for reading.
Description, as the server wrote it Platform statistics: total articles, active sources, and today's output.
list_categoriesList all news categories with article counts.No findings
Why it is in this group
- The name "list_categories" says "list": a word for reading.
Description, as the server wrote it List all news categories with article counts.
list_sourcesList active news sources.No findings
Why it is in this group
- The name "list_sources" says "list": a word for reading.
Description, as the server wrote it List active news sources. Optionally filter by country code.
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.2.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http mukoko-news https://news.mukoko.dev/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__mukoko-news__get_briefing",
"mcp__mukoko-news__get_location_news",
"mcp__mukoko-news__compare_locations",
"mcp__mukoko-news__get_source_view",
"mcp__mukoko-news__find_stories",
"mcp__mukoko-news__get_article",
"mcp__mukoko-news__list_categories",
"mcp__mukoko-news__list_sources",
"mcp__mukoko-news__get_stats",
"mcp__mukoko-news__get_my_feed"
],
"ask": [
"mcp__mukoko-news__track_story",
"mcp__mukoko-news__get_trending_analytics",
"mcp__mukoko-news__detect_surge",
"mcp__mukoko-news__get_content_analytics",
"mcp__mukoko-news__trigger_enrichment",
"mcp__mukoko-news__drain_enrichment_backlog"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as mukoko-news. Review it before you use it.
