プロトタイプ · プレビュー版:公式レジストリのすべてのサーバーを掲載し、30分ごとに同期しています。レビューとアカウント機能は今後のステップで始まります。
PopNx MCPAIを使う人のためのMCPサーバー · やさしい言葉で解説

Islam West Africa Collection (IWAC)

作者:fmadoreバージョン 6.0.0i★ –iパソコンでもクラウドでも
レジストリ名io.github.fmadore/iwac-mcp-server

インストール

概要

作者による説明(英語の原文)

Read-only access to the Islam West Africa Collection via Hugging Face datasets.

PopNx MCPの3つの柱

この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。

できること

このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。

  • 接続方法: パソコンでもクラウドでも
  • トランスポート: stdio, Streamable HTTP
  • カテゴリ: 検索・AIの記憶

インストール

使っているAIアプリを選んで、設定をコピーしてください。

インストールの前に

必要なもの

どのアプリを使っていますか?

上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。

ウェブ、デスクトップ、モバイルのClaudeで使えます:

  1. Settings → Connectors を開く
  2. Add custom connector を押す
  3. 下のアドレスを貼り付けて Add を押す
  4. サインインを求められたら、作者のサービスにサインインする
SettingsConnectors1+ Add2https://…3
https://islam.zmo.de/mcp/

作者の .mcpb ファイルをダウンロード

リンク先は作者自身のファイルです。私たちが置いたり再パッケージしたりしたものではありません。ファイルを開くと、Claude Desktopがインストールします。

ターミナルでこれを実行します

claude mcp add --transport http iwac https://islam.zmo.de/mcp/

Cursorで開く

または、設定を自分でコピーする

プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます

{
  "mcpServers": {
    "iwac": {
      "url": "https://islam.zmo.de/mcp/"
    }
  }
}

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

VS Codeで開く

または、設定を自分でコピーする

プロジェクトの .vscode/mcp.json に貼り付けます

{
  "servers": {
    "iwac": {
      "type": "http",
      "url": "https://islam.zmo.de/mcp/"
    }
  }
}

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

ChatGPTがつなげるのは、インターネット上のサーバーだけです:

  1. ウェブ版のChatGPTを開き → Settings → Connectors (Apps)
  2. Create または Add を押す(プランによっては、先に Advanced で Developer mode をオンにする必要があります)
  3. 下のアドレスを貼り付け、名前を付けて保存する
  4. サインインを求められたら、作者のサービスにサインインする
SettingsConnectors1+ Create2https://…3
https://islam.zmo.de/mcp/

メニューの名前は、プランや時期によって少し違うことがあります。

選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。

この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。

できること

