{
  "endpoint": "https://thewaronnews.com/mcp",
  "transport": "streamable-http",
  "protocol_versions": [
    "2025-06-18",
    "2025-03-26",
    "2024-11-05"
  ],
  "tools": [
    {
      "name": "search_incidents",
      "title": "Search incidents",
      "annotations": {
        "readOnlyHint": true,
        "openWorldHint": false
      },
      "description": "Search recorded incidents where governments or officials limited journalists' ability to report, with the same facets as /incidents. Returns date, country, tactic, head of government, outcome, summary and URL, newest first (best match first with a query).",
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "description": "Free-text terms (full-text search over titles and text)."
          },
          "country": {
            "type": "string",
            "description": "ISO 3166-1 alpha-2 code, or several separated by commas (e.g. US or US,HU)."
          },
          "continent": {
            "type": "string",
            "enum": [
              "africa",
              "antarctica",
              "asia",
              "europe",
              "north-america",
              "oceania",
              "south-america"
            ]
          },
          "tactic": {
            "type": "string",
            "enum": [
              "access_ban",
              "credential_control",
              "outlet_licensing",
              "prior_restraint",
              "secrets_and_espionage_laws",
              "insult_and_defamation_laws",
              "surveillance_and_subpoenas",
              "funding_and_ownership_pressure",
              "expulsion_and_visa_denial",
              "shutdowns_and_blocking",
              "detention_and_violence",
              "lawsuits_against_press",
              "disinformation_labeling"
            ]
          },
          "leader": {
            "type": "string",
            "description": "Actor slug of the head of government at the time (e.g. donald-trump)."
          },
          "actor": {
            "type": "string",
            "description": "Actor slug of any official or body named in the incident."
          },
          "outcome": {
            "type": "string",
            "enum": [
              "reversed",
              "upheld",
              "sustained",
              "ongoing",
              "unknown"
            ]
          },
          "level": {
            "type": "string",
            "enum": [
              "national",
              "state_or_province",
              "municipal",
              "supranational"
            ]
          },
          "from": {
            "type": "string",
            "description": "Year or date (YYYY, YYYY-MM or YYYY-MM-DD)."
          },
          "to": {
            "type": "string",
            "description": "Year or date (YYYY, YYYY-MM or YYYY-MM-DD)."
          },
          "has_case": {
            "type": "boolean"
          },
          "sort": {
            "type": "string",
            "enum": [
              "date",
              "date_asc",
              "country",
              "tactic",
              "relevance"
            ]
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 10
          }
        }
      }
    },
    {
      "name": "get_incident",
      "title": "Get an incident",
      "annotations": {
        "readOnlyHint": true,
        "openWorldHint": false
      },
      "description": "One incident: what happened, quoted justification, effect on reporting, status, timeline, actors, outlets, cases, claims and archived sources.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string"
          }
        },
        "required": [
          "slug"
        ]
      }
    },
    {
      "name": "get_timeline",
      "title": "Get the timeline",
      "annotations": {
        "readOnlyHint": true,
        "openWorldHint": false
      },
      "description": "Dated timeline entries, oldest first.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "from": {
            "type": "string",
            "format": "date"
          },
          "to": {
            "type": "string",
            "format": "date"
          },
          "actor": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 200,
            "default": 100
          }
        }
      }
    },
    {
      "name": "get_actor",
      "title": "Get an actor",
      "annotations": {
        "readOnlyHint": true,
        "openWorldHint": false
      },
      "description": "An official or body: role, office, jurisdiction, and every incident with the actor's role.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string"
          }
        },
        "required": [
          "slug"
        ]
      }
    },
    {
      "name": "get_case",
      "title": "Get a court case",
      "annotations": {
        "readOnlyHint": true,
        "openWorldHint": false
      },
      "description": "A court case: caption, court, docket, dates, quoted holding, status, parties, documents, incidents.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string"
          }
        },
        "required": [
          "slug"
        ]
      }
    },
    {
      "name": "get_country",
      "title": "Get a country",
      "annotations": {
        "readOnlyHint": true,
        "openWorldHint": false
      },
      "description": "One country's record: incidents by year, tactics used, heads of government at the time, and the latest RSF World Press Freedom Index rank where recorded.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "iso2": {
            "type": "string",
            "description": "ISO 3166-1 alpha-2 code, e.g. US, HU, IN."
          }
        },
        "required": [
          "iso2"
        ]
      }
    },
    {
      "name": "get_tactic",
      "title": "Get a tactic",
      "annotations": {
        "readOnlyHint": true,
        "openWorldHint": false
      },
      "description": "One tactic: plain definition and every recorded incident using it, by country and year.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string",
            "enum": [
              "access_ban",
              "credential_control",
              "outlet_licensing",
              "prior_restraint",
              "secrets_and_espionage_laws",
              "insult_and_defamation_laws",
              "surveillance_and_subpoenas",
              "funding_and_ownership_pressure",
              "expulsion_and_visa_denial",
              "shutdowns_and_blocking",
              "detention_and_violence",
              "lawsuits_against_press",
              "disinformation_labeling"
            ]
          }
        },
        "required": [
          "slug"
        ]
      }
    },
    {
      "name": "compare",
      "title": "Compare tactics across countries",
      "annotations": {
        "readOnlyHint": true,
        "openWorldHint": false
      },
      "description": "Who did what, when: a tactic by country matrix whose cells list dated incidents with the head of government and the outcome. Narrow by tactic, country (comma-separated ISO codes), continent and date range.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "tactic": {
            "type": "string",
            "enum": [
              "access_ban",
              "credential_control",
              "outlet_licensing",
              "prior_restraint",
              "secrets_and_espionage_laws",
              "insult_and_defamation_laws",
              "surveillance_and_subpoenas",
              "funding_and_ownership_pressure",
              "expulsion_and_visa_denial",
              "shutdowns_and_blocking",
              "detention_and_violence",
              "lawsuits_against_press",
              "disinformation_labeling"
            ]
          },
          "country": {
            "type": "string"
          },
          "continent": {
            "type": "string",
            "enum": [
              "africa",
              "antarctica",
              "asia",
              "europe",
              "north-america",
              "oceania",
              "south-america"
            ]
          },
          "from": {
            "type": "string",
            "description": "Year or date"
          },
          "to": {
            "type": "string",
            "description": "Year or date"
          }
        }
      }
    },
    {
      "name": "recent_coverage",
      "title": "Recent coverage",
      "annotations": {
        "readOnlyHint": true,
        "openWorldHint": false
      },
      "description": "Links to recent reporting (last 60 days) on government actions against journalists worldwide, newest first, with publisher and date. Headlines belong to their publishers.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 20
          }
        }
      }
    },
    {
      "name": "get_sources_for",
      "title": "Get sources for an incident",
      "annotations": {
        "readOnlyHint": true,
        "openWorldHint": false
      },
      "description": "Every source an incident cites, with link state and Wayback snapshot URL.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "incident_slug": {
            "type": "string"
          }
        },
        "required": [
          "incident_slug"
        ]
      }
    },
    {
      "name": "suggest_correction",
      "title": "Suggest a correction",
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": false,
        "openWorldHint": false
      },
      "description": "Suggest a correction. Requires a client token from the publisher. Stored as pending; an editor reviews every suggestion.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "target_type": {
            "type": "string",
            "enum": [
              "incident",
              "actor",
              "outlet",
              "journalist",
              "case",
              "claim",
              "source",
              "explainer",
              "glossary_term"
            ]
          },
          "target_id": {
            "type": "string",
            "description": "Slug, or numeric id for claims, sources, notes"
          },
          "body": {
            "type": "string",
            "maxLength": 2000
          },
          "source_url": {
            "type": "string",
            "format": "uri"
          },
          "author_claim": {
            "type": "string",
            "maxLength": 200
          },
          "token": {
            "type": "string"
          }
        },
        "required": [
          "target_type",
          "target_id",
          "body",
          "token"
        ]
      }
    }
  ]
}