cldf-mcp について
cldf-mcpは、WALSやGlottologを含むCLDF形式の類型論・言語分類データを、根拠付きでAIアシスタントに提供します。出典付きデータ、語族別集計、オフラインでの読み取り専用クエリを必要とする研究者などを対象とします。
主な機能
- 01WALSの類型論的特徴を検索
- 02言語プロファイルと分類を参照
- 03言語の絞り込みと特徴のクロス集計
- 04語族・語群単位で結果を集計
- 05出典、リリース、引用情報を提示
- 06データ準備後のオフライン読み取り専用ツール
活用シーン
- 01言語間で類型論的特徴を比較
- 02傾向が複数の語族にまたがるか確認
- 03出典付きの言語データを取得
- 04Glottologの系統と収録範囲を調査
MCP 対応
読み込まれたCLDFデータセットを照会する読み取り専用ツールとリソースを提供します。stdioとStreamable HTTPのトランスポートに対応します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
10掲載時のツール一覧 · 4 日前に更新
このツールにパラメーターはありません。
詳細
cldf-mcp
CLDF 形式で公開されている言語横断的なデータに、AI アシスタントが根拠に基づいてアクセスできるようにする MCP サーバーです。バージョン 0.1 には、次のデータが含まれています。
- WALS(World Atlas of Language Structures):2,660 言語を対象とした 192 の類型的特徴(語順、音韻、形態論など)。すべてのデータポイントに出典が付いています。
- Glottolog:約 27,000 の言語単位、その系統分類、別名、危機状況、記述状況を収録した世界のカタログです。
言語モデルは WALS の存在を知っていますが、特定の情報については信頼性に欠けます。たとえば、ある言語が特徴 85A でどの値を持つのか、あるいは SOV 語順と前置詞を併用する言語がいくつあるのか、といった情報です。このサーバーは、データのリリースとその根拠となる参考文献を添えて、実際のデータを返します。
単なる検索表とは異なる点
- 系統を考慮した集計。 関連する言語は特徴を共有するため、「400 言語が X を使う」という数字は、「3 つの大きな語族が X を使う」という意味かもしれません。すべての集計には、異なる語族(Glottolog に基づく)と WALS の属の数、および最大語族が占める割合が含まれるため、モデルは言語横断的な傾向と単一系統の特徴を見分けられます。WALS の、100 言語と 200 言語を対象とした均衡の取れたサンプルもフィルターとして利用できます。
- あらゆる情報に出典を明記。 各回答にはデータセット、リリース、引用文献が示され、データポイントには書誌情報とページ番号が付いています。
- 黙って推測することはありません。
bsqは WALS ではバスク語、ISO コードではバッサ語を指すため、サーバーはどちらなのかを尋ねます。「データなし」を「該当なし」として報告することはありません。 - バージョンを固定し、検証済みのデータ。 データセットはタグ付きリリースから取得され、読み込み前に SHA-256 チェックサムで検証されます。
クイックスタート
Python 3.11 以降と uv(または pip)が必要です。
Claude Code
claude mcp add cldf -- uvx cldf-mcp
Claude Desktop および mcpServers 設定を使用するその他のクライアント:
{
"mcpServers": {
"cldf": {
"command": "uvx",
"args": ["cldf-mcp"]
}
}
}
初回の使用時に、サーバーはバージョンが固定されたリリース(約 40 MB)をダウンロードし、ローカルの SQLite データベース(約 35 MB)を数秒で構築します。あらかじめ実行するには、次のようにします。
uvx cldf-mcp setup
その後、次のような質問をしてみてください。
- WALS で SOV 語順かつ前置詞を使う言語はどれですか? それらは複数の語族に分布していますか?
- 「VSO は前置詞を伴う」というのは実際の傾向ですか? WALS の 200 言語サンプル内で確認してください。
- バスク語の語順に関する特徴を、出典付きで教えてください。
- WALS はオーストロネシア語族をどのようにカバーしていますか? 最も多くのデータがある分派はどれですか?
ツール
| ツール | 機能 |
|---|---|
list_datasets | 読み込まれたデータセット、リリースバージョン、対象範囲、ライセンス、引用情報 |
find_language | 言語名(別名や誤記を含む)、ISO 639-3 コード、Glottocode、データセットコード → 系統、大語族域、データのある項目を含む候補を順位付けして表示 |
search_features | 特徴名、章、値ラベルをキーワード検索 → 特徴 ID と候補値を表示 |
get_feature | 定義、章、著者、言語・語族・属ごとに集計した値の分布。大語族域、語族/下位語族、WALS サンプルによる絞り込みも可能 |
get_values | 言語 × 特徴の表。値、コメント、出典、完全な引用情報を表示。解決できない名前は、呼び出しを失敗させず候補とともに報告 |
language_profile | ある言語の全情報:Glottolog の ID、系統、危機度、記述状況、すべての特徴値 |
filter_languages | データセットをまたいで、最大 8 つの条件(AND、exclude を含む)に一致する言語を表示。すべての条件にコードがある言語の分母と語族ごとの件数も表示 |
crosstab | 2 つの特徴をクロス集計:セルごとの言語、語族、属、最大語族の割合。値が 0 のセルも表示し、大語族域ごとの内訳も指定可能 |
classification | Glottolog の系統、子分類(各分類に属するデータセット項目数を含む)、姉妹分類 |
get_source | データポイントで引用されている出典 ID の完全な書誌情報 |
リソース:
cldf://guide/typology-caveats:件数を適切に利用する方法(サンプリングの偏り、地域的影響、対象範囲、引用)。サーバーの指示でモデルにこのリソースを参照させます。cldf://datasets:読み込まれたデータのバージョン、ライセンス、引用情報。
すべてのツールは読み取り専用で、データの準備後はオフラインで動作します。
設定
| 設定 | デフォルト |
|---|---|
--data-dir / CLDF_MCP_DATA_DIR | ~/.cache/cldf-mcp(Linux)、~/Library/Caches/cldf-mcp(macOS)、%LOCALAPPDATA%\cldf-mcp(Windows) |
--config / CLDF_MCP_CONFIG | なし:データセットを追加または上書きする追加の TOML(試験的機能。下記を参照) |
--transport | stdio。リモート利用では --host / --port とともに streamable-http を指定 |
その他のコマンド:cldf-mcp info(データの保存場所と最新状態かどうかを表示)および
cldf-mcp setup --force(再構築)。
データセットの追加(試験的機能)
言語に Glottocode が付与された CLDF StructureDataset は、WALS とともに読み込めます。特徴ツール、語族の集計、データセット間のフィルターは自動的に機能します:
# my-datasets.toml
[datasets.mydata]
title = "My typological survey"
role = "features"
version = "v1.0"
base_url = "https://raw.githubusercontent.com/me/mydata/v1.0/cldf/" # or: local_path = "/path/to/cldf"
metadata = "StructureDataset-metadata.json"
license = "CC-BY-4.0"
citation = "Me. 2026. My typological survey."
[datasets.mydata.files] # every file the loader needs, with optional sha256 checksums
"StructureDataset-metadata.json" = ""
"languages.csv" = ""
"parameters.csv" = ""
"codes.csv" = ""
"values.csv" = ""
cldf-mcp setup --config my-datasets.toml
データ、ライセンス、引用
サーバーのコードは MIT ライセンスです。データはこのパッケージに含まれておらず、元のリリースからダウンロードされます。データは CC-BY-4.0 ライセンスです。このサーバーで得た結果を公開する場合は、データセットを引用してください(DATA_LICENSES.md を参照):
Dryer, Matthew S. & Haspelmath, Martin (eds.) 2013. The World Atlas of Language Structures Online. Leipzig: Max Planck Institute for Evolutionary Anthropology. https://wals.info (CLDF release v2020.6)
Hammarström, Harald & Forkel, Robert & Haspelmath, Martin & Bank, Sebastian. 2026. Glottolog 5.3. Leipzig: Max Planck Institute for Evolutionary Anthropology. https://glottolog.org
このプロジェクトは独立したものであり、WALS、Glottolog、CLDF の各チームとは関係ありません。
制限事項
- WALS はおよそ 2013 年までの文献を反映しており、大半の特徴は数百言語についてのみコード化されています。割合の分母はコード化された言語であり、世界の全言語ではありません。
- 語族の集計は、提案されている大語族(例:Altaic)を認めていない Glottolog に基づきます。Glottocode のない 17 の WALS 言語のうち、10 言語は WALS の語族名または属名を通じて Glottolog の語族に対応付けられています。残りの 7 言語には WALS 独自のラベル(例:「Niger-Congo」)が付けられています。
- Glottolog の完全な文献目録は同梱されていません。出典はリンクとして返されます。
ロードマップ
- 0.2: Grambank。WALS と初めて重複するデータセットで、関連する特徴を並べて比較できます。
- 0.3: PHOIBLE の音素目録と Lexibank の単語リスト
(
get_inventory、get_forms)。
開発
git clone https://github.com/hsouf/cldf-mcp && cd cldf-mcp
python -m venv .venv && . .venv/bin/activate
pip install -e ".[dev]"
pytest # offline tests on small fixtures (tests/fixtures)
pytest -m network # downloads the real pinned releases and checks known WALS counts
ruff check src tests && ruff format --check src tests
PyPI と MCP Registry への公開については、RELEASING.md を参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。