{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_zubry98938kt","handle":"islam-west-africa-collection-iwac","url":"https://wellknown.network/agents/islam-west-africa-collection-iwac","links":{"self":"https://wellknown.network/agents/islam-west-africa-collection-iwac/record.json","html":"https://wellknown.network/agents/islam-west-africa-collection-iwac","markdown":"https://wellknown.network/agents/islam-west-africa-collection-iwac/record.md","api":"https://wellknown.network/api/v1/agents/islam-west-africa-collection-iwac","status":"https://wellknown.network/api/v1/agents/islam-west-africa-collection-iwac/status","claim":"https://wellknown.network/agents/islam-west-africa-collection-iwac/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/islam-west-africa-collection-iwac/claim.json","badge":"https://wellknown.network/agents/islam-west-africa-collection-iwac/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/islam-west-africa-collection-iwac/history","tools":"https://wellknown.network/api/v1/agents/islam-west-africa-collection-iwac/tools"},"ard":{"identifier":"urn:air:islam.zmo.de:server:islam-west-africa-collection-iwac","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"Islam West Africa Collection (IWAC)","summary":"Read-only access to the Islam West Africa Collection via Hugging Face datasets.","description":"Read-only access to the Islam West Africa Collection via Hugging Face datasets.","publisher":{"name":"fmadore","url":null},"homepage":"https://islam.zmo.de/s/westafrica/","repository":"https://github.com/fmadore/iwac-mcp-server","version":"3.9.0","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://islam.zmo.de/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-10-06T05:48:17.678221Z","publishedAt":"2026-10-06T05:48:17.678221Z","registryName":"io.github.fmadore/iwac-mcp-server"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","repoUrl":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"media.speech-recognition","name":"Speech Recognition","confidence":0.583,"provenance":"derived"},{"slug":"data.vector-search","name":"Vector Search","confidence":0.554,"provenance":"derived"},{"slug":"productivity.hr","name":"HR & Recruiting","confidence":0.554,"provenance":"derived"},{"slug":"dev.docs-lookup","name":"Documentation Lookup","confidence":0.54,"provenance":"derived"},{"slug":"research.academic","name":"Academic Research","confidence":0.525,"provenance":"derived"},{"slug":"communication.chat","name":"Team Chat","confidence":0.51,"provenance":"derived"}],"categories":["communication","data","dev","media","productivity","research"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 1h ago.","lastOkAt":"2026-10-10T17:27:57.394Z","lastProbedAt":"2026-10-10T17:27:57.394Z","statusComputedAt":"2026-10-10T17:30:28.028Z","reliability30d":{"probes":112,"successRate":1,"p50Ms":47,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":109,"ok":109,"authBoundaryOk":0,"serviceOk":109,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-10T17:27:57.394Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":28,"error":null,"detail":{"tools":[{"name":"search","description":"Search the Islam West Africa Collection across newspaper articles, Islamic publications, archival documents, academic references, audiovisual recordings, photog"},{"name":"fetch","description":"Retrieve the full text and metadata of one IWAC item by an id returned from `search` (format '<category>:<number>', e.g. 'articles:28576'). Returns {id, title, "},{"name":"explore_corpus","description":"Selection workbench: items, concordance, coverage, compare (requires comparison), attention, aliases, or paginated manifest/CSL-JSON/BibTeX exports. Exact filte"},{"name":"search_articles","description":"Search IWAC newspaper articles by keyword (title + OCR + AI abstracts, French and English), country, newspaper, subject, and date range. Use French concept keyw"},{"name":"get_article","description":"Get one article (by id): full metadata, the AI abstract (description_ai), AI sentiment, and OCR text, in 25k-char parts (follow `next_offset`). Pass a `keyword`"},{"name":"search_by_sentiment","description":"Filter articles by gpt-5-6-luna sentiment labels (accent/case-insensitive exact match). One model's reading, not a consensus — 4 other models scored the same ar"},{"name":"get_sentiment_distribution","description":"Aggregate AI labels over a shared selection. model:\"all\" compares independent annotators and their coverage; model:\"consensus\" reads the stored panel majority. "},{"name":"search_index","description":"Search the IWAC authority index (persons, places, organisations, events, subjects) by name. Accent/case-insensitive."},{"name":"get_index_entry","description":"Get full details of an index entry by id (raw dataset columns, French names — Titre, Prénom, Coordonnées…)."},{"name":"list_subjects","description":"List sujets from the IWAC index, sorted by frequency (most-referenced first)."},{"name":"list_locations","description":"List lieux from the IWAC index, sorted by frequency (most-referenced first). The optional 'country' filter selects entries that APPEAR IN records from that coun"},{"name":"list_persons","description":"List personnes from the IWAC index, sorted by frequency (most-referenced first). The optional 'country' filter selects entries that APPEAR IN records from that "},{"name":"get_collection_stats","description":"Overall statistics for every IWAC subset, including `fulltext_coverage` — how many items in each subset actually carry searchable full text in this dataset. Rea"},{"name":"get_newspaper_stats","description":"Per-newspaper article counts and date ranges."},{"name":"get_country_comparison","description":"Compare article counts, newspaper counts, date ranges, and gpt-5-6-luna polarity across countries."},{"name":"get_temporal_distribution","description":"Counts by Gregorian or Hijri year/month, or pooled lunar month. Group by country/newspaper. Partial dates and missing lunar dates are disclosed. normalize_by re"},{"name":"get_topic_distribution","description":"Counts of offline LDA topic assignments, optionally over time. Topic labels are interpretive model outputs; exact topic_id filters select assignments rather tha"},{"name":"get_field_distribution","description":"Rank exact metadata values, splitting pipe-separated tags. Reports missing metadata and optional coverage over time. Choose spatial for mentioned places, countr"},{"name":"get_cooccurrence","description":"Count pairs of metadata values co-tagged on the same items. Matrix/network views show descriptive associations, not causal links. Filters apply before pair coun"},{"name":"get_place_distribution","description":"Place tags joined to authority coordinates. Separates publication countries from mentioned places; missing geocodes are counted explicitly."},{"name":"get_semantic_map","description":"Stable-hash sample of matching stored embeddings, projected with PCA. Reports eligible, invalid, missing and capped counts, seed and explained variance. Group c"},{"name":"get_similar_items","description":"Nearest stored embeddings by cosine similarity, without an API key. Scores rank reading candidates; no threshold proves a reprint. Returns source IDs and dates "},{"name":"get_lexical_metrics","description":"Text length, lexical richness and readability by country/newspaper/year. Metrics are precomputed; readability is French-specific and excludes other languages. M"},{"name":"search_publications","description":"Search Islamic publications (periodical issues, books). `keyword` matches title, subject, table of contents, and full OCR text (TOC hits come back as matching_t"},{"name":"list_periodicals","description":"List the Islamic periodical/series titles in the publications subset, with issue counts and year ranges. Use the returned newspaper value as the `newspaper` fil"},{"name":"get_publication_fulltext","description":"Full OCR text of a publication in 25k-char parts (follow `next_offset`), or ~2000-char excerpts around keyword matches (accent-insensitive; capped: see match_co"},{"name":"search_references","description":"Search academic references (journal articles, book chapters, theses, books, reports) by keyword and metadata. `keyword` is a single substring match over title +"},{"name":"get_reference","description":"Full bibliographic record for one academic reference (by id), including the complete abstract (present for ~51% of references), subjects, DOI/URL, and host-work"},{"name":"search_documents","description":"Search the small archival-documents subset (~26 items: Islamic association reports, flyers, project documents — mostly Burkina Faso). Use French concept keyword"},{"name":"get_document","description":"Get one archival document (by id): full metadata, AI description, and OCR text, in 25k-char parts (follow `next_offset`). Pass a `keyword` to get ~2000-char exc"},{"name":"search_audiovisual","description":"Search audiovisual materials by keyword and metadata: francophone web video from Burkina Faso, Togo and Benin (TV reports, association and campus recordings), p"},{"name":"list_audiovisual","description":"List audiovisual materials, newest first (francophone web video from Burkina Faso, Togo and Benin; deposited Nigerian Hausa/Arabic recordings). Filter by countr"},{"name":"get_audiovisual","description":"Get one audiovisual record by id: full description and transcription (where one exists), creator/publishing channel, duration, medium, subjects, places, languag"},{"name":"search_images","description":"Search the IWAC photographs (30 items: mosques, radio stations, schools, signage and street scenes documented during fieldwork). Keyword matches title, creator,"},{"name":"get_image","description":"Get one photograph by id: title, photographer, capture date, place and coordinates, subjects, rights, the IIIF manifest, and the full-resolution `image_url`. Th"}],"toolCount":35,"toolsHash":"3ec417a6e6980696606b3fc926083d75895bbb1cd3c17e384db50560d7c5890c","serverName":"iwac-mcp-server","capabilities":["tools","resources","prompts","extensions","completions"],"serverVersion":"3.9.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T10:28:36.080Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":30,"error":null,"detail":{"tools":[{"name":"search","description":"Search the Islam West Africa Collection across newspaper articles, Islamic publications, archival documents, academic references, audiovisual recordings, photog"},{"name":"fetch","description":"Retrieve the full text and metadata of one IWAC item by an id returned from `search` (format '<category>:<number>', e.g. 'articles:28576'). Returns {id, title, "},{"name":"explore_corpus","description":"Selection workbench: items, concordance, coverage, compare (requires comparison), attention, aliases, or paginated manifest/CSL-JSON/BibTeX exports. Exact filte"},{"name":"search_articles","description":"Search IWAC newspaper articles by keyword (title + OCR + AI abstracts, French and English), country, newspaper, subject, and date range. Use French concept keyw"},{"name":"get_article","description":"Get one article (by id): full metadata, the AI abstract (description_ai), AI sentiment, and OCR text, in 25k-char parts (follow `next_offset`). Pass a `keyword`"},{"name":"search_by_sentiment","description":"Filter articles by gpt-5-6-luna sentiment labels (accent/case-insensitive exact match). One model's reading, not a consensus — 4 other models scored the same ar"},{"name":"get_sentiment_distribution","description":"Aggregate AI labels over a shared selection. model:\"all\" compares independent annotators and their coverage; model:\"consensus\" reads the stored panel majority. "},{"name":"search_index","description":"Search the IWAC authority index (persons, places, organisations, events, subjects) by name. Accent/case-insensitive."},{"name":"get_index_entry","description":"Get full details of an index entry by id (raw dataset columns, French names — Titre, Prénom, Coordonnées…)."},{"name":"list_subjects","description":"List sujets from the IWAC index, sorted by frequency (most-referenced first)."},{"name":"list_locations","description":"List lieux from the IWAC index, sorted by frequency (most-referenced first). The optional 'country' filter selects entries that APPEAR IN records from that coun"},{"name":"list_persons","description":"List personnes from the IWAC index, sorted by frequency (most-referenced first). The optional 'country' filter selects entries that APPEAR IN records from that "},{"name":"get_collection_stats","description":"Overall statistics for every IWAC subset, including `fulltext_coverage` — how many items in each subset actually carry searchable full text in this dataset. Rea"},{"name":"get_newspaper_stats","description":"Per-newspaper article counts and date ranges."},{"name":"get_country_comparison","description":"Compare article counts, newspaper counts, date ranges, and gpt-5-6-luna polarity across countries."},{"name":"get_temporal_distribution","description":"Counts by Gregorian or Hijri year/month, or pooled lunar month. Group by country/newspaper. Partial dates and missing lunar dates are disclosed. normalize_by re"},{"name":"get_topic_distribution","description":"Counts of offline LDA topic assignments, optionally over time. Topic labels are interpretive model outputs; exact topic_id filters select assignments rather tha"},{"name":"get_field_distribution","description":"Rank exact metadata values, splitting pipe-separated tags. Reports missing metadata and optional coverage over time. Choose spatial for mentioned places, countr"},{"name":"get_cooccurrence","description":"Count pairs of metadata values co-tagged on the same items. Matrix/network views show descriptive associations, not causal links. Filters apply before pair coun"},{"name":"get_place_distribution","description":"Place tags joined to authority coordinates. Separates publication countries from mentioned places; missing geocodes are counted explicitly."},{"name":"get_semantic_map","description":"Stable-hash sample of matching stored embeddings, projected with PCA. Reports eligible, invalid, missing and capped counts, seed and explained variance. Group c"},{"name":"get_similar_items","description":"Nearest stored embeddings by cosine similarity, without an API key. Scores rank reading candidates; no threshold proves a reprint. Returns source IDs and dates "},{"name":"get_lexical_metrics","description":"Text length, lexical richness and readability by country/newspaper/year. Metrics are precomputed; readability is French-specific and excludes other languages. M"},{"name":"search_publications","description":"Search Islamic publications (periodical issues, books). `keyword` matches title, subject, table of contents, and full OCR text (TOC hits come back as matching_t"},{"name":"list_periodicals","description":"List the Islamic periodical/series titles in the publications subset, with issue counts and year ranges. Use the returned newspaper value as the `newspaper` fil"},{"name":"get_publication_fulltext","description":"Full OCR text of a publication in 25k-char parts (follow `next_offset`), or ~2000-char excerpts around keyword matches (accent-insensitive; capped: see match_co"},{"name":"search_references","description":"Search academic references (journal articles, book chapters, theses, books, reports) by keyword and metadata. `keyword` is a single substring match over title +"},{"name":"get_reference","description":"Full bibliographic record for one academic reference (by id), including the complete abstract (present for ~51% of references), subjects, DOI/URL, and host-work"},{"name":"search_documents","description":"Search the small archival-documents subset (~26 items: Islamic association reports, flyers, project documents — mostly Burkina Faso). Use French concept keyword"},{"name":"get_document","description":"Get one archival document (by id): full metadata, AI description, and OCR text, in 25k-char parts (follow `next_offset`). Pass a `keyword` to get ~2000-char exc"},{"name":"search_audiovisual","description":"Search audiovisual materials by keyword and metadata: francophone web video from Burkina Faso, Togo and Benin (TV reports, association and campus recordings), p"},{"name":"list_audiovisual","description":"List audiovisual materials, newest first (francophone web video from Burkina Faso, Togo and Benin; deposited Nigerian Hausa/Arabic recordings). Filter by countr"},{"name":"get_audiovisual","description":"Get one audiovisual record by id: full description and transcription (where one exists), creator/publishing channel, duration, medium, subjects, places, languag"},{"name":"search_images","description":"Search the IWAC photographs (30 items: mosques, radio stations, schools, signage and street scenes documented during fieldwork). Keyword matches title, creator,"},{"name":"get_image","description":"Get one photograph by id: title, photographer, capture date, place and coordinates, subjects, rights, the IIIF manifest, and the full-resolution `image_url`. Th"}],"toolCount":35,"toolsHash":"3ec417a6e6980696606b3fc926083d75895bbb1cd3c17e384db50560d7c5890c","serverName":"iwac-mcp-server","capabilities":["tools","resources","prompts","extensions","completions"],"serverVersion":"3.9.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T03:24:57.910Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":28,"error":null,"detail":{"tools":[{"name":"search","description":"Search the Islam West Africa Collection across newspaper articles, Islamic publications, archival documents, academic references, audiovisual recordings, photog"},{"name":"fetch","description":"Retrieve the full text and metadata of one IWAC item by an id returned from `search` (format '<category>:<number>', e.g. 'articles:28576'). Returns {id, title, "},{"name":"explore_corpus","description":"Selection workbench: items, concordance, coverage, compare (requires comparison), attention, aliases, or paginated manifest/CSL-JSON/BibTeX exports. Exact filte"},{"name":"search_articles","description":"Search IWAC newspaper articles by keyword (title + OCR + AI abstracts, French and English), country, newspaper, subject, and date range. Use French concept keyw"},{"name":"get_article","description":"Get one article (by id): full metadata, the AI abstract (description_ai), AI sentiment, and OCR text, in 25k-char parts (follow `next_offset`). Pass a `keyword`"},{"name":"search_by_sentiment","description":"Filter articles by gpt-5-6-luna sentiment labels (accent/case-insensitive exact match). One model's reading, not a consensus — 4 other models scored the same ar"},{"name":"get_sentiment_distribution","description":"Aggregate AI labels over a shared selection. model:\"all\" compares independent annotators and their coverage; model:\"consensus\" reads the stored panel majority. "},{"name":"search_index","description":"Search the IWAC authority index (persons, places, organisations, events, subjects) by name. Accent/case-insensitive."},{"name":"get_index_entry","description":"Get full details of an index entry by id (raw dataset columns, French names — Titre, Prénom, Coordonnées…)."},{"name":"list_subjects","description":"List sujets from the IWAC index, sorted by frequency (most-referenced first)."},{"name":"list_locations","description":"List lieux from the IWAC index, sorted by frequency (most-referenced first). The optional 'country' filter selects entries that APPEAR IN records from that coun"},{"name":"list_persons","description":"List personnes from the IWAC index, sorted by frequency (most-referenced first). The optional 'country' filter selects entries that APPEAR IN records from that "},{"name":"get_collection_stats","description":"Overall statistics for every IWAC subset, including `fulltext_coverage` — how many items in each subset actually carry searchable full text in this dataset. Rea"},{"name":"get_newspaper_stats","description":"Per-newspaper article counts and date ranges."},{"name":"get_country_comparison","description":"Compare article counts, newspaper counts, date ranges, and gpt-5-6-luna polarity across countries."},{"name":"get_temporal_distribution","description":"Counts by Gregorian or Hijri year/month, or pooled lunar month. Group by country/newspaper. Partial dates and missing lunar dates are disclosed. normalize_by re"},{"name":"get_topic_distribution","description":"Counts of offline LDA topic assignments, optionally over time. Topic labels are interpretive model outputs; exact topic_id filters select assignments rather tha"},{"name":"get_field_distribution","description":"Rank exact metadata values, splitting pipe-separated tags. Reports missing metadata and optional coverage over time. Choose spatial for mentioned places, countr"},{"name":"get_cooccurrence","description":"Count pairs of metadata values co-tagged on the same items. Matrix/network views show descriptive associations, not causal links. Filters apply before pair coun"},{"name":"get_place_distribution","description":"Place tags joined to authority coordinates. Separates publication countries from mentioned places; missing geocodes are counted explicitly."},{"name":"get_semantic_map","description":"Stable-hash sample of matching stored embeddings, projected with PCA. Reports eligible, invalid, missing and capped counts, seed and explained variance. Group c"},{"name":"get_similar_items","description":"Nearest stored embeddings by cosine similarity, without an API key. Scores rank reading candidates; no threshold proves a reprint. Returns source IDs and dates "},{"name":"get_lexical_metrics","description":"Text length, lexical richness and readability by country/newspaper/year. Metrics are precomputed; readability is French-specific and excludes other languages. M"},{"name":"search_publications","description":"Search Islamic publications (periodical issues, books). `keyword` matches title, subject, table of contents, and full OCR text (TOC hits come back as matching_t"},{"name":"list_periodicals","description":"List the Islamic periodical/series titles in the publications subset, with issue counts and year ranges. Use the returned newspaper value as the `newspaper` fil"},{"name":"get_publication_fulltext","description":"Full OCR text of a publication in 25k-char parts (follow `next_offset`), or ~2000-char excerpts around keyword matches (accent-insensitive; capped: see match_co"},{"name":"search_references","description":"Search academic references (journal articles, book chapters, theses, books, reports) by keyword and metadata. `keyword` is a single substring match over title +"},{"name":"get_reference","description":"Full bibliographic record for one academic reference (by id), including the complete abstract (present for ~51% of references), subjects, DOI/URL, and host-work"},{"name":"search_documents","description":"Search the small archival-documents subset (~26 items: Islamic association reports, flyers, project documents — mostly Burkina Faso). Use French concept keyword"},{"name":"get_document","description":"Get one archival document (by id): full metadata, AI description, and OCR text, in 25k-char parts (follow `next_offset`). Pass a `keyword` to get ~2000-char exc"},{"name":"search_audiovisual","description":"Search audiovisual materials by keyword and metadata: francophone web video from Burkina Faso, Togo and Benin (TV reports, association and campus recordings), p"},{"name":"list_audiovisual","description":"List audiovisual materials, newest first (francophone web video from Burkina Faso, Togo and Benin; deposited Nigerian Hausa/Arabic recordings). Filter by countr"},{"name":"get_audiovisual","description":"Get one audiovisual record by id: full description and transcription (where one exists), creator/publishing channel, duration, medium, subjects, places, languag"},{"name":"search_images","description":"Search the IWAC photographs (30 items: mosques, radio stations, schools, signage and street scenes documented during fieldwork). Keyword matches title, creator,"},{"name":"get_image","description":"Get one photograph by id: title, photographer, capture date, place and coordinates, subjects, rights, the IIIF manifest, and the full-resolution `image_url`. Th"}],"toolCount":35,"toolsHash":"3ec417a6e6980696606b3fc926083d75895bbb1cd3c17e384db50560d7c5890c","serverName":"iwac-mcp-server","capabilities":["tools","resources","prompts","extensions","completions"],"serverVersion":"3.9.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T20:29:48.221Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":123,"error":null,"detail":{"tools":[{"name":"search","description":"Search the Islam West Africa Collection across newspaper articles, Islamic publications, archival documents, academic references, audiovisual recordings, photog"},{"name":"fetch","description":"Retrieve the full text and metadata of one IWAC item by an id returned from `search` (format '<category>:<number>', e.g. 'articles:28576'). Returns {id, title, "},{"name":"explore_corpus","description":"Selection workbench: items, concordance, coverage, compare (requires comparison), attention, aliases, or paginated manifest/CSL-JSON/BibTeX exports. Exact filte"},{"name":"search_articles","description":"Search IWAC newspaper articles by keyword (title + OCR + AI abstracts, French and English), country, newspaper, subject, and date range. Use French concept keyw"},{"name":"get_article","description":"Get one article (by id): full metadata, the AI abstract (description_ai), AI sentiment, and OCR text, in 25k-char parts (follow `next_offset`). Pass a `keyword`"},{"name":"search_by_sentiment","description":"Filter articles by gpt-5-6-luna sentiment labels (accent/case-insensitive exact match). One model's reading, not a consensus — 4 other models scored the same ar"},{"name":"get_sentiment_distribution","description":"Aggregate AI labels over a shared selection. model:\"all\" compares independent annotators and their coverage; model:\"consensus\" reads the stored panel majority. "},{"name":"search_index","description":"Search the IWAC authority index (persons, places, organisations, events, subjects) by name. Accent/case-insensitive."},{"name":"get_index_entry","description":"Get full details of an index entry by id (raw dataset columns, French names — Titre, Prénom, Coordonnées…)."},{"name":"list_subjects","description":"List sujets from the IWAC index, sorted by frequency (most-referenced first)."},{"name":"list_locations","description":"List lieux from the IWAC index, sorted by frequency (most-referenced first). The optional 'country' filter selects entries that APPEAR IN records from that coun"},{"name":"list_persons","description":"List personnes from the IWAC index, sorted by frequency (most-referenced first). The optional 'country' filter selects entries that APPEAR IN records from that "},{"name":"get_collection_stats","description":"Overall statistics for every IWAC subset, including `fulltext_coverage` — how many items in each subset actually carry searchable full text in this dataset. Rea"},{"name":"get_newspaper_stats","description":"Per-newspaper article counts and date ranges."},{"name":"get_country_comparison","description":"Compare article counts, newspaper counts, date ranges, and gpt-5-6-luna polarity across countries."},{"name":"get_temporal_distribution","description":"Counts by Gregorian or Hijri year/month, or pooled lunar month. Group by country/newspaper. Partial dates and missing lunar dates are disclosed. normalize_by re"},{"name":"get_topic_distribution","description":"Counts of offline LDA topic assignments, optionally over time. Topic labels are interpretive model outputs; exact topic_id filters select assignments rather tha"},{"name":"get_field_distribution","description":"Rank exact metadata values, splitting pipe-separated tags. Reports missing metadata and optional coverage over time. Choose spatial for mentioned places, countr"},{"name":"get_cooccurrence","description":"Count pairs of metadata values co-tagged on the same items. Matrix/network views show descriptive associations, not causal links. Filters apply before pair coun"},{"name":"get_place_distribution","description":"Place tags joined to authority coordinates. Separates publication countries from mentioned places; missing geocodes are counted explicitly."},{"name":"get_semantic_map","description":"Stable-hash sample of matching stored embeddings, projected with PCA. Reports eligible, invalid, missing and capped counts, seed and explained variance. Group c"},{"name":"get_similar_items","description":"Nearest stored embeddings by cosine similarity, without an API key. Scores rank reading candidates; no threshold proves a reprint. Returns source IDs and dates "},{"name":"get_lexical_metrics","description":"Text length, lexical richness and readability by country/newspaper/year. Metrics are precomputed; readability is French-specific and excludes other languages. M"},{"name":"search_publications","description":"Search Islamic publications (periodical issues, books). `keyword` matches title, subject, table of contents, and full OCR text (TOC hits come back as matching_t"},{"name":"list_periodicals","description":"List the Islamic periodical/series titles in the publications subset, with issue counts and year ranges. Use the returned newspaper value as the `newspaper` fil"},{"name":"get_publication_fulltext","description":"Full OCR text of a publication in 25k-char parts (follow `next_offset`), or ~2000-char excerpts around keyword matches (accent-insensitive; capped: see match_co"},{"name":"search_references","description":"Search academic references (journal articles, book chapters, theses, books, reports) by keyword and metadata. `keyword` is a single substring match over title +"},{"name":"get_reference","description":"Full bibliographic record for one academic reference (by id), including the complete abstract (present for ~51% of references), subjects, DOI/URL, and host-work"},{"name":"search_documents","description":"Search the small archival-documents subset (~26 items: Islamic association reports, flyers, project documents — mostly Burkina Faso). Use French concept keyword"},{"name":"get_document","description":"Get one archival document (by id): full metadata, AI description, and OCR text, in 25k-char parts (follow `next_offset`). Pass a `keyword` to get ~2000-char exc"},{"name":"search_audiovisual","description":"Search audiovisual materials by keyword and metadata: francophone web video from Burkina Faso, Togo and Benin (TV reports, association and campus recordings), p"},{"name":"list_audiovisual","description":"List audiovisual materials, newest first (francophone web video from Burkina Faso, Togo and Benin; deposited Nigerian Hausa/Arabic recordings). Filter by countr"},{"name":"get_audiovisual","description":"Get one audiovisual record by id: full description and transcription (where one exists), creator/publishing channel, duration, medium, subjects, places, languag"},{"name":"search_images","description":"Search the IWAC photographs (30 items: mosques, radio stations, schools, signage and street scenes documented during fieldwork). Keyword matches title, creator,"},{"name":"get_image","description":"Get one photograph by id: title, photographer, capture date, place and coordinates, subjects, rights, the IIIF manifest, and the full-resolution `image_url`. Th"}],"toolCount":35,"toolsHash":"3ec417a6e6980696606b3fc926083d75895bbb1cd3c17e384db50560d7c5890c","serverName":"iwac-mcp-server","capabilities":["tools","resources","prompts","extensions","completions"],"serverVersion":"3.9.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T13:31:08.906Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":31,"error":null,"detail":{"tools":[{"name":"search","description":"Search the Islam West Africa Collection across newspaper articles, Islamic publications, archival documents, academic references, audiovisual recordings, photog"},{"name":"fetch","description":"Retrieve the full text and metadata of one IWAC item by an id returned from `search` (format '<category>:<number>', e.g. 'articles:28576'). Returns {id, title, "},{"name":"explore_corpus","description":"Selection workbench: items, concordance, coverage, compare (requires comparison), attention, aliases, or paginated manifest/CSL-JSON/BibTeX exports. Exact filte"},{"name":"search_articles","description":"Search IWAC newspaper articles by keyword (title + OCR + AI abstracts, French and English), country, newspaper, subject, and date range. Use French concept keyw"},{"name":"get_article","description":"Get one article (by id): full metadata, the AI abstract (description_ai), AI sentiment, and OCR text, in 25k-char parts (follow `next_offset`). Pass a `keyword`"},{"name":"search_by_sentiment","description":"Filter articles by gpt-5-6-luna sentiment labels (accent/case-insensitive exact match). One model's reading, not a consensus — 4 other models scored the same ar"},{"name":"get_sentiment_distribution","description":"Aggregate AI labels over a shared selection. model:\"all\" compares independent annotators and their coverage; model:\"consensus\" reads the stored panel majority. "},{"name":"search_index","description":"Search the IWAC authority index (persons, places, organisations, events, subjects) by name. Accent/case-insensitive."},{"name":"get_index_entry","description":"Get full details of an index entry by id (raw dataset columns, French names — Titre, Prénom, Coordonnées…)."},{"name":"list_subjects","description":"List sujets from the IWAC index, sorted by frequency (most-referenced first)."},{"name":"list_locations","description":"List lieux from the IWAC index, sorted by frequency (most-referenced first). The optional 'country' filter selects entries that APPEAR IN records from that coun"},{"name":"list_persons","description":"List personnes from the IWAC index, sorted by frequency (most-referenced first). The optional 'country' filter selects entries that APPEAR IN records from that "},{"name":"get_collection_stats","description":"Overall statistics for every IWAC subset, including `fulltext_coverage` — how many items in each subset actually carry searchable full text in this dataset. Rea"},{"name":"get_newspaper_stats","description":"Per-newspaper article counts and date ranges."},{"name":"get_country_comparison","description":"Compare article counts, newspaper counts, date ranges, and gpt-5-6-luna polarity across countries."},{"name":"get_temporal_distribution","description":"Counts by Gregorian or Hijri year/month, or pooled lunar month. Group by country/newspaper. Partial dates and missing lunar dates are disclosed. normalize_by re"},{"name":"get_topic_distribution","description":"Counts of offline LDA topic assignments, optionally over time. Topic labels are interpretive model outputs; exact topic_id filters select assignments rather tha"},{"name":"get_field_distribution","description":"Rank exact metadata values, splitting pipe-separated tags. Reports missing metadata and optional coverage over time. Choose spatial for mentioned places, countr"},{"name":"get_cooccurrence","description":"Count pairs of metadata values co-tagged on the same items. Matrix/network views show descriptive associations, not causal links. Filters apply before pair coun"},{"name":"get_place_distribution","description":"Place tags joined to authority coordinates. Separates publication countries from mentioned places; missing geocodes are counted explicitly."},{"name":"get_semantic_map","description":"Stable-hash sample of matching stored embeddings, projected with PCA. Reports eligible, invalid, missing and capped counts, seed and explained variance. Group c"},{"name":"get_similar_items","description":"Nearest stored embeddings by cosine similarity, without an API key. Scores rank reading candidates; no threshold proves a reprint. Returns source IDs and dates "},{"name":"get_lexical_metrics","description":"Text length, lexical richness and readability by country/newspaper/year. Metrics are precomputed; readability is French-specific and excludes other languages. M"},{"name":"search_publications","description":"Search Islamic publications (periodical issues, books). `keyword` matches title, subject, table of contents, and full OCR text (TOC hits come back as matching_t"},{"name":"list_periodicals","description":"List the Islamic periodical/series titles in the publications subset, with issue counts and year ranges. Use the returned newspaper value as the `newspaper` fil"},{"name":"get_publication_fulltext","description":"Full OCR text of a publication in 25k-char parts (follow `next_offset`), or ~2000-char excerpts around keyword matches (accent-insensitive; capped: see match_co"},{"name":"search_references","description":"Search academic references (journal articles, book chapters, theses, books, reports) by keyword and metadata. `keyword` is a single substring match over title +"},{"name":"get_reference","description":"Full bibliographic record for one academic reference (by id), including the complete abstract (present for ~51% of references), subjects, DOI/URL, and host-work"},{"name":"search_documents","description":"Search the small archival-documents subset (~26 items: Islamic association reports, flyers, project documents — mostly Burkina Faso). Use French concept keyword"},{"name":"get_document","description":"Get one archival document (by id): full metadata, AI description, and OCR text, in 25k-char parts (follow `next_offset`). Pass a `keyword` to get ~2000-char exc"},{"name":"search_audiovisual","description":"Search audiovisual materials by keyword and metadata: francophone web video from Burkina Faso, Togo and Benin (TV reports, association and campus recordings), p"},{"name":"list_audiovisual","description":"List audiovisual materials, newest first (francophone web video from Burkina Faso, Togo and Benin; deposited Nigerian Hausa/Arabic recordings). Filter by countr"},{"name":"get_audiovisual","description":"Get one audiovisual record by id: full description and transcription (where one exists), creator/publishing channel, duration, medium, subjects, places, languag"},{"name":"search_images","description":"Search the IWAC photographs (30 items: mosques, radio stations, schools, signage and street scenes documented during fieldwork). Keyword matches title, creator,"},{"name":"get_image","description":"Get one photograph by id: title, photographer, capture date, place and coordinates, subjects, rights, the IIIF manifest, and the full-resolution `image_url`. Th"}],"toolCount":35,"toolsHash":"3ec417a6e6980696606b3fc926083d75895bbb1cd3c17e384db50560d7c5890c","serverName":"iwac-mcp-server","capabilities":["tools","resources","prompts","extensions","completions"],"serverVersion":"3.9.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T07:25:31.766Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":26,"error":null,"detail":{"tools":[{"name":"search","description":"Search the Islam West Africa Collection across newspaper articles, Islamic publications, archival documents, academic references, audiovisual recordings, photog"},{"name":"fetch","description":"Retrieve the full text and metadata of one IWAC item by an id returned from `search` (format '<category>:<number>', e.g. 'articles:28576'). Returns {id, title, "},{"name":"explore_corpus","description":"Selection workbench: items, concordance, coverage, compare (requires comparison), attention, aliases, or paginated manifest/CSL-JSON/BibTeX exports. Exact filte"},{"name":"search_articles","description":"Search IWAC newspaper articles by keyword (title + OCR + AI abstracts, French and English), country, newspaper, subject, and date range. Use French concept keyw"},{"name":"get_article","description":"Get one article (by id): full metadata, the AI abstract (description_ai), AI sentiment, and OCR text, in 25k-char parts (follow `next_offset`). Pass a `keyword`"},{"name":"search_by_sentiment","description":"Filter articles by gpt-5-6-luna sentiment labels (accent/case-insensitive exact match). One model's reading, not a consensus — 4 other models scored the same ar"},{"name":"get_sentiment_distribution","description":"Aggregate AI labels over a shared selection. model:\"all\" compares independent annotators and their coverage; model:\"consensus\" reads the stored panel majority. "},{"name":"search_index","description":"Search the IWAC authority index (persons, places, organisations, events, subjects) by name. Accent/case-insensitive."},{"name":"get_index_entry","description":"Get full details of an index entry by id (raw dataset columns, French names — Titre, Prénom, Coordonnées…)."},{"name":"list_subjects","description":"List sujets from the IWAC index, sorted by frequency (most-referenced first)."},{"name":"list_locations","description":"List lieux from the IWAC index, sorted by frequency (most-referenced first). The optional 'country' filter selects entries that APPEAR IN records from that coun"},{"name":"list_persons","description":"List personnes from the IWAC index, sorted by frequency (most-referenced first). The optional 'country' filter selects entries that APPEAR IN records from that "},{"name":"get_collection_stats","description":"Overall statistics for every IWAC subset, including `fulltext_coverage` — how many items in each subset actually carry searchable full text in this dataset. Rea"},{"name":"get_newspaper_stats","description":"Per-newspaper article counts and date ranges."},{"name":"get_country_comparison","description":"Compare article counts, newspaper counts, date ranges, and gpt-5-6-luna polarity across countries."},{"name":"get_temporal_distribution","description":"Counts by Gregorian or Hijri year/month, or pooled lunar month. Group by country/newspaper. Partial dates and missing lunar dates are disclosed. normalize_by re"},{"name":"get_topic_distribution","description":"Counts of offline LDA topic assignments, optionally over time. Topic labels are interpretive model outputs; exact topic_id filters select assignments rather tha"},{"name":"get_field_distribution","description":"Rank exact metadata values, splitting pipe-separated tags. Reports missing metadata and optional coverage over time. Choose spatial for mentioned places, countr"},{"name":"get_cooccurrence","description":"Count pairs of metadata values co-tagged on the same items. Matrix/network views show descriptive associations, not causal links. Filters apply before pair coun"},{"name":"get_place_distribution","description":"Place tags joined to authority coordinates. Separates publication countries from mentioned places; missing geocodes are counted explicitly."},{"name":"get_semantic_map","description":"Stable-hash sample of matching stored embeddings, projected with PCA. Reports eligible, invalid, missing and capped counts, seed and explained variance. Group c"},{"name":"get_similar_items","description":"Nearest stored embeddings by cosine similarity, without an API key. Scores rank reading candidates; no threshold proves a reprint. Returns source IDs and dates "},{"name":"get_lexical_metrics","description":"Text length, lexical richness and readability by country/newspaper/year. Metrics are precomputed; readability is French-specific and excludes other languages. M"},{"name":"search_publications","description":"Search Islamic publications (periodical issues, books). `keyword` matches title, subject, table of contents, and full OCR text (TOC hits come back as matching_t"},{"name":"list_periodicals","description":"List the Islamic periodical/series titles in the publications subset, with issue counts and year ranges. Use the returned newspaper value as the `newspaper` fil"},{"name":"get_publication_fulltext","description":"Full OCR text of a publication in 25k-char parts (follow `next_offset`), or ~2000-char excerpts around keyword matches (accent-insensitive; capped: see match_co"},{"name":"search_references","description":"Search academic references (journal articles, book chapters, theses, books, reports) by keyword and metadata. `keyword` is a single substring match over title +"},{"name":"get_reference","description":"Full bibliographic record for one academic reference (by id), including the complete abstract (present for ~51% of references), subjects, DOI/URL, and host-work"},{"name":"search_documents","description":"Search the small archival-documents subset (~26 items: Islamic association reports, flyers, project documents — mostly Burkina Faso). Use French concept keyword"},{"name":"get_document","description":"Get one archival document (by id): full metadata, AI description, and OCR text, in 25k-char parts (follow `next_offset`). Pass a `keyword` to get ~2000-char exc"},{"name":"search_audiovisual","description":"Search audiovisual materials by keyword and metadata: francophone web video from Burkina Faso, Togo and Benin (TV reports, association and campus recordings), p"},{"name":"list_audiovisual","description":"List audiovisual materials, newest first (francophone web video from Burkina Faso, Togo and Benin; deposited Nigerian Hausa/Arabic recordings). Filter by countr"},{"name":"get_audiovisual","description":"Get one audiovisual record by id: full description and transcription (where one exists), creator/publishing channel, duration, medium, subjects, places, languag"},{"name":"search_images","description":"Search the IWAC photographs (30 items: mosques, radio stations, schools, signage and street scenes documented during fieldwork). Keyword matches title, creator,"},{"name":"get_image","description":"Get one photograph by id: title, photographer, capture date, place and coordinates, subjects, rights, the IIIF manifest, and the full-resolution `image_url`. Th"}],"toolCount":35,"toolsHash":"3ec417a6e6980696606b3fc926083d75895bbb1cd3c17e384db50560d7c5890c","serverName":"iwac-mcp-server","capabilities":["tools","resources","prompts","extensions","completions"],"serverVersion":"3.9.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T00:24:54.279Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":30,"error":null,"detail":{"tools":[{"name":"search","description":"Search the Islam West Africa Collection across newspaper articles, Islamic publications, archival documents, academic references, audiovisual recordings, photog"},{"name":"fetch","description":"Retrieve the full text and metadata of one IWAC item by an id returned from `search` (format '<category>:<number>', e.g. 'articles:28576'). Returns {id, title, "},{"name":"explore_corpus","description":"Selection workbench: items, concordance, coverage, compare (requires comparison), attention, aliases, or paginated manifest/CSL-JSON/BibTeX exports. Exact filte"},{"name":"search_articles","description":"Search IWAC newspaper articles by keyword (title + OCR + AI abstracts, French and English), country, newspaper, subject, and date range. Use French concept keyw"},{"name":"get_article","description":"Get one article (by id): full metadata, the AI abstract (description_ai), AI sentiment, and OCR text, in 25k-char parts (follow `next_offset`). Pass a `keyword`"},{"name":"search_by_sentiment","description":"Filter articles by gpt-5-6-luna sentiment labels (accent/case-insensitive exact match). One model's reading, not a consensus — 4 other models scored the same ar"},{"name":"get_sentiment_distribution","description":"Aggregate AI labels over a shared selection. model:\"all\" compares independent annotators and their coverage; model:\"consensus\" reads the stored panel majority. "},{"name":"search_index","description":"Search the IWAC authority index (persons, places, organisations, events, subjects) by name. Accent/case-insensitive."},{"name":"get_index_entry","description":"Get full details of an index entry by id (raw dataset columns, French names — Titre, Prénom, Coordonnées…)."},{"name":"list_subjects","description":"List sujets from the IWAC index, sorted by frequency (most-referenced first)."},{"name":"list_locations","description":"List lieux from the IWAC index, sorted by frequency (most-referenced first). The optional 'country' filter selects entries that APPEAR IN records from that coun"},{"name":"list_persons","description":"List personnes from the IWAC index, sorted by frequency (most-referenced first). The optional 'country' filter selects entries that APPEAR IN records from that "},{"name":"get_collection_stats","description":"Overall statistics for every IWAC subset, including `fulltext_coverage` — how many items in each subset actually carry searchable full text in this dataset. Rea"},{"name":"get_newspaper_stats","description":"Per-newspaper article counts and date ranges."},{"name":"get_country_comparison","description":"Compare article counts, newspaper counts, date ranges, and gpt-5-6-luna polarity across countries."},{"name":"get_temporal_distribution","description":"Counts by Gregorian or Hijri year/month, or pooled lunar month. Group by country/newspaper. Partial dates and missing lunar dates are disclosed. normalize_by re"},{"name":"get_topic_distribution","description":"Counts of offline LDA topic assignments, optionally over time. Topic labels are interpretive model outputs; exact topic_id filters select assignments rather tha"},{"name":"get_field_distribution","description":"Rank exact metadata values, splitting pipe-separated tags. Reports missing metadata and optional coverage over time. Choose spatial for mentioned places, countr"},{"name":"get_cooccurrence","description":"Count pairs of metadata values co-tagged on the same items. Matrix/network views show descriptive associations, not causal links. Filters apply before pair coun"},{"name":"get_place_distribution","description":"Place tags joined to authority coordinates. Separates publication countries from mentioned places; missing geocodes are counted explicitly."},{"name":"get_semantic_map","description":"Stable-hash sample of matching stored embeddings, projected with PCA. Reports eligible, invalid, missing and capped counts, seed and explained variance. Group c"},{"name":"get_similar_items","description":"Nearest stored embeddings by cosine similarity, without an API key. Scores rank reading candidates; no threshold proves a reprint. Returns source IDs and dates "},{"name":"get_lexical_metrics","description":"Text length, lexical richness and readability by country/newspaper/year. Metrics are precomputed; readability is French-specific and excludes other languages. M"},{"name":"search_publications","description":"Search Islamic publications (periodical issues, books). `keyword` matches title, subject, table of contents, and full OCR text (TOC hits come back as matching_t"},{"name":"list_periodicals","description":"List the Islamic periodical/series titles in the publications subset, with issue counts and year ranges. Use the returned newspaper value as the `newspaper` fil"},{"name":"get_publication_fulltext","description":"Full OCR text of a publication in 25k-char parts (follow `next_offset`), or ~2000-char excerpts around keyword matches (accent-insensitive; capped: see match_co"},{"name":"search_references","description":"Search academic references (journal articles, book chapters, theses, books, reports) by keyword and metadata. `keyword` is a single substring match over title +"},{"name":"get_reference","description":"Full bibliographic record for one academic reference (by id), including the complete abstract (present for ~51% of references), subjects, DOI/URL, and host-work"},{"name":"search_documents","description":"Search the small archival-documents subset (~26 items: Islamic association reports, flyers, project documents — mostly Burkina Faso). Use French concept keyword"},{"name":"get_document","description":"Get one archival document (by id): full metadata, AI description, and OCR text, in 25k-char parts (follow `next_offset`). Pass a `keyword` to get ~2000-char exc"},{"name":"search_audiovisual","description":"Search audiovisual materials by keyword and metadata: francophone web video from Burkina Faso, Togo and Benin (TV reports, association and campus recordings), p"},{"name":"list_audiovisual","description":"List audiovisual materials, newest first (francophone web video from Burkina Faso, Togo and Benin; deposited Nigerian Hausa/Arabic recordings). Filter by countr"},{"name":"get_audiovisual","description":"Get one audiovisual record by id: full description and transcription (where one exists), creator/publishing channel, duration, medium, subjects, places, languag"},{"name":"search_images","description":"Search the IWAC photographs (30 items: mosques, radio stations, schools, signage and street scenes documented during fieldwork). Keyword matches title, creator,"},{"name":"get_image","description":"Get one photograph by id: title, photographer, capture date, place and coordinates, subjects, rights, the IIIF manifest, and the full-resolution `image_url`. Th"}],"toolCount":35,"toolsHash":"3ec417a6e6980696606b3fc926083d75895bbb1cd3c17e384db50560d7c5890c","serverName":"iwac-mcp-server","capabilities":["tools","resources","prompts","extensions","completions"],"serverVersion":"3.9.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T17:26:50.515Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":28,"error":null,"detail":{"tools":[{"name":"search","description":"Search the Islam West Africa Collection across newspaper articles, Islamic publications, archival documents, academic references, audiovisual recordings, photog"},{"name":"fetch","description":"Retrieve the full text and metadata of one IWAC item by an id returned from `search` (format '<category>:<number>', e.g. 'articles:28576'). Returns {id, title, "},{"name":"explore_corpus","description":"Selection workbench: items, concordance, coverage, compare (requires comparison), attention, aliases, or paginated manifest/CSL-JSON/BibTeX exports. Exact filte"},{"name":"search_articles","description":"Search IWAC newspaper articles by keyword (title + OCR + AI abstracts, French and English), country, newspaper, subject, and date range. Use French concept keyw"},{"name":"get_article","description":"Get one article (by id): full metadata, the AI abstract (description_ai), AI sentiment, and OCR text, in 25k-char parts (follow `next_offset`). Pass a `keyword`"},{"name":"search_by_sentiment","description":"Filter articles by gpt-5-6-luna sentiment labels (accent/case-insensitive exact match). One model's reading, not a consensus — 4 other models scored the same ar"},{"name":"get_sentiment_distribution","description":"Aggregate AI labels over a shared selection. model:\"all\" compares independent annotators and their coverage; model:\"consensus\" reads the stored panel majority. "},{"name":"search_index","description":"Search the IWAC authority index (persons, places, organisations, events, subjects) by name. Accent/case-insensitive."},{"name":"get_index_entry","description":"Get full details of an index entry by id (raw dataset columns, French names — Titre, Prénom, Coordonnées…)."},{"name":"list_subjects","description":"List sujets from the IWAC index, sorted by frequency (most-referenced first)."},{"name":"list_locations","description":"List lieux from the IWAC index, sorted by frequency (most-referenced first). The optional 'country' filter selects entries that APPEAR IN records from that coun"},{"name":"list_persons","description":"List personnes from the IWAC index, sorted by frequency (most-referenced first). The optional 'country' filter selects entries that APPEAR IN records from that "},{"name":"get_collection_stats","description":"Overall statistics for every IWAC subset, including `fulltext_coverage` — how many items in each subset actually carry searchable full text in this dataset. Rea"},{"name":"get_newspaper_stats","description":"Per-newspaper article counts and date ranges."},{"name":"get_country_comparison","description":"Compare article counts, newspaper counts, date ranges, and gpt-5-6-luna polarity across countries."},{"name":"get_temporal_distribution","description":"Counts by Gregorian or Hijri year/month, or pooled lunar month. Group by country/newspaper. Partial dates and missing lunar dates are disclosed. normalize_by re"},{"name":"get_topic_distribution","description":"Counts of offline LDA topic assignments, optionally over time. Topic labels are interpretive model outputs; exact topic_id filters select assignments rather tha"},{"name":"get_field_distribution","description":"Rank exact metadata values, splitting pipe-separated tags. Reports missing metadata and optional coverage over time. Choose spatial for mentioned places, countr"},{"name":"get_cooccurrence","description":"Count pairs of metadata values co-tagged on the same items. Matrix/network views show descriptive associations, not causal links. Filters apply before pair coun"},{"name":"get_place_distribution","description":"Place tags joined to authority coordinates. Separates publication countries from mentioned places; missing geocodes are counted explicitly."},{"name":"get_semantic_map","description":"Stable-hash sample of matching stored embeddings, projected with PCA. Reports eligible, invalid, missing and capped counts, seed and explained variance. Group c"},{"name":"get_similar_items","description":"Nearest stored embeddings by cosine similarity, without an API key. Scores rank reading candidates; no threshold proves a reprint. Returns source IDs and dates "},{"name":"get_lexical_metrics","description":"Text length, lexical richness and readability by country/newspaper/year. Metrics are precomputed; readability is French-specific and excludes other languages. M"},{"name":"search_publications","description":"Search Islamic publications (periodical issues, books). `keyword` matches title, subject, table of contents, and full OCR text (TOC hits come back as matching_t"},{"name":"list_periodicals","description":"List the Islamic periodical/series titles in the publications subset, with issue counts and year ranges. Use the returned newspaper value as the `newspaper` fil"},{"name":"get_publication_fulltext","description":"Full OCR text of a publication in 25k-char parts (follow `next_offset`), or ~2000-char excerpts around keyword matches (accent-insensitive; capped: see match_co"},{"name":"search_references","description":"Search academic references (journal articles, book chapters, theses, books, reports) by keyword and metadata. `keyword` is a single substring match over title +"},{"name":"get_reference","description":"Full bibliographic record for one academic reference (by id), including the complete abstract (present for ~51% of references), subjects, DOI/URL, and host-work"},{"name":"search_documents","description":"Search the small archival-documents subset (~26 items: Islamic association reports, flyers, project documents — mostly Burkina Faso). Use French concept keyword"},{"name":"get_document","description":"Get one archival document (by id): full metadata, AI description, and OCR text, in 25k-char parts (follow `next_offset`). Pass a `keyword` to get ~2000-char exc"},{"name":"search_audiovisual","description":"Search audiovisual materials by keyword and metadata: francophone web video from Burkina Faso, Togo and Benin (TV reports, association and campus recordings), p"},{"name":"list_audiovisual","description":"List audiovisual materials, newest first (francophone web video from Burkina Faso, Togo and Benin; deposited Nigerian Hausa/Arabic recordings). Filter by countr"},{"name":"get_audiovisual","description":"Get one audiovisual record by id: full description and transcription (where one exists), creator/publishing channel, duration, medium, subjects, places, languag"},{"name":"search_images","description":"Search the IWAC photographs (30 items: mosques, radio stations, schools, signage and street scenes documented during fieldwork). Keyword matches title, creator,"},{"name":"get_image","description":"Get one photograph by id: title, photographer, capture date, place and coordinates, subjects, rights, the IIIF manifest, and the full-resolution `image_url`. Th"}],"toolCount":35,"toolsHash":"3ec417a6e6980696606b3fc926083d75895bbb1cd3c17e384db50560d7c5890c","serverName":"iwac-mcp-server","capabilities":["tools","resources","prompts","extensions","completions"],"serverVersion":"3.9.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T10:23:50.624Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":28,"error":null,"detail":{"tools":[{"name":"search","description":"Search the Islam West Africa Collection across newspaper articles, Islamic publications, archival documents, academic references, audiovisual recordings, photog"},{"name":"fetch","description":"Retrieve the full text and metadata of one IWAC item by an id returned from `search` (format '<category>:<number>', e.g. 'articles:28576'). Returns {id, title, "},{"name":"explore_corpus","description":"Selection workbench: items, concordance, coverage, compare (requires comparison), attention, aliases, or paginated manifest/CSL-JSON/BibTeX exports. Exact filte"},{"name":"search_articles","description":"Search IWAC newspaper articles by keyword (title + OCR + AI abstracts, French and English), country, newspaper, subject, and date range. Use French concept keyw"},{"name":"get_article","description":"Get one article (by id): full metadata, the AI abstract (description_ai), AI sentiment, and OCR text, in 25k-char parts (follow `next_offset`). Pass a `keyword`"},{"name":"search_by_sentiment","description":"Filter articles by gpt-5-6-luna sentiment labels (accent/case-insensitive exact match). One model's reading, not a consensus — 4 other models scored the same ar"},{"name":"get_sentiment_distribution","description":"Aggregate AI labels over a shared selection. model:\"all\" compares independent annotators and their coverage; model:\"consensus\" reads the stored panel majority. "},{"name":"search_index","description":"Search the IWAC authority index (persons, places, organisations, events, subjects) by name. Accent/case-insensitive."},{"name":"get_index_entry","description":"Get full details of an index entry by id (raw dataset columns, French names — Titre, Prénom, Coordonnées…)."},{"name":"list_subjects","description":"List sujets from the IWAC index, sorted by frequency (most-referenced first)."},{"name":"list_locations","description":"List lieux from the IWAC index, sorted by frequency (most-referenced first). The optional 'country' filter selects entries that APPEAR IN records from that coun"},{"name":"list_persons","description":"List personnes from the IWAC index, sorted by frequency (most-referenced first). The optional 'country' filter selects entries that APPEAR IN records from that "},{"name":"get_collection_stats","description":"Overall statistics for every IWAC subset, including `fulltext_coverage` — how many items in each subset actually carry searchable full text in this dataset. Rea"},{"name":"get_newspaper_stats","description":"Per-newspaper article counts and date ranges."},{"name":"get_country_comparison","description":"Compare article counts, newspaper counts, date ranges, and gpt-5-6-luna polarity across countries."},{"name":"get_temporal_distribution","description":"Counts by Gregorian or Hijri year/month, or pooled lunar month. Group by country/newspaper. Partial dates and missing lunar dates are disclosed. normalize_by re"},{"name":"get_topic_distribution","description":"Counts of offline LDA topic assignments, optionally over time. Topic labels are interpretive model outputs; exact topic_id filters select assignments rather tha"},{"name":"get_field_distribution","description":"Rank exact metadata values, splitting pipe-separated tags. Reports missing metadata and optional coverage over time. Choose spatial for mentioned places, countr"},{"name":"get_cooccurrence","description":"Count pairs of metadata values co-tagged on the same items. Matrix/network views show descriptive associations, not causal links. Filters apply before pair coun"},{"name":"get_place_distribution","description":"Place tags joined to authority coordinates. Separates publication countries from mentioned places; missing geocodes are counted explicitly."},{"name":"get_semantic_map","description":"Stable-hash sample of matching stored embeddings, projected with PCA. Reports eligible, invalid, missing and capped counts, seed and explained variance. Group c"},{"name":"get_similar_items","description":"Nearest stored embeddings by cosine similarity, without an API key. Scores rank reading candidates; no threshold proves a reprint. Returns source IDs and dates "},{"name":"get_lexical_metrics","description":"Text length, lexical richness and readability by country/newspaper/year. Metrics are precomputed; readability is French-specific and excludes other languages. M"},{"name":"search_publications","description":"Search Islamic publications (periodical issues, books). `keyword` matches title, subject, table of contents, and full OCR text (TOC hits come back as matching_t"},{"name":"list_periodicals","description":"List the Islamic periodical/series titles in the publications subset, with issue counts and year ranges. Use the returned newspaper value as the `newspaper` fil"},{"name":"get_publication_fulltext","description":"Full OCR text of a publication in 25k-char parts (follow `next_offset`), or ~2000-char excerpts around keyword matches (accent-insensitive; capped: see match_co"},{"name":"search_references","description":"Search academic references (journal articles, book chapters, theses, books, reports) by keyword and metadata. `keyword` is a single substring match over title +"},{"name":"get_reference","description":"Full bibliographic record for one academic reference (by id), including the complete abstract (present for ~51% of references), subjects, DOI/URL, and host-work"},{"name":"search_documents","description":"Search the small archival-documents subset (~26 items: Islamic association reports, flyers, project documents — mostly Burkina Faso). Use French concept keyword"},{"name":"get_document","description":"Get one archival document (by id): full metadata, AI description, and OCR text, in 25k-char parts (follow `next_offset`). Pass a `keyword` to get ~2000-char exc"},{"name":"search_audiovisual","description":"Search audiovisual materials by keyword and metadata: francophone web video from Burkina Faso, Togo and Benin (TV reports, association and campus recordings), p"},{"name":"list_audiovisual","description":"List audiovisual materials, newest first (francophone web video from Burkina Faso, Togo and Benin; deposited Nigerian Hausa/Arabic recordings). Filter by countr"},{"name":"get_audiovisual","description":"Get one audiovisual record by id: full description and transcription (where one exists), creator/publishing channel, duration, medium, subjects, places, languag"},{"name":"search_images","description":"Search the IWAC photographs (30 items: mosques, radio stations, schools, signage and street scenes documented during fieldwork). Keyword matches title, creator,"},{"name":"get_image","description":"Get one photograph by id: title, photographer, capture date, place and coordinates, subjects, rights, the IIIF manifest, and the full-resolution `image_url`. Th"}],"toolCount":35,"toolsHash":"3ec417a6e6980696606b3fc926083d75895bbb1cd3c17e384db50560d7c5890c","serverName":"iwac-mcp-server","capabilities":["tools","resources","prompts","extensions","completions"],"serverVersion":"3.9.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T03:24:17.165Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":28,"error":null,"detail":{"tools":[{"name":"search","description":"Search the Islam West Africa Collection across newspaper articles, Islamic publications, archival documents, academic references, audiovisual recordings, photog"},{"name":"fetch","description":"Retrieve the full text and metadata of one IWAC item by an id returned from `search` (format '<category>:<number>', e.g. 'articles:28576'). Returns {id, title, "},{"name":"explore_corpus","description":"Selection workbench: items, concordance, coverage, compare (requires comparison), attention, aliases, or paginated manifest/CSL-JSON/BibTeX exports. Exact filte"},{"name":"search_articles","description":"Search IWAC newspaper articles by keyword (title + OCR + AI abstracts, French and English), country, newspaper, subject, and date range. Use French concept keyw"},{"name":"get_article","description":"Get one article (by id): full metadata, the AI abstract (description_ai), AI sentiment, and OCR text, in 25k-char parts (follow `next_offset`). Pass a `keyword`"},{"name":"search_by_sentiment","description":"Filter articles by gpt-5-6-luna sentiment labels (accent/case-insensitive exact match). One model's reading, not a consensus — 4 other models scored the same ar"},{"name":"get_sentiment_distribution","description":"Aggregate AI labels over a shared selection. model:\"all\" compares independent annotators and their coverage; model:\"consensus\" reads the stored panel majority. "},{"name":"search_index","description":"Search the IWAC authority index (persons, places, organisations, events, subjects) by name. Accent/case-insensitive."},{"name":"get_index_entry","description":"Get full details of an index entry by id (raw dataset columns, French names — Titre, Prénom, Coordonnées…)."},{"name":"list_subjects","description":"List sujets from the IWAC index, sorted by frequency (most-referenced first)."},{"name":"list_locations","description":"List lieux from the IWAC index, sorted by frequency (most-referenced first). The optional 'country' filter selects entries that APPEAR IN records from that coun"},{"name":"list_persons","description":"List personnes from the IWAC index, sorted by frequency (most-referenced first). The optional 'country' filter selects entries that APPEAR IN records from that "},{"name":"get_collection_stats","description":"Overall statistics for every IWAC subset, including `fulltext_coverage` — how many items in each subset actually carry searchable full text in this dataset. Rea"},{"name":"get_newspaper_stats","description":"Per-newspaper article counts and date ranges."},{"name":"get_country_comparison","description":"Compare article counts, newspaper counts, date ranges, and gpt-5-6-luna polarity across countries."},{"name":"get_temporal_distribution","description":"Counts by Gregorian or Hijri year/month, or pooled lunar month. Group by country/newspaper. Partial dates and missing lunar dates are disclosed. normalize_by re"},{"name":"get_topic_distribution","description":"Counts of offline LDA topic assignments, optionally over time. Topic labels are interpretive model outputs; exact topic_id filters select assignments rather tha"},{"name":"get_field_distribution","description":"Rank exact metadata values, splitting pipe-separated tags. Reports missing metadata and optional coverage over time. Choose spatial for mentioned places, countr"},{"name":"get_cooccurrence","description":"Count pairs of metadata values co-tagged on the same items. Matrix/network views show descriptive associations, not causal links. Filters apply before pair coun"},{"name":"get_place_distribution","description":"Place tags joined to authority coordinates. Separates publication countries from mentioned places; missing geocodes are counted explicitly."},{"name":"get_semantic_map","description":"Stable-hash sample of matching stored embeddings, projected with PCA. Reports eligible, invalid, missing and capped counts, seed and explained variance. Group c"},{"name":"get_similar_items","description":"Nearest stored embeddings by cosine similarity, without an API key. Scores rank reading candidates; no threshold proves a reprint. Returns source IDs and dates "},{"name":"get_lexical_metrics","description":"Text length, lexical richness and readability by country/newspaper/year. Metrics are precomputed; readability is French-specific and excludes other languages. M"},{"name":"search_publications","description":"Search Islamic publications (periodical issues, books). `keyword` matches title, subject, table of contents, and full OCR text (TOC hits come back as matching_t"},{"name":"list_periodicals","description":"List the Islamic periodical/series titles in the publications subset, with issue counts and year ranges. Use the returned newspaper value as the `newspaper` fil"},{"name":"get_publication_fulltext","description":"Full OCR text of a publication in 25k-char parts (follow `next_offset`), or ~2000-char excerpts around keyword matches (accent-insensitive; capped: see match_co"},{"name":"search_references","description":"Search academic references (journal articles, book chapters, theses, books, reports) by keyword and metadata. `keyword` is a single substring match over title +"},{"name":"get_reference","description":"Full bibliographic record for one academic reference (by id), including the complete abstract (present for ~51% of references), subjects, DOI/URL, and host-work"},{"name":"search_documents","description":"Search the small archival-documents subset (~26 items: Islamic association reports, flyers, project documents — mostly Burkina Faso). Use French concept keyword"},{"name":"get_document","description":"Get one archival document (by id): full metadata, AI description, and OCR text, in 25k-char parts (follow `next_offset`). Pass a `keyword` to get ~2000-char exc"},{"name":"search_audiovisual","description":"Search audiovisual materials by keyword and metadata: francophone web video from Burkina Faso, Togo and Benin (TV reports, association and campus recordings), p"},{"name":"list_audiovisual","description":"List audiovisual materials, newest first (francophone web video from Burkina Faso, Togo and Benin; deposited Nigerian Hausa/Arabic recordings). Filter by countr"},{"name":"get_audiovisual","description":"Get one audiovisual record by id: full description and transcription (where one exists), creator/publishing channel, duration, medium, subjects, places, languag"},{"name":"search_images","description":"Search the IWAC photographs (30 items: mosques, radio stations, schools, signage and street scenes documented during fieldwork). Keyword matches title, creator,"},{"name":"get_image","description":"Get one photograph by id: title, photographer, capture date, place and coordinates, subjects, rights, the IIIF manifest, and the full-resolution `image_url`. Th"}],"toolCount":35,"toolsHash":"3ec417a6e6980696606b3fc926083d75895bbb1cd3c17e384db50560d7c5890c","serverName":"iwac-mcp-server","capabilities":["tools","resources","prompts","extensions","completions"],"serverVersion":"3.9.0","protocolVersion":"2025-06-18"}}],"tools":[{"name":"search","description":"Search the Islam West Africa Collection across newspaper articles, Islamic publications, archival documents, academic references, audiovisual recordings, photog"},{"name":"fetch","description":"Retrieve the full text and metadata of one IWAC item by an id returned from `search` (format '<category>:<number>', e.g. 'articles:28576'). Returns {id, title, "},{"name":"explore_corpus","description":"Selection workbench: items, concordance, coverage, compare (requires comparison), attention, aliases, or paginated manifest/CSL-JSON/BibTeX exports. Exact filte"},{"name":"search_articles","description":"Search IWAC newspaper articles by keyword (title + OCR + AI abstracts, French and English), country, newspaper, subject, and date range. Use French concept keyw"},{"name":"get_article","description":"Get one article (by id): full metadata, the AI abstract (description_ai), AI sentiment, and OCR text, in 25k-char parts (follow `next_offset`). Pass a `keyword`"},{"name":"search_by_sentiment","description":"Filter articles by gpt-5-6-luna sentiment labels (accent/case-insensitive exact match). One model's reading, not a consensus — 4 other models scored the same ar"},{"name":"get_sentiment_distribution","description":"Aggregate AI labels over a shared selection. model:\"all\" compares independent annotators and their coverage; model:\"consensus\" reads the stored panel majority. "},{"name":"search_index","description":"Search the IWAC authority index (persons, places, organisations, events, subjects) by name. Accent/case-insensitive."},{"name":"get_index_entry","description":"Get full details of an index entry by id (raw dataset columns, French names — Titre, Prénom, Coordonnées…)."},{"name":"list_subjects","description":"List sujets from the IWAC index, sorted by frequency (most-referenced first)."},{"name":"list_locations","description":"List lieux from the IWAC index, sorted by frequency (most-referenced first). The optional 'country' filter selects entries that APPEAR IN records from that coun"},{"name":"list_persons","description":"List personnes from the IWAC index, sorted by frequency (most-referenced first). The optional 'country' filter selects entries that APPEAR IN records from that "},{"name":"get_collection_stats","description":"Overall statistics for every IWAC subset, including `fulltext_coverage` — how many items in each subset actually carry searchable full text in this dataset. Rea"},{"name":"get_newspaper_stats","description":"Per-newspaper article counts and date ranges."},{"name":"get_country_comparison","description":"Compare article counts, newspaper counts, date ranges, and gpt-5-6-luna polarity across countries."},{"name":"get_temporal_distribution","description":"Counts by Gregorian or Hijri year/month, or pooled lunar month. Group by country/newspaper. Partial dates and missing lunar dates are disclosed. normalize_by re"},{"name":"get_topic_distribution","description":"Counts of offline LDA topic assignments, optionally over time. Topic labels are interpretive model outputs; exact topic_id filters select assignments rather tha"},{"name":"get_field_distribution","description":"Rank exact metadata values, splitting pipe-separated tags. Reports missing metadata and optional coverage over time. Choose spatial for mentioned places, countr"},{"name":"get_cooccurrence","description":"Count pairs of metadata values co-tagged on the same items. Matrix/network views show descriptive associations, not causal links. Filters apply before pair coun"},{"name":"get_place_distribution","description":"Place tags joined to authority coordinates. Separates publication countries from mentioned places; missing geocodes are counted explicitly."},{"name":"get_semantic_map","description":"Stable-hash sample of matching stored embeddings, projected with PCA. Reports eligible, invalid, missing and capped counts, seed and explained variance. Group c"},{"name":"get_similar_items","description":"Nearest stored embeddings by cosine similarity, without an API key. Scores rank reading candidates; no threshold proves a reprint. Returns source IDs and dates "},{"name":"get_lexical_metrics","description":"Text length, lexical richness and readability by country/newspaper/year. Metrics are precomputed; readability is French-specific and excludes other languages. M"},{"name":"search_publications","description":"Search Islamic publications (periodical issues, books). `keyword` matches title, subject, table of contents, and full OCR text (TOC hits come back as matching_t"},{"name":"list_periodicals","description":"List the Islamic periodical/series titles in the publications subset, with issue counts and year ranges. Use the returned newspaper value as the `newspaper` fil"},{"name":"get_publication_fulltext","description":"Full OCR text of a publication in 25k-char parts (follow `next_offset`), or ~2000-char excerpts around keyword matches (accent-insensitive; capped: see match_co"},{"name":"search_references","description":"Search academic references (journal articles, book chapters, theses, books, reports) by keyword and metadata. `keyword` is a single substring match over title +"},{"name":"get_reference","description":"Full bibliographic record for one academic reference (by id), including the complete abstract (present for ~51% of references), subjects, DOI/URL, and host-work"},{"name":"search_documents","description":"Search the small archival-documents subset (~26 items: Islamic association reports, flyers, project documents — mostly Burkina Faso). Use French concept keyword"},{"name":"get_document","description":"Get one archival document (by id): full metadata, AI description, and OCR text, in 25k-char parts (follow `next_offset`). Pass a `keyword` to get ~2000-char exc"},{"name":"search_audiovisual","description":"Search audiovisual materials by keyword and metadata: francophone web video from Burkina Faso, Togo and Benin (TV reports, association and campus recordings), p"},{"name":"list_audiovisual","description":"List audiovisual materials, newest first (francophone web video from Burkina Faso, Togo and Benin; deposited Nigerian Hausa/Arabic recordings). Filter by countr"},{"name":"get_audiovisual","description":"Get one audiovisual record by id: full description and transcription (where one exists), creator/publishing channel, duration, medium, subjects, places, languag"},{"name":"search_images","description":"Search the IWAC photographs (30 items: mosques, radio stations, schools, signage and street scenes documented during fieldwork). Keyword matches title, creator,"},{"name":"get_image","description":"Get one photograph by id: title, photographer, capture date, place and coordinates, subjects, rights, the IIIF manifest, and the full-resolution `image_url`. Th"}],"package":null,"toolSurface":{"id":"ts_bpucd2wkmy43","endpointId":"ep_bqgbey5gzngh","hash":"3ec417a6e6980696606b3fc926083d75895bbb1cd3c17e384db50560d7c5890c","toolCount":35,"serverName":"iwac-mcp-server","serverVersion":"3.9.0","protocolVersion":"2025-06-18","firstSeenAt":"2026-10-06T13:28:00.952Z","lastSeenAt":"2026-10-10T17:27:57.402Z","observations":16,"toolNames":["search","fetch","explore_corpus","search_articles","get_article","search_by_sentiment","get_sentiment_distribution","search_index","get_index_entry","list_subjects","list_locations","list_persons","get_collection_stats","get_newspaper_stats","get_country_comparison","get_temporal_distribution","get_topic_distribution","get_field_distribution","get_cooccurrence","get_place_distribution","get_semantic_map","get_similar_items","get_lexical_metrics","search_publications","list_periodicals","get_publication_fulltext","search_references","get_reference","search_documents","get_document","search_audiovisual","list_audiovisual","get_audiovisual","search_images","get_image"],"distinctSurfaces":2},"endpointFacts":[{"id":"ep_bqgbey5gzngh","url":"https://islam.zmo.de/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-10-10T03:24:57.922Z","auth":{"observedAt":"2026-10-10T03:24:57.942Z","authRequired":false,"scheme":null,"resourceMetadata":null,"authorizationServer":null,"conformance":{"dpop":false,"rfc8414":false,"rfc9728":false,"pkceS256":false,"clientIdMetadataDocument":false,"dynamicClientRegistration":false}},"tls":{"observedAt":"2026-10-10T03:24:58.001Z","protocol":"TLSv1.2","chainValid":true,"chainError":null,"hostMatches":true,"subject":"*.zmo.de","issuer":{"commonName":"GEANT TLS ECC 1","organization":"Hellenic Academic and Research Institutions CA"},"validFrom":"2026-08-05T07:05:16.000Z","validTo":"2027-02-20T07:05:15.000Z","daysToExpiry":132,"sanCount":2,"fingerprint256":"B0:EB:26:C8:DC:D2:00:3E:69:A2:CC:46:54:99:02:29:91:9B:49:50:4C:AD:0D:AA:CC:D5:95:D2:FF:0E:75:1F"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"io.github.fmadore/iwac-mcp-server","url":"https://registry.modelcontextprotocol.io/v0/servers/io.github.fmadore%2Fiwac-mcp-server","firstSeenAt":"2026-09-06T14:17:56.607Z","fetchedAt":"2026-10-10T10:21:40.780Z","normalizedAt":"2026-10-10T10:21:40.780Z"}]},"firstSeenAt":"2026-09-06T14:17:56.607Z","updatedAt":"2026-10-10T17:31:10.419Z"}