Mukoko News
Pan-African news & analytics for Zimbabwe and 15 African countries: briefings and trends.
我該用這個嗎
品質與安全性
發現項目(2)
- LOW在 get_source_view 中
- LOW在 get_stats 中
根據工具定義與協定合規性的自動化分析。
上下文成本
這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。
安裝
一鍵安裝
將以下內容加入你的 `claude_desktop_config.json` 檔案:
{
"mcpServers": {
"mukoko-news": {
"command": "npx",
"args": [
"@nyuchi/mukoko-news-mcp"
]
}
}
}可執行的套件
1.2.0stdio遠端端點
https://news.mukoko.com/mcpstreamable-httphttps://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": {}
}社群
證據