ACLED MCP — Armed Conflict Location & Event Data Project. Tracks political violence, demonstrations, and strategic developments globally with date, lat/lon, actors, and fatalities.
Two tools with complete input schemas and reasonable descriptions. Naming follows verb_noun convention (search_events, event_counts_by_country). Descriptions are 150 - 180 chars, within the 10 - 1024 baseline. However, output schemas are entirely undocumented, LLMs cannot plan downstream calls or extract fields. Parameters lack enums for constrained values (event_type, region). No error handling guidance. No pagination documented despite ACLED API supporting limits up to 5000. Credentials handled via _email/_password injection (good), but no mention of permission scopes or audit trails.
Aggregate event and fatality counts by country over a date range. Useful for cross-country comparison and time-bounded risk snapshots.
Search ACLED political-violence and protest events. Filter by country (use "|" to OR, e.g., "Ukraine|Russia"), region, event_type, actor, ISO country code, or date range. Returns date, lat/lon, actors, event type, fatalities, and source notes.
Output schemas completely undocumented. LLMs cannot infer what fields search_events or event_counts_by_country return, preventing downstream tool chaining and field extraction.
event_type and region parameters accept free-form strings instead of enums. ACLED API defines fixed event types (Battles, Protests, Riots, etc.) and regions, these should be enums to prevent hallucinated values.
No error handling guidance. If credentials are invalid, ACLED API returns 401, but the tool does not document recovery steps (e.g., 'Register at acleddata.com'). Error messages in code are good, but not exposed in tool description.
Pagination not documented. search_events accepts limit (1 - 5000) but no offset/cursor or total_count return field is mentioned. Large result sets risk context window exhaustion.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 57 | 2026-07-28+ | v2 |
No permission scopes declared. Tools do not state what ACLED API permissions they require (read:events, read:aggregates, etc.), preventing least-privilege agent configuration.