Mukoko News

Pan-African news & analytics for Zimbabwe and 15 African countries: briefings and trends.

我該用這個嗎

品質與安全性

A
說明品質
94%
結構描述完整度
82%
命名品質
95%
汙染風險
100%
權限相符程度
100%
協定合規性
100%

發現項目(2)

  • LOWTool 'get_source_view' description lacks action verb在 get_source_view 中
  • LOWTool 'get_stats' description lacks action verb在 get_stats 中

根據工具定義與協定合規性的自動化分析。

上下文成本

~1,705Token(工具定義)
~665 B典型回應大小
中等的注意力影響(128k 上下文的 1.33%)

這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。

安裝

一鍵安裝

將以下內容加入你的 `claude_desktop_config.json` 檔案:

{
  "mcpServers": {
    "mukoko-news": {
      "command": "npx",
      "args": [
        "@nyuchi/mukoko-news-mcp"
      ]
    }
  }
}

可執行的套件

npm@nyuchi/mukoko-news-mcp1.2.0stdio

遠端端點

https://news.mukoko.com/mcpstreamable-http
https://news.mukoko.dev/mcpstreamable-http

它能做什麼

工具清單

工具(16)

🟢 唯讀🟡 寫入🔴 刪除⚪ 未知
🟢get_briefing(focus, limit)

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.

輸入結構描述

{
  "type": "object",
  "properties": {
    "focus": {
      "type": "string",
      "description": "Country code, region, category, or topic (optional)"
    },
    "limit": {
      "type": "number",
      "description": "Max articles, 1–12 (default 8)"
    }
  }
}
⚪track_story(topic, since, country, limit)

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.

輸入結構描述

{
  "type": "object",
  "properties": {
    "topic": {
      "type": "string",
      "description": "Topic, keyword, event, or person name to track"
    },
    "since": {
      "type": "string",
      "enum": [
        "today",
        "week",
        "month"
      ],
      "description": "Lookback window (default: week)"
    },
    "country": {
      "type": "string",
      "description": "Limit to a country code (optional)"
    },
    "limit": {
      "type": "number",
      "description": "Max articles, 1–20 (default 10)"
    }
  },
  "required": [
    "topic"
  ]
}
🟢get_location_news(location, category, limit)

News from a specific place in Africa. Accepts country codes, country names, region names, or city names.

輸入結構描述

{
  "type": "object",
  "properties": {
    "location": {
      "type": "string",
      "description": "Country code, country name, region, or city"
    },
    "category": {
      "type": "string",
      "description": "Category to filter (optional)"
    },
    "limit": {
      "type": "number",
      "description": "Max articles, 1–20 (default 10)"
    }
  },
  "required": [
    "location"
  ]
}
⚪compare_locations(locations, topic, limit)

Compare news coverage between 2–4 African countries or regions side by side.

輸入結構描述

{
  "type": "object",
  "properties": {
    "locations": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "minItems": 2,
      "maxItems": 4,
      "description": "2–4 country codes, country names, or region names"
    },
    "topic": {
      "type": "string",
      "description": "Narrow comparison to a topic (optional)"
    },
    "limit": {
      "type": "number",
      "description": "Max articles per location, 1–10 (default 5)"
    }
  },
  "required": [
    "locations"
  ]
}
🟢get_source_view(source, topic, limit)

See how a specific news source is covering a topic.

輸入結構描述

{
  "type": "object",
  "properties": {
    "source": {
      "type": "string",
      "description": "Publication name (partial match)"
    },
    "topic": {
      "type": "string",
      "description": "Topic to filter by (optional)"
    },
    "limit": {
      "type": "number",
      "description": "Max articles, 1–20 (default 8)"
    }
  },
  "required": [
    "source"
  ]
}
🟢find_stories(q, tag, category, country, limit)

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.

輸入結構描述

{
  "type": "object",
  "properties": {
    "q": {
      "type": "string",
      "description": "Keyword or phrase (optional)"
    },
    "tag": {
      "type": "string",
      "description": "Tag name (optional)"
    },
    "category": {
      "type": "string",
      "description": "Category slug or name (optional)"
    },
    "country": {
      "type": "string",
      "description": "Country code (optional)"
    },
    "limit": {
      "type": "number",
      "description": "Max results, 1–20 (default 10)"
    }
  }
}
🟢get_article(id)

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.

輸入結構描述

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "Article _id or slug"
    }
  },
  "required": [
    "id"
  ]
}
🟢list_categories

List all news categories with article counts.

輸入結構描述

{
  "type": "object",
  "properties": {}
}
🟢list_sources(country)

List active news sources. Optionally filter by country code.

輸入結構描述

{
  "type": "object",
  "properties": {
    "country": {
      "type": "string",
      "description": "Filter by country code (optional)"
    }
  }
}
🟢get_stats

Platform statistics: total articles, active sources, and today's output.

輸入結構描述

{
  "type": "object",
  "properties": {}
}
🟢get_my_feed(limit)

Personalised news feed based on the authenticated user's article likes and saves. Requires Authorization: Bearer <WorkOS access token>.

輸入結構描述

{
  "type": "object",
  "properties": {
    "limit": {
      "type": "number",
      "description": "Max articles, 1–20 (default 12)"
    }
  }
}
🟢get_trending_analytics(location, period, limit)

Open analytics: trending topics, categories, keywords, and sources for any location or period. Part of Mukoko's open data policy.

輸入結構描述

{
  "type": "object",
  "properties": {
    "location": {
      "type": "string",
      "description": "Country code, region, or city (optional)"
    },
    "period": {
      "type": "string",
      "enum": [
        "today",
        "week",
        "month"
      ],
      "description": "Time window (default: today)"
    },
    "limit": {
      "type": "number",
      "description": "Max results per section, 1–20 (default 10)"
    }
  }
}
⚪detect_surge(location, limit)

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.

輸入結構描述

{
  "type": "object",
  "properties": {
    "location": {
      "type": "string",
      "description": "Country, region, or city (optional — omit for continent-wide)"
    },
    "limit": {
      "type": "number",
      "description": "Max surges to return, 1–20 (default 10)"
    }
  }
}
🟢get_content_analytics(location, period)

Open data breakdown of news coverage by category, country, and keyword for a given period.

輸入結構描述

{
  "type": "object",
  "properties": {
    "location": {
      "type": "string",
      "description": "Country, region, or city (optional)"
    },
    "period": {
      "type": "string",
      "enum": [
        "today",
        "week",
        "month"
      ],
      "description": "Time window (default: week)"
    }
  }
}
⚪trigger_enrichment(limit, article_ids, reset_attempts)

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.

輸入結構描述

{
  "type": "object",
  "properties": {
    "limit": {
      "type": "number",
      "description": "How many un-enriched articles to enqueue, 1–50 (default 25). Ignored when article_ids is given."
    },
    "article_ids": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Specific article IDs to (re)enrich (optional). Capped at 50."
    },
    "reset_attempts": {
      "type": "boolean",
      "description": "Re-enrich even articles that already hit the failure cap (default false). Use sparingly — it re-bills AI."
    }
  }
}
⚪drain_enrichment_backlog

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.

輸入結構描述

{
  "type": "object",
  "properties": {}
}

社群

為此伺服器評分

證據

近期觀測

已驗證未記錄版本16 個工具
觀測失敗未記錄版本—
觀測失敗未記錄版本—
已驗證未記錄版本16 個工具