What This Page Is For
This generated page is the office workflow hand-off for local LLMs such as Copilot or Claude. It is not an official MP website or an endorsement. The page explains the available sources, and the data links split votes, spoken contributions, written questions, EDMs, constituency mentions, geography terms, and current office reference data into smaller JSON files.
The intended use is: read llm.md, fetch data.json, then open only the source index and month file relevant to the user request.
Coverage Summary
Own MP activity covers 4 Jul 2024 to 2 Jul 2026 where available. Constituency mention evidence covers 4 Jul 2024 to 2 Jul 2026.
Coverage Scope
post-2024-election office-data history. Own MP activity counts use the available post-2024 election office-data history for this MP. They can be read as since-election counts for the stated coverage dates.
Constituency mention evidence uses the separate full post-2024-election local-evidence window (4 Jul 2024 to 2 Jul 2026), so its counts should not be compared directly with shorter own-MP activity counts.
The static own-activity counts already cover the post-2024 election range; use official source links for full source text.
Current Office Reference Data
Open current-snapshot/index.json for the underlying awaiting-answer written questions, registered interests summary, committee records, and bill records.
Broader Tracker Workflows
Review date-filtered activity
Open Mr Angus MacDonald in the broader tracker for profile panels, date filters, and tracker-backed older-history tools where available.
Build source-backed briefing
Use the tracker briefing builder for draft blocks from tracker-held speeches, written questions, votes, and EDMs. Constituency-mention JSON on this page is separate; open it from the LLM Data Map when local evidence is needed.
Votes differing from Liberal Democrat majority
12 recorded votes where Mr Angus MacDonald's vote differed from the Liberal Democrat majority in the tracker voting-pattern dataset. This does not mean zero votes; total votes in this page's own-activity scope: 332. This is descriptive context, not a score.
LLM Data Map
| Open this | Use it for | Records |
|---|---|---|
| Search manifest | Fast topic, status, source, and official-URL triage before opening source shards. | 2,253 records |
| Topic bundles | Deterministic cross-source evidence bundles with official-source deepening guidance. | 10 topics |
| Places index | Place-first routing for Constituency Mentions with ambiguity and confidence signals. | 476 displayed places |
| Open follow-ups | Canonical awaiting-answer written-question queue reconciled from current office data and generated own-activity records.Scope: current office snapshot reconciled against generated own-activity records. Coverage dates: 2024-07-04 to 2026-07-02.Canonical public follow-up queue for written questions still awaiting answer; open the official question URL for live status and answer text. | 1 record |
| Written questions | Written questions tabled by the MP in this page's own-activity coverage.Scope: post-2024-election office-data history. Coverage dates: 2024-07-04 to 2026-07-02.Compact records include question text, status, department, answer date/member where available, and official URL; full written answers are not embedded. | 688 records |
| Spoken contributions | Hansard spoken contributions by the MP in this page's own-activity coverage.Scope: post-2024-election office-data history. Coverage dates: 2024-07-04 to 2026-07-02.Compact records include a short summary and Hansard URL; do not treat the summary as the full contribution text. | 143 records |
| Votes | Commons divisions recorded for the MP in this page's own-activity coverage.Scope: post-2024-election office-data history. Coverage dates: 2024-07-04 to 2026-07-02.Compact division records show this MP's recorded vote and official division URL; open the official source for full division context. | 332 records |
| Early Day Motions | Early Day Motions signed by the MP in this page's own-activity coverage.Scope: post-2024-election office-data history. Coverage dates: 2024-07-04 to 2026-07-02.Compact EDM records include title, date, signature context where available, and official URL; open the official source for motion text. | 1,086 records |
| Constituency mention evidence | Hansard contributions matched to local/geographic terms, plus separately labelled parliamentary member-reference phrases.Scope: post-2024-election constituency mention extract. Coverage dates: 2024-07-04 to 2026-07-02.Evidence-ranked Hansard matches include mention category, match basis, confidence, signals, matched terms, and official URL; member-reference phrases are not ordinary local/geographic mentions. | 66 records (7 local/geographic, 59 member-reference) |
| Geography terms | Constituency name and source-derived place terms used for Constituency Mentions.Constituency name and public source-derived place terms used to find Constituency Mentions; no boundary geometry is embedded. | 492 terms |
| Current office reference data | Awaiting written-question answers, registered interests, committee records, and bill records from the current office snapshot.Scope: current office snapshot. Coverage dates: 2024-07-04 to 2026-07-02.Current office reference data from the office snapshot. The count is the sum of component records: awaiting written-question answers, registered interests, committee records, and bill records. | 10 records across components |
Constituency Mentions
Constituency mention evidence separates local/geographic matches from parliamentary member-reference phrases such as references to the MP for Inverness, Skye and West Ross-shire. The generator keeps match evidence such as matched terms, mention category, confidence, and Hansard links so the office can check context before reuse.
Mapped place terms used for matching (491)
These constituency place terms are searched alongside the constituency name. Open geography/index.json for the machine-readable list with source metadata. Check matched mentions against the linked Hansard context before reuse.
City
- Invernesscity
Hamlet
- A' Chillhamlet
- Aberchalderhamlet
- Achinteehamlet
- Achluachrachhamlet
- Achnacarryhamlet
- Achnandarachhamlet
- Achnashellachhamlet
- Aird-dhubhhamlet
- Aisighamlet
- Allt a' Chruinnhamlet
- Allt nan Sùghhamlet
- Alltsighhamlet
- An Dùnanhamlet
- An Gearraidh Mòrhamlet
- An Sruthanhamlet
- An t-Ollachhamlet
- An t-Òrdhamlet
- An Àird Dhorchahamlet
- Annathamlet
- Annishaderhamlet
- Ardaneaskanhamlet
- Ardarrochhamlet
- Ardheslaighamlet
- Arinacrinachdhamlet
- Arnisdalehamlet
- Attadalehamlet
- Auchnahillinhamlet
- Auchtertyrehamlet
- Ault-na-goirehamlet
- Back of Keppochhamlet
- Badicaulhamlet
- Balbeghamlet
- Balchragganhamlet
- Balgownhamlet
- Balmorehamlet
- Balnacrahamlet
- Bhatairsteinnhamlet
- Blackwoodhamlet
- Blarmachfoldachhamlet
- Borreraighamlet
- Bracadalehamlet
- Bracarahamlet
- Bridgendhamlet
- Bun na Caimhamlet
- Bundallochhamlet
- Buntaithamlet
- Calligarryhamlet
- Cam Dhàilhamlet
- Camas Tianabhaighamlet
- Camas-luiniehamlet
- Camuslongarthamlet
- Camusterrachhamlet
- Carn-gormhamlet
- Carnduhamlet
- Caroyhamlet
- Cille Bhrìgndehamlet
- Clachamishhamlet
- Cluneshamlet
- Coille Mhorgilhamlet
- Coillorehamlet
- Corranhamlet
- Corrimonyhamlet
- Craighamlet - 2 source places
- Croachyhamlet
- Cuidrachhamlet
- Cul nan Cnochamlet
- Culduiehamlet
- Culnameanhamlet
- Dalchreicharthamlet
- Dhuhallowhamlet
- Drinanhamlet
- Drumbuiehamlet
- Drumuiehamlet
- Duisdeil Beaghamlet
- Dunanshamlet
- Dunlichityhamlet
- Duntulmhamlet
- Ealaiseadarhamlet
- Easter Mandallyhamlet
- Easter Miltonhamlet
- Eilanreachhamlet
- Erbusaighamlet
- Errogiehamlet
- Eubosthamlet
- Eyrehamlet
- Faichemhamlet
- Fearnmorehamlet
- Feorlaighamlet
- Fersaidhamlet
- Flaiseaderhamlet
- Galltairhamlet
- Galtraigeallhamlet
- Gead an t-Sailleirhamlet
- Gearyhamlet
- Gillenhamlet
- Glen Cononhamlet
- Glenbernisdalehamlet
- Glenbrittlehamlet
- Glengrascohamlet
- Glenmorehamlet
- Grealinhamlet
- Halistrahamlet
- Hallinhamlet
- Heatherfieldhamlet
- Heribosthamlet
- Highbridgehamlet
- Hungladderhamlet
- Incherilhamlet
- Inchlagganhamlet
- Inchmorehamlet
- Inverfarigaighamlet
- Invershielhamlet
- Keistlehamlet
- Kenmorehamlet
- Kerrowhamlet
- Kilbeghamlet
- Kilbridehamlet
- Killiananhamlet
- Kilmonivaighamlet
- Kilmorehamlet
- Kingsburghhamlet
- Kinlochhamlet
- Kinloch Hournhamlet
- Kishornhamlet
- Knockbreckhamlet
- Knotthamlet
- Leacanashiehamlet
- Leachachanhamlet
- Leacnasaidehamlet
- Leanachhamlet
- Letterfinlayhamlet
- Lionacrohamlet
- Lochendhamlet
- Lochgarthsidehamlet
- Lonbainhamlet
- Luibhamlet
- Malagarhamlet
- Marishaderhamlet
- Melvaighamlet
- Merkadalehamlet
- Miltownhamlet
- Morvichhamlet
- Muirshearlichhamlet
- Na Faingeanhamlet
- Naasthamlet
- Newtownhamlet
- North Fearnshamlet
- Nostiehamlet
- Orabosthamlet
- Oshamlet
- Oskaighamlet
- Park Bernisdalehamlet
- Peighinn a' Chorrainhamlet
- Peinahahamlet
- Peinmorehamlet - 2 source places
- Penifilerhamlet
- Port Mòrhamlet
- Portneorahamlet
- Raigbeghamlet
- Raonapollhamlet
- Redpointhamlet
- Rhenetrahamlet
- Roaghamlet
- Roskhillhamlet
- Rychragganhamlet
- Scaniporthamlet
- Sgalamushamlet
- Sgeitheabosthamlet
- Sheaderhamlet
- Shenvalhamlet
- Shiel Bridgehamlet
- Sròndubhhamlet
- Steinhamlet
- Strome Ferryhamlet
- Stromemorehamlet
- Stronabahamlet
- Stronehamlet
- Stròlamashamlet
- Suledalehamlet
- Sàsaighamlet
- Taliskerhamlet
- Tarbethamlet
- Toravaighamlet
- Torcastlehamlet
- Tornesshamlet
- Toscaighamlet
- Totaighamlet
- Totehamlet
- Totscorehamlet
- Tournaighamlet
- Trumpanhamlet
- Uigshaderhamlet
- Upper Feorlighamlet
- Valtoshamlet
- Vattenhamlet
- Viewhillhamlet
- Waterloohamlet
- Wester Alliginhamlet
- Wester Mandallyhamlet
Multiple
- Aird (Highland; 2 source types)multiple - 2 source places
- Balmeanach (Highland; 2 source types)multiple - 4 source places
- Blackpark (Highland; 2 source types)multiple - 2 source places
- Carbost (Highland; 2 source types)multiple - 2 source places
- Clachan (Highland; 2 source types)multiple - 2 source places
- Glebe (Highland; 2 source types)multiple - 2 source places
- Kirkton (Highland; 2 source types)multiple - 3 source places
- Milton (Highland; 2 source types)multiple - 2 source places
- Shieldaig (Highland; 2 source types)multiple - 2 source places
- Uig (Highland; 2 source types)multiple - 2 source places
Other Settlement
- Abriachanother settlement
- Achnacloichother settlement
- Achnaconeranother settlement
- Airorother settlement
- An Fasadh Feàrnaother settlement
- An Lethalltother settlement
- An t-Aodann Banother settlement
- Aonachanother settlement
- Ardnarffother settlement
- Armadaleother settlement
- Arnishother settlement
- Auchterawother settlement
- Aultgrishanother settlement
- Aultvoulinother settlement
- Avernishother settlement
- Baile nan cnocother settlement
- Balachuirnother settlement
- Big Sandother settlement
- Bohuntineother settlement
- Boorother settlement
- Bornesketaigother settlement
- Braeintraother settlement
- Breabostother settlement
- Breckreyother settlement
- Bualinturother settlement
- Cleadaleother settlement
- Coille Ghillidhother settlement
- Coulagsother settlement
- Coveother settlement
- Cradlehallother settlement
- Cuaigother settlement
- Cul na Creaganother settlement
- Cullochy Lockother settlement
- Daviotother settlement
- Diggother settlement
- Dochgarrochother settlement
- Druim an Teampuillother settlement
- Druim Fhearnaother settlement
- Druimindarrochother settlement
- Drynochother settlement
- Duirinishother settlement
- Dundregganother settlement
- Easter Portclairother settlement
- Eynortother settlement
- Feabuieother settlement
- Fernileaother settlement
- Fhaighear Mhòirother settlement
- Findhornbridgeother settlement
- Flodigarryother settlement
- Galmisdaleother settlement
- Gearr Lochaidhother settlement
- Gearrosother settlement
- Glasnakilleother settlement
- Glen Moreother settlement
- Glen Moristonother settlement
- Glenancrossother settlement
- Glenuachdarachother settlement
- Greepother settlement
- Griseornaisother settlement
- Grotaigother settlement
- Heasteother settlement
- Husabostother settlement
- Inverasdaleother settlement
- Kalnakillother settlement
- Keppochother settlement
- Kildonanother settlement
- Kilfinnanother settlement
- Killilanother settlement
- Kinlocheilother settlement
- Kinloidother settlement
- Kirkibostother settlement
- Kylerheaother settlement
- Leachkinother settlement
- Lettereweother settlement
- Letterfearnother settlement
- Levishieother settlement
- Lower Toteother settlement
- Lòndubhother settlement
- Mol-chlachother settlement
- Mugearyother settlement
- Ness-sideother settlement
- North Erradaleother settlement
- Opinanother settlement
- Peterburnother settlement
- Point of Sleatother settlement
- Port Hendersonother settlement
- Portclairother settlement
- Ramasaigother settlement
- Sallachyother settlement
- Sandaigother settlement
- Satranother settlement
- Skinidinother settlement
- South Erradaleother settlement
- Srath Carranother settlement
- Stratherrickother settlement
- Struyother settlement
- Suisnishother settlement
- Swordlandother settlement
- Talladaleother settlement
- Tarscabhaigother settlement
- Tokavaigother settlement
- Tomacharichother settlement
- Tomdounother settlement
- Tomonieother settlement
- Totardorother settlement
- Treaslaneother settlement
- Tullochother settlement
- Uiginisother settlement
- Ullinishother settlement
- Upper Toteother settlement
- Wester Portclairother settlement
Suburban Area
- An Garadh Fadasuburban area
- An Leth-Pheighinnsuburban area
- An Àrdsuburban area
- Auchtercairnsuburban area
- Ballifearysuburban area
- Ballochsuburban area
- Balmacqueensuburban area
- Blairsuburban area
- Braesuburban area
- Braigh an Aodainn Bhainsuburban area
- Brogaigsuburban area
- Carbostbegsuburban area
- Carbostmoresuburban area
- Charlestownsuburban area
- Citadelsuburban area
- Clachnaharrysuburban area
- Claggansuburban area
- Cnoc Dubhsuburban area
- Coastsuburban area
- Coishlettersuburban area
- Corrysuburban area
- Crownsuburban area
- Culcabocksuburban area
- Cullodensuburban area
- Dalneighsuburban area
- Druimarbinsuburban area
- Easter Muckoviesuburban area
- Fasachsuburban area
- Feriniquarriesuburban area
- Glaspheinsuburban area - 2 source places
- Hamaramoresuburban area
- Hamaraverinsuburban area
- Haughsuburban area
- Hiltonsuburban area
- Holmisdalesuburban area
- Idrigillsuburban area
- Inshessuburban area
- Inverlochysuburban area
- Kendramsuburban area
- Kilmichaelsuburban area
- Kinmyliessuburban area
- Lochardilsuburban area
- Lonemoresuburban area
- Lower Ardelvesuburban area
- Lower Drummondsuburban area
- Malaig Bheagsuburban area
- Merkinchsuburban area
- Mialsuburban area
- Millburnsuburban area
- North Cuilsuburban area
- Pairc an Aoilsuburban area
- Raigmoresuburban area
- Resauriesuburban area
- Rhasuburban area
- Sartailsuburban area
- Scorguiesuburban area
- Smithstownsuburban area
- Smithtonsuburban area
- Solitotesuburban area
- South Cuilsuburban area
- South Kessocksuburban area
- Steinnseallsuburban area
- Strathsuburban area
- Upper Ardelvesuburban area
- Upper Auchintoresuburban area
- Upper Drummondsuburban area
- Westhillsuburban area
- Woodside of Cullodensuburban area
Town
- An Gearasdantown
Village
- Achachorkvillage
- Achantraidvillage
- Achmorevillage
- Am Plocvillage
- An t-Àth Leathannvillage
- An Teangavillage
- Applecrossvillage
- Ardelvevillage
- Ardvasarvillage
- Arisaigvillage
- Badachrovillage
- Balmacaravillage
- Balnainvillage
- Banbhaidhvillage
- Bernisdalevillage
- Borvevillage
- Braefieldvillage
- Breacaisvillage
- Camascrossvillage
- Camustielvillage
- Cannichvillage
- Caolvillage
- Ceann Sail Eighrevillage
- Colbostvillage
- Corpachvillage
- Doresvillage
- Dornievillage
- Drumnadrochitvillage
- DuisdeiI Mòrvillage
- Dunveganvillage
- Ealagholvillage
- Earlaisvillage
- Eilean Iarmainvillage
- Farrvillage
- Ferindonaldvillage
- Fioscabhaigvillage
- Fort Augustusvillage
- Foyersvillage
- Gairlochvillage
- Gleann Fhionnainnvillage
- Glen Dalevillage
- Glenelgvillage
- Gorthleckvillage
- Harloshvillage
- Harrapulvillage
- Inveralliginvillage
- Inverarishvillage
- Invergarryvillage
- Inverievillage
- Inverinatevillage
- Invermoristonvillage
- Inverroyvillage
- Kilmaluagvillage
- Kilvaxtervillage
- Kinlochewevillage
- Kyle of Lochalshvillage
- Kyleakinvillage
- Lagganvillage
- Lewistonvillage
- Lochcarronvillage
- Lonmorevillage
- Lower Breakishvillage
- Lower Diabaigvillage
- Lustavillage
- Mallaigvillage
- Milovaigvillage
- Morarvillage
- Moyvillage
- Na Torrinvillage
- Newlands of Cullodenvillage
- Poolewevillage
- Portnalongvillage
- Portreevillage
- Rataganvillage
- Reraigvillage
- Roybridgevillage
- Sgonnsairvillage
- Spean Bridgevillage
- Staffinvillage
- Taobh Lochaidhvillage
- Tomatinvillage
- Tomichvillage
- Torlundyvillage
- Torridonvillage
- Whitebridgevillage
Facet counts use the Constituency Mention evidence window. Scope: post-2024-election constituency mention extract. Coverage dates: 2024-07-04 to 2026-07-02. Facet counts overlap: one contribution can be counted in more than one match category. Member-reference phrases identify references to the MP for this seat and are not ordinary local/geographic mentions.
Recent Examples
These are not a separate date-range sample. Each panel shows up to four most recent records from that source index. Open the relevant source index for the full coverage dates and month files.
Written Questions
- Visas: Scots Gaelic Language15 Jun 2026 | Answered | Home Office
- Visas: Scots Gaelic Language15 Jun 2026 | Answered | Home Office
- Russia: Supply Chains8 Jun 2026 | Answered | Foreign, Commonwealth and Development Office
- Business8 Jun 2026 | Answered | Department for Business and Trade
Spoken Contributions
Constituency Mention Evidence
- Draft Warm Home Discount (Scotland) Regulations 202627 Apr 2026
- Small Charity Sector3 Mar 2026
- Small Charity Sector3 Mar 2026
- Road Safety5 Feb 2026
Important Limits
This is descriptive public-data infrastructure for an office workflow. It is not a score, a ranking, or a judgement of parliamentary performance. Constituency mention evidence should be checked against the linked source before being used in casework, newsletters, or public copy.
Compact JSON records are retrieval pointers, not complete source transcripts. Open the official URLs before quoting written answers, Hansard wording, EDM motion text, or register details.