Mukoko News

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

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
94%
Integridad del esquema
82%
Calidad de los nombres
95%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Hallazgos (2)

  • LOWTool 'get_source_view' description lacks action verben get_source_view
  • LOWTool 'get_stats' description lacks action verben get_stats

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~1,705Tokens (definiciones de herramientas)
~665 BTamaño de respuesta típico
Impacto moderado en la atención (1.33% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

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

Paquetes ejecutables

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

Puntos de conexión remotos

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

Qué puede hacer

Inventario de herramientas

Herramientas (16)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢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.

Esquema de entrada

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

Esquema de entrada

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

Esquema de entrada

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

Esquema de entrada

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

Esquema de entrada

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

Esquema de entrada

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

Esquema de entrada

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

List all news categories with article counts.

Esquema de entrada

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

List active news sources. Optionally filter by country code.

Esquema de entrada

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

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

Esquema de entrada

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

Esquema de entrada

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

Esquema de entrada

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

Esquema de entrada

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

Esquema de entrada

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

Esquema de entrada

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

Esquema de entrada

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

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada16 herramientas
observación fallidaversión no registrada—
observación fallidaversión no registrada—
verificadoversión no registrada16 herramientas