ツールの名前と説明は、サーバーが2026年11月6日に返したそのままの内容です。書いたのは作者で、私たちではありません。プレーンテキストとして表示しています。

  • search

    Search the Islam West Africa Collection across newspaper articles, Islamic publications, archival documents, academic references, audiovisual recordings, photographs, and the authority index (persons/places/organisations/events/subjects). Pass ONE concept or name — e.g. 'Tijaniyy

  • fetch

    Retrieve the full text and metadata of one IWAC item by an id returned from `search` (format ' : ', e.g. 'articles:28576'). Returns {id, title, text, url, metadata}: `text` is the item's OCR / abstract / transcription / description, `url` is the canonical islam.zmo.de link to cit

  • explore_corpus

    Selection workbench: items, concordance, coverage, compare (requires comparison), attention, aliases, or paginated manifest/CSL-JSON/BibTeX exports. Exact filters intersect. limit/offset also page compare/coverage/attention cells. Coverage measures archive availability. Exports i

  • search_articles

    Search IWAC newspaper articles by keyword (title + OCR + AI abstracts, French and English), country, newspaper, subject, and date range. Use French concept keywords regardless of the user's report language. Matching is accent- and case-insensitive.

  • get_article

    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` to get ~2000-char excerpts around each match instead.

  • semantic_search_articles

    Semantic search over article title + full text, including articles whose OCR is not public. Query in any language. Runs the corpus model, EmbeddingGemma 2, locally with no API key (first use downloads ~350 MB). similarity_score only ranks within one query.

  • search_by_sentiment

    Filter articles by claude-haiku-5-5 sentiment labels (accent/case-insensitive exact match). One model's reading, not a consensus — 5 other models scored the same articles and often disagree; get_sentiment_distribution with model:"all" shows by how much. `subjectivity` is much the

  • get_sentiment_distribution

    Aggregate AI labels over a shared selection. model:"all" compares independent annotators and their coverage; model:"consensus" reads the stored panel majority. Choose compare_models and agreement_field for pairwise Cohen's kappa and quadratic weighted kappa, with explicit denomin

  • search_index

    Search the IWAC authority index (persons, places, organisations, events, subjects) by name. Accent/case-insensitive.

  • get_index_entry

    Get full details of an index entry by id (raw dataset columns, French names — Titre, Prénom, Coordonnées…).

  • list_subjects

    List sujets from the IWAC index, sorted by frequency (most-referenced first).

  • list_locations

    List lieux from the IWAC index, sorted by frequency (most-referenced first). The optional 'country' filter selects entries that APPEAR IN records from that country (mentioned-in, not located-in), ranked by collection-wide 'frequency' — so foreign and cross-border entries can appe

  • list_persons

    List personnes from the IWAC index, sorted by frequency (most-referenced first). The optional 'country' filter selects entries that APPEAR IN records from that country (mentioned-in, not located-in), ranked by collection-wide 'frequency' — so foreign and cross-border entries can

  • get_collection_stats

    Overall statistics for every IWAC subset, including `fulltext_coverage` — how many items in each subset actually carry searchable full text in this dataset. Read that before treating any keyword count as a full-text census.

  • get_newspaper_stats

    Per-newspaper article counts and date ranges.

  • get_country_comparison

    Compare article counts, newspaper counts, date ranges, and claude-haiku-5-5 polarity across countries.

  • get_temporal_distribution

    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 returns numerator counts and per-bucket denominators in the same country/outlet/date scope, removing thematic filters. Sha

  • get_topic_distribution

    Counts of offline LDA topic assignments, optionally over time. Topic labels are interpretive model outputs; exact topic_id filters select assignments rather than keyword matches. Reports unclassified coverage.

  • get_field_distribution

    Rank exact metadata values, splitting pipe-separated tags. Reports missing metadata and optional coverage over time. Choose spatial for mentioned places, country for stored country tags, or subject/author/language.

  • get_cooccurrence

    Count pairs of metadata values co-tagged on the same items. Matrix/network views show descriptive associations, not causal links. Filters apply before pair counting; top_n caps the vocabulary.

  • get_place_distribution

    Place tags joined to authority coordinates. Separates publication countries from mentioned places; missing geocodes are counted explicitly.

  • get_semantic_map

    Stable-hash sample of matching stored embeddings, projected with PCA. Reports eligible, invalid, missing and capped counts, seed and explained variance. Group counts describe the sample. Coordinates are chart-only; this is not the published UMAP landscape. Needs no API key.

  • get_similar_items

    Nearest stored embeddings by cosine similarity. Articles and documents lead with the dataset's published top 10. Scores run high (unrelated ~0.7) and rank reading candidates; >= 0.97 suggests a near-duplicate, but no threshold proves a reprint. Returns source IDs and dates. Corpu

  • get_lexical_metrics

    Text length, lexical richness and readability by country/newspaper/year. Metrics are precomputed; readability is French-specific and excludes other languages. Missing values are disclosed. Compare distributions as descriptive evidence.

  • search_publications

    Search Islamic publications (periodical issues, books). `keyword` matches title, subject, table of contents, and full OCR text (TOC hits come back as matching_toc_entries); use French concept keywords regardless of the user's report language. Filter by newspaper/series, subject,

  • list_periodicals

    List the Islamic periodical/series titles in the publications subset, with issue counts and year ranges. Use the returned newspaper value as the `newspaper` filter on search_publications.

  • get_publication_fulltext

    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_count vs excerpts_returned).

  • semantic_search_publications

    Semantic search over publication tables of contents, present for ~40% of issues (none for An-Nasr Vendredi, 130 of 695 Islam Info issues): use search_publications for the rest. Rows show the first 600 characters of each table. Query in any language. Runs the corpus model, Embeddi

  • search_references

    Search academic references (journal articles, book chapters, theses, books, reports) by keyword and metadata. `keyword` requires every word in the title + abstract ("quote" a phrase). References are multilingual: try French and English title/abstract keywords when relevant; metad

  • get_reference

    Full bibliographic record for one academic reference (by id), including the complete abstract (present for ~51% of references), subjects, DOI/URL, and host-work details (book, volume, issue, pages).

  • semantic_search_references

    Semantic search over academic references by title + abstract, across languages. Only references with an abstract (about half) are covered; use search_references for the rest. Runs the corpus model, EmbeddingGemma 2, locally with no API key (first use downloads ~350 MB). similarit

  • search_documents

    Search the small archival-documents subset (~26 items: Islamic association reports, flyers, project documents — mostly Burkina Faso). Use French concept keywords regardless of the user's report language. Most have OCR text and an AI description. Call with no arguments to list all

  • get_document

    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 excerpts around each match instead, useful for long documents.

  • search_audiovisual

    Search audiovisual materials by keyword and metadata: francophone web video from Burkina Faso, Togo and Benin (TV reports, association and campus recordings), plus deposited Nigerian Hausa/Arabic recordings. Keyword matches title, creator, publisher, subject, spatial, language, s

  • list_audiovisual

    List audiovisual materials, newest first (francophone web video from Burkina Faso, Togo and Benin; deposited Nigerian Hausa/Arabic recordings). Filter by country, publishing channel or `source_type`.

  • get_audiovisual

    Get one audiovisual record by id: full description and transcription (where one exists), creator/publishing channel, duration, medium, subjects, places, language, rights, source, and three distinct links: `url` (the IWAC page, the one to cite), `external_url` (where a harvested v

  • search_images

    Search the IWAC photographs (30 items: mosques, radio stations, schools, signage and street scenes documented during fieldwork). Keyword matches title, creator, subject, place and the rare caption. Each result carries `image_url` (the full-resolution file), `coordinates` ('lat, l

  • get_image

    Get one photograph by id: title, photographer, capture date, place and coordinates, subjects, rights, the IIIF manifest, and the full-resolution `image_url`. The server returns URLs, not image bytes.

  • semantic_search_images

    Find photographs by describing what they SHOW, in any language ('mosquée en construction', 'street signage in Arabic'). This is cross-modal: the ranking runs against a multimodal embedding of the photograph itself, not against a caption, so it works even though only 2 of the 30 i

基本チェックi

誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月7日にチェック

  • ✓ 合格

    作者とリポジトリが一致

    レジストリ名は、リポジトリを所有するGitHubアカウント fmadore で確認済みです

  • … 未チェック

    今もメンテナンスされている

    このリポジトリはまだGitHubから読み取っていません

  • … 未チェック

    ライセンスがある

    このリポジトリはまだGitHubから読み取っていません

  • ✓ 合格

    エンドポイントが応答する

    222ミリ秒で応答(HTTP 200)

  • – 対象外

    OAuthでサインイン

    サインイン不要

  • ✓ 合格

    ツールの説明に隠れた指示がない

    39件のツールの説明を読み、AIへの隠れた指示は見つかりませんでした

検索・AIの記憶のほかのサーバーとの比較i

  • このカテゴリのほかの7270件のうち0%よりスターが多い
  • このカテゴリのほかの7270件のうち87%より最近レジストリに公開
  • 基本チェックの結果が、このカテゴリのほかの7270件のうち100%と同じかそれ以上

レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。

よくある質問

Islam West Africa Collection (IWAC)は安全ですか?

当てはまる基本チェック3項目のうち3項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。

どんなキーやコードが必要ですか?

レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。

パソコンで動きますか、それともクラウドですか?

どちらでも使えます。パソコンにインストールしても、クラウド版につないでもかまいません。

今もメンテナンスされていますか?

GitHubリポジトリの最終更新は–、最新バージョン(6.0.0)がレジストリに届いたのは5 日前です。

どのアプリで使えますか?

Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。URLでつながるので、リモートMCPサーバーに対応したアプリ(開発者モードのChatGPTなど)でも使えます。

代わりに使えるものは?

同じカテゴリには:Context7, Codebase Memory, Exa

代わりの候補

同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。

カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i

Context7

作者:upstash

Up-to-date docs for AI agents

パソコンでもクラウドでも★ 64,224MIT昨日更新
インストール

Codebase Memory

作者:DeusData

Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.

パソコンで動く★ 48,148MIT21 日前更新
インストール

Exa

作者:exa-labs

Connect AI agents to Exa for web search, content fetching, and multi-step research.

クラウドで動く★ 5,213MIT先月更新
インストール

作者のREADME

READMEを開く

作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。

IWAC MCP Server

A read-only Model Context Protocol server for the Islam West Africa Collection (IWAC). Ships as a one-click Desktop Extension (.mcpb) for Claude Desktop, backed by the IWAC Hugging Face dataset. Also available as a hosted endpoint at https://islam.zmo.de/mcp/ for ChatGPT and other MCP clients — see docs/connecting.md for the full connection walkthrough (Claude Desktop and ChatGPT).

Install

Each release ships a server bundle for your operating system plus a research-skill .zip. The .mcpb gives Claude the data and tools; the .zip adds a research skill that teaches Claude *how* to use them. Install the server first, then install the skill too — strongly recommended for getting the most out of the tools: it makes Claude search and synthesize far more efficiently, with fewer wasted queries.

1. The MCP server — pick the bundle for your OS
Your OSDownload
Windows (Intel/AMD or Snapdragon)iwac-mcp-server-windows.mcpb
macOS (Apple Silicon or Intel)iwac-mcp-server-macos.mcpb
  1. Download the latest bundle for your OS using the links above.
  2. Double-click the file. Claude Desktop shows an install dialog — click Install.
  3. On first use the server downloads ~265 MB of parquet data from Hugging Face into ~/.iwac-mcp/cache/ (override in the extension settings).

The bundle contains the server and DuckDB binaries for your OS (x64 and arm64). Claude Desktop supplies the Node.js runtime, so no separate Node.js or Python installation is needed. We publish desktop bundles for Windows and macOS.

Extension settings and updates

Open Settings → Extensions → Islam West Africa Collection (IWAC) in Claude Desktop to configure these options:

FeatureCredentialsSettings
Public keyword search, filters, statistics, and item detailsNoneDefault.
Semantic searchNoneOn by default (Semantic search). The first semantic search downloads the query model once (~350 MB); turn the setting off to skip it.
Private full textHugging Face token authorized to read the private datasetEnable Use private full dataset and enter Hugging Face token (private dataset only).

Semantic search runs EmbeddingGemma 2, the model the corpus vectors were made with, on your own machine: no API key, and no query leaves your computer. It needs Windows (x64 or ARM64, with the Microsoft Visual C++ 2015-2022 Redistributable that most PCs already have) or an Apple-silicon Mac; on an Intel Mac the semantic tools report that they cannot run, and everything else works. The shared hosted endpoint serves public data.

Updating: download and open the latest bundle for your OS to update the extension. If the Hugging Face fields are missing, your installed extension may predate v3.6.0. After updating, review the settings, save any changes, and restart Claude Desktop.

Optional private full-text access

Public data remains the default and needs no token. In the desktop extension, enable Use private full dataset, enter the Hugging Face token (private dataset only), save the settings, and restart. Use a fine-grained token with read access to fmadore/islam-west-africa-collection-full. The token field is marked sensitive. Never paste your token into a chat or commit it.

Other local launchers can set IWAC_PRIVATE_DATASET=true and provide IWAC_HF_TOKEN (or HF_TOKEN). A token alone does not enable private mode; public downloads do not send it. No new dependency or account system is needed.

Private files use a separate private-full/ subdirectory of IWAC_CACHE_DIR (default: ~/.iwac-mcp/cache). Restart after changing modes. Missing tokens and private HTTP 401/403/404 errors fail without cache fallback. Network outages may use that mode's cache. Explicit IWAC_OFFLINE=true uses downloaded files without authentication; removing a token does not erase private files.

Keep the shared hosted endpoint public. This setting applies to the whole instance: everyone who can query a private instance can access its full text. HTTP mode therefore refuses to start in private mode unless IWAC_ALLOW_PRIVATE_HTTP=true is also set, and both transports log which dataset they serve at startup.

2. The research skill — iwac-mcp-skill.zip (strongly recommended)

The iwac-mcp skill wraps the raw tools in a structured research workflow: a five-phase methodology, francophone search strategy, source attribution with confidence grading, and bias/coverage caveats. It makes the server far more efficient to use — Claude picks the right tool and search terms on the first pass (fewer wasted queries), searches French sources properly, and returns a cited synthesis instead of a raw tool dump. You can run the tools without it, but you'll get more out of every query with it installed.

Download the latest iwac-mcp-skill.zip, then:

  • Claude Desktop — open Customize → Skills → + → Create skill → Upload a skill and select the zip. (Or unzip it into ~/.claude/skills/ and restart Claude Desktop.)
  • Claude Code — unzip it into your skills directory; Claude Code discovers it live, no restart needed:
  # macOS / Linux

unzip iwac-mcp-skill.zip -d ~/.claude/skills/

  # Windows (PowerShell)

Expand-Archive iwac-mcp-skill.zip -DestinationPath $HOME\.claude\skills\

Both land the skill at ~/.claude/skills/iwac-mcp/. The repository source of truth is .agents/skills/iwac-mcp/; keep project-local copies there rather than duplicating the same skill under .claude/.

Installing it this way is still worth doing: an installed skill is matched against your question automatically, before any tool is called.

The server also serves the skill (skill://)

Every build embeds the research skill, including the Docker image, and serves it through the MCP SDK's implementation of the Skills extension (SEP-2640, io.modelcontextprotocol/skills). Clients supporting it discover the skill through skills/list and skills/get, browse it with resources/directory/read, and check every file they read against the manifest's SHA-256 digests. Clients without the extension see every file in resources/list, each with a title and a one-line summary, and read it with ordinary resources/read:

ResourceContent
skill://iwac-mcp/SKILL.mdResearch workflow
skill://iwac-mcp/references/…Four reference files, read on demand
skill://iwac-mcpThe skill's directory, for resources/directory/read

The bare skill://iwac-mcp URI is a directory, no longer the JSON catalogue that releases up to v4.1.0 served there; skills/list carries the same sizes and digests. Skill content is a build-time snapshot; editing the source requires a rebuild. The release zip remains available for clients that install skills locally. Remote clients can read the same workflow without downloading a release artifact.

What it gives Claude

39 read-only tools across seven IWAC subsets, none of which needs an API key. The 4 semantic_search_* tools can be turned off; they rank with EmbeddingGemma 2 run locally (see mcpb/README.md). All keyword and filter matching is accent- and case-insensitive. The unified search/fetch pair, the stats tools, the aggregates, list_periodicals, and get_sentiment_distribution also return MCP structured content (outputSchema + structuredContent), which the ChatGPT connector contract requires.

The tool contract, as of v5.0.0:

  • One keyword rule. Every search and aggregate requires every word of a keyword, in any order; a "quoted phrase" must occur as written, and keyword_mode: "literal" keeps the single-substring match of earlier releases. A one-word keyword is unchanged.
  • Strict arguments. An unknown argument name is an error, never an unfiltered search; strings are bounded at 2,000 characters.
  • Coded errors. Every error carries a stable code (invalid_argument, not_found, unavailable, data_error) beside its message.
  • Self-explaining empty results. A filtered list that matches nothing says so (hint), and the article, publication and reference searches suggest close stored subject and newspaper values (did_you_mean). Pages stop early at ~40,000 characters (response_limited, with an exact next_offset).
  • Linked exports. explore_corpus with link: true returns one iwac://export/… resource link holding a whole selection (up to 5,000 items) as a manifest, CSL-JSON or BibTeX file, instead of 50-item pages in the conversation.
  • Compact provenance. The model reads the snapshot id, revision, access mode and subsets; file identities stay in _meta and iwac://datasets/{subset}.
  • Profiles. IWAC_TOOL_PROFILE=core|analysis|search serves a smaller tool surface for hosts that pay for every definition on every turn; the instructions name only the tools a profile registers.
GroupTools
Cross-subsetsearch, fetch, explore_corpus
Articlessearch_articles, get_article, semantic_search_articles
Sentimentsearch_by_sentiment, get_sentiment_distribution
Indexsearch_index, get_index_entry, list_subjects, list_locations, list_persons
Statsget_collection_stats, get_newspaper_stats, get_country_comparison, get_temporal_distribution
Aggregatesget_topic_distribution, get_field_distribution, get_cooccurrence, get_lexical_metrics, get_place_distribution, get_semantic_map, get_similar_items
Publicationssearch_publications, list_periodicals, get_publication_fulltext, semantic_search_publications

| References | search_references, get_reference, `seman

冒頭だけを表示しています。続きはリポジトリで読めます

PopNxに聞く