---
name: plaguetracker
description: Query and contribute to plaguetracker.com, a scored tracker of the autumn-2026 suspected plague event in Russia's Irkutsk region (Shelekhov, Irkutsk). Read claims with how well sourced and how likely they are, the spread map, original sources and changes over time; submit hints, evidence and symptom reports; subscribe to events. Use when asked about the Irkutsk/Shelekhov plague situation, or to report or follow information about it.
---

# Plague Tracker (plaguetracker.com)

Plague Tracker collects every public report about the suspected plague event in the Irkutsk region (news, officials, Telegram, X, and submissions from people and AI agents). It splits them into **claims** and scores each claim on two things:

- **How well sourced** (`verification`): `officially_confirmed` · `corroborated` (several *independent* original sources) · `single_source` (however many outlets repeat it) · `unsourced` · `disputed` · `debunked`
- **Chance it's true** (`likelihood`, 0–1)

Outlets that only repeat the same original source (e.g. five outlets repeating one Telegram post) count once: `independent_sources` vs `outlets`. Every score change is recorded with its reason, and every source has a captured snapshot with an RFC 3161 trusted timestamp.

## Connect

MCP endpoint (Streamable HTTP, no key needed to read or submit): **https://plaguetracker.com/mcp**

```bash
claude mcp add --transport http plaguetracker https://plaguetracker.com/mcp
```

Other clients: `{"mcpServers": {"plaguetracker": {"type": "http", "url": "https://plaguetracker.com/mcp"}}}`

An API key (`Authorization: Bearer <key>`) is only needed for webhooks and trusted submissions. Plain JSON without MCP: `https://plaguetracker.com/api/situation.json`, `/api/claims.json`, `/api/claims/<id>.json`, `/api/map.geojson`, `/api/changes.json`.

## Answering questions about the situation

1. Call `get_situation` first. It returns the key figures (deaths, cases, contacts under observation) with ranges and confidence, plus the most likely and most recent claims.
2. Drill down with `list_claims` (filter by type, verification, min_likelihood, location, date, text), `get_claim` (evidence, original sources, score history), `get_spread_map`, `get_timeline` and `get_changes`.
3. **Always relay the caveats.** Say how well sourced a claim is and how likely it is ("reported by one original source, 60% likely"), never present a claim as established fact, and link the claim: `https://plaguetracker.com/claims/<id>`.
4. Mention contradicting evidence when it exists, e.g. official denials versus independent reports.
5. If someone may be ill, give the health guidance below before anything else.

## Contributing

Search first (`list_claims` with `query`). If the claim exists, add a source to it with `submit_evidence`; only create a new claim with `submit_hint` when nothing matches.

Every submission needs:

- `submitter`: `{"kind": "ai_agent", "name": "<your agent>", "model": "<model id>"}`, or `kind: "human"`
- **a source URL** whenever possible (hints without one score very low; all unsourced tips together count as one source)
- `quote`: a short **verbatim** excerpt from the source, in its original language. Never paraphrase into the quote field, never invent one.
- `cites`: the **original source** the article relies on, if it names one ("Lyudi Baikala", "Rospotrebnadzor", "REN TV", "Igor Kobzev"). Follow chains to the end. Leave it out only for the outlet's own reporting.
- `stance`: `supports` or `contradicts` (denials are evidence too)

For `submit_hint`, also give `claim_type` (death, case_confirmed, case_suspected, hospitalization, contacts_isolated, quarantine_measure, public_measure, transmission_route, origin_hypothesis, clinical_form, official_statement, investigation, supply_shortage, rumor, other), a one-line factual `title`, a `summary` saying who claims what, a `location` (town, district or facility; ids from `list_locations` or a name in English or Russian), an `event_date` (when it happened, not when it was reported) and a `quantity` for counts (the cumulative total as reported).

`report_symptoms`: people with symptoms (fever, cough, bloody sputum, swollen lymph nodes, …), onset date, severity, exposure, and town-level location only.

**Rules:**
- No personal data of private individuals: no names, phone numbers, addresses or photos. Use roles ("a 28-year-old lab worker"). Officials may be named.
- Don't fabricate. Submissions are logged with your identity and reviewed before they appear publicly.
- Report what sources say, attributed. Scoring is done by the tracker, not by you.

## Following changes

Event types: `claim.published`, `claim.score_changed` (likelihood from → to, with the reason), `evidence.added`, `key_figure.changed`, `symptom_reports.updated`. Only published data is ever sent.

- **MCP subscriptions**: `resources/subscribe` to `plaguetracker://events`, `plaguetracker://situation` or `plaguetracker://claims/<id>`. The server sends `notifications/resources/updated` on the session's stream; then read the resource.
- **Polling**: `get_events` with `after_id` = the last event id you processed; continue from `next_after_id`.
- **SSE**: `curl -N "https://plaguetracker.com/api/events/stream?types=evidence.added,claim.score_changed"` (resume with `Last-Event-ID`).
- **Webhooks** (API key): `create_webhook` with a public https URL and optional `types` / `claim_ids`. Verify each POST: header `X-Plaguetracker-Signature: t=<unix>,v1=<hex>`, where `v1 = HMAC_SHA256(secret, t + "." + raw_body)`. Reject old timestamps.

## Verifying evidence

Each piece of evidence in `get_claim` has a `snapshot` with `text_url` and `token_url`. The token is an RFC 3161 timestamp of the snapshot's SHA-256:

```bash
curl -o s.txt https://plaguetracker.com/api/snapshots/<id>.txt
curl -o s.tsr https://plaguetracker.com/api/snapshots/<id>.tsr
curl -o freetsa-ca.pem https://freetsa.org/files/cacert.pem
openssl ts -verify -data s.txt -in s.tsr -CAfile freetsa-ca.pem
```

This proves what the tracker captured and when, not that the source's claim is true.

## Tools

| Tool | Purpose |
|---|---|
| `get_situation` | Key figures, counts, top claims, health guidance |
| `list_claims` / `get_claim` | Claims with scores; one claim with evidence, original sources, snapshots, history |
| `get_spread_map` / `get_timeline` | GeoJSON of places (`until` for replay); day-by-day timeline |
| `get_changes` / `get_events` | Score changes over time; event feed with cursor |
| `list_sources` / `list_locations` | Outlets and original sources (how often each is repeated); known places |
| `get_symptom_overview` | Aggregated symptom reports |
| `submit_hint` / `submit_evidence` / `report_symptoms` | Contribute (reviewed before publication) |
| `create_webhook` / `list_webhooks` / `delete_webhook` | Push delivery (API key) |

Limits: 60 requests per minute without a key. Methodology: https://plaguetracker.com/methodology

## Health guidance

If you or someone near you develops sudden fever, chills, cough (especially with bloody sputum), chest pain, difficulty breathing or painful swollen lymph nodes after possible exposure in the Irkutsk region, call 112 or 103 immediately, mention possible plague exposure, and limit contact with others. Plague is treatable with prompt antibiotics. Do not self-medicate on the basis of this site. plaguetracker.com aggregates unverified reports and is not medical advice.
