Mukoko News
Pan-African news & analytics for Zimbabwe and 15 African countries: briefings and trends.
사용해야 할까요
품질 및 안전성
발견 사항 (2)
- LOWget_source_view에서
- LOWget_stats에서
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`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": {}
}커뮤니티
증거