list_datasets
List the loaded datasets with their release versions, coverage, licenses and how to cite them.
Takes no parameters.

io.github.hsoufPublished by GitHub account hsoufv0.1.0Updated Nov 2, 2026
WALS typology joined with Glottolog classification, with provenance and family-aware counts.
Read-only MCP server giving assistants grounded WALS typological data joined with Glottolog classification, with sources and family-aware counts.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Follow the launch instructions in the repository.
An MCP server that gives AI assistants grounded access to cross-linguistic data published in the CLDF format. Version 0.1 ships with:
Language models know WALS exists but are unreliable on specifics: which value a language has for feature 85A, or how many languages combine SOV order with prepositions. This server returns the actual data, with the release it came from and the reference behind it.
bsq is WALS's code for Basque and the ISO code for Bassa, so the server
asks instead of picking one. "No data" is never reported as "absent".Requires Python 3.11+ and uv (or pip).
Claude Code
Claude Desktop and other clients that use an mcpServers config:
On first use the server downloads the pinned releases (about 40 MB) and builds a local SQLite database (about 35 MB) in a few seconds. To do this ahead of time:
Then ask things like:
Resources:
cldf://guide/typology-caveats: how to use counts responsibly (sampling bias, areal effects,
coverage, citation). The server's instructions point the model to it.cldf://datasets: versions, licenses and citations of the loaded data.All tools are read-only and work offline once the data is prepared.
Other commands: cldf-mcp info (where data lives, whether it is current) and
cldf-mcp setup --force (rebuild).
Any CLDF StructureDataset whose languages carry Glottocodes can be loaded alongside WALS. Feature tools, family counting and cross-dataset filters work on it automatically:
The server code is MIT-licensed. The data is not part of this package: it is downloaded from the
original releases, which are licensed under CC-BY-4.0.
If you publish results obtained with this server, cite the datasets (see 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
This is an independent project and is not affiliated with the WALS, Glottolog or CLDF teams.
get_inventory, get_forms).See RELEASING.md for publishing to PyPI and the MCP Registry.
Source: README.md at commit cf08703
List the loaded datasets with their release versions, coverage, licenses and how to cite them.
Takes no parameters.
Find languages by name or code. Returns Glottocodes, family, macroarea and which dataset entries have data. Use this before other tools when a name might be ambiguous (e.g. 'Arabic' is a family; WALS has Arabic varieties). Candidates are ranked: exact codes, exact names, alternate names, then partial matches.
limitqueryrequiredSearch typological features by keyword. Returns feature IDs, names, possible values and how many languages are coded for each.
limitqueryrequireddatasetDescribe one feature: definition, chapter and authors, and how its values are distributed, counted by languages, families and genera.
familysamplefeaturerequiredmacroareaby_macroareaLook up specific datapoints: the value of each feature for each language, with sources, comments and full citations. Unresolvable names are reported in 'errors' with candidates instead of failing the call. When several dataset entries share a Glottocode (e.g. Basque and Basque dialects), the main entry is used and the others are listed; pass a dataset ref like 'wals:bso' to pick a specific one.
featuresrequiredlanguagesrequiredEverything known about one language: Glottolog identity, classification, endangerment and description status, plus all its feature values per dataset.
limitdatasetlanguagerequiredFind languages matching feature conditions, e.g. SOV order AND postpositions. Returns match counts against the number of languages coded for all conditions (the denominator), with family and genus counts and the families contributing most matches, plus the matching languages.
limitfamilysamplemacroareaconditionsrequiredCross-tabulate two features over the languages coded for both. Each cell gives languages, families and genera attesting the combination and the share of its largest family, so you can tell a cross-linguistic tendency from the signature of one big family. Use this to check implicational universals.
familysamplefeature_arequiredfeature_brequiredmacroareaby_macroareaGlottolog classification of a language or group: lineage, children (with how many dataset entries fall under each), sisters, and the number of languages below.
languagerequiredmax_childrenFull bibliographic references for source IDs cited in datapoints.
datasetsource_idsrequired90% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
claude mcp add cldf -- uvx cldf-mcp{ "mcpServers": { "cldf": { "command": "uvx", "args": ["cldf-mcp"] } }}uvx cldf-mcp setup# 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.tomlgit clone https://github.com/hsouf/cldf-mcp && cd cldf-mcppython -m venv .venv && . .venv/bin/activatepip install -e ".[dev]"pytest # offline tests on small fixtures (tests/fixtures)pytest -m network # downloads the real pinned releases and checks known WALS countsruff check src tests && ruff format --check src tests