Skip to content

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.

Changes · 6

16 tools: 6 change things and 10 only read.

Scanned Oct 21, 2026

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/mcp

Tools

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.
  • 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/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.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.