Skip to main content
Glama
model-family-tree

model-family-tree

by h9-tec

Fly through the Model Galaxy → · 967,694 models in one zoomable WebGL map · Explorer → · search any model, walk its pedigree, share a link.

Open Model Family Tree

Every model on the Hugging Face Hub, its ancestry, and a leaderboard of the base models the ecosystem actually builds on. Rebuilt nightly.

Models Links Updated Stars License: MIT

3,218,866 models · 921,536 declare a base model (29%) · 954,781 parent links · 91,142 models have descendants · 46,120 roots in 24,638 families

The most built-on model on the Hub is black-forest-labs/FLUX.1-dev with 43,722 descendants. In the last 90 days it is Qwen/Qwen3.8-27B with 5,545 new ones. The biggest family is Qwen2.5 (71,238).

Install into your agent

claude plugin marketplace add h9-tec/model-family-tree
claude plugin install model-family-tree@model-family-tree

Requires uv on PATH. Then ask Claude: what is unsloth/Qwen2.5-7B-Instruct based on, and which Qwen base has the most finetunes? It answers from the lineage and leaderboard MCP tools.

{"mcpServers": {"model-family-tree": {"command": "uv", "args": ["run", "--frozen", "--no-dev", "--directory", "/path/to/model-family-tree", "python", "mcp/server.py"]}}}

Tools: lineage(id), children(id), leaderboard(kind), family(name), search(query).

Related MCP server: Dev AI Ecosystem MCP

See it

Galaxy

Every model that has an ancestor or a descendant (967,694 points) in one WebGL map. Families are circle-packed clusters, base models are stars, each derivative is a dot colored by relation and sized by downloads. Scroll to zoom from the whole Hub down to one model, click any dot.

Explorer

Type any model id. Its pedigree is drawn as a radial tree: every ancestor path fans out to the left (merges show all parents), the most downloaded descendants to the right, unfoldable level by level, live from the Hub.

Leaderboard

All 91,142 models with descendants, sortable and filterable, plus the curated views below.

Most-descended base models

Unique descendants of every kind: finetunes, adapters (LoRA), quantizations and merges, each counted once however many paths reach it. † marks a base that was deleted or made private but is still referenced. Full top 500 →

#

Model

Descendants

Direct

Last 90d

Finetune / adapter / quantized / merge

Family

1

black-forest-labs/FLUX.1-dev

43,722

43,443

235

692 / 42,877 / 137 / 16

FLUX.1

2

Qwen/Qwen1.5-0.5B

32,564

32,534

0

41 / 32,475 / 46 / 2

Qwen1.5

3

Qwen/Qwen1.5-1.8B

30,658

30,628

2

36 / 30,591 / 29 / 2

Qwen1.5

4

google/gemma-2b

24,117

24,037

8

311 / 23,706 / 89 / 11

Gemma 1

5

Qwen/Qwen2.5-7B

23,161

2,088

2,380

12,056 / 6,972 / 3,542 / 591

Qwen2.5

6

meta-llama/Llama-3.1-8B

21,772

3,275

2,110

9,619 / 6,158 / 5,148 / 847

Llama 3.1

7

meta-llama/Llama-3.1-8B-Instruct

15,329

7,401

1,508

6,916 / 4,083 / 3,615 / 715

Llama 3.1

8

Qwen/Qwen2.5-7B-Instruct

14,695

6,768

1,778

8,536 / 3,946 / 1,804 / 409

Qwen2.5

9

distilbert/distilbert-base-uncased

13,714

13,332

738

13,163 / 398 / 152 / 1

DistilBERT

10

mistralai/Mistral-7B-v0.1

11,622

4,017

72

2,983 / 5,192 / 2,067 / 1,365

Mistral

11

stabilityai/stable-diffusion-xl-base-1.0

11,566

11,080

218

1,423 / 10,034 / 55 / 54

Stable Diffusion

12

Qwen/Qwen3-4B-Instruct-2507

11,384

9,035

1,664

3,604 / 6,577 / 1,112 / 91

Qwen3

13

Qwen/Qwen2.5-1.5B

11,285

1,078

1,819

5,116 / 4,230 / 1,776 / 163

Qwen2.5

14

meta-llama/Meta-Llama-3-8B

10,284

1,730

73

4,210 / 2,074 / 3,012 / 988

Llama 3

15

HuggingFaceTB/SmolLM2-360M

9,990

204

1,655

9,001 / 624 / 360 / 5

SmolLM2

16

google/gemma-7b

9,857

9,587

6

456 / 9,296 / 97 / 8

Gemma 1

17

Qwen/Qwen2.5-0.5B

9,834

1,389

1,116

6,086 / 2,331 / 1,360 / 57

Qwen2.5

18

Qwen/Qwen3-8B-Base

9,832

887

2,009

4,908 / 3,010 / 1,841 / 72

Qwen3

19

HuggingFaceTB/SmolLM2-360M-Instruct

9,520

408

1,614

8,837 / 392 / 286 / 5

SmolLM2

20

HuggingFaceTB/SmolVLM-500M-Instruct

8,807

93

1,489

8,588 / 153 / 66 / 0

SmolLM2

21

Qwen/Qwen2.5-3B

8,727

1,138

1,272

3,909 / 3,181 / 1,552 / 85

Qwen2.5

22

HuggingFaceTB/SmolVLM2-500M-Video-Instruct

8,705

132

1,470

8,553 / 122 / 30 / 0

SmolLM2

23

lerobot/smolvla_base

8,569

8,506

1,450

8,459 / 104 / 6 / 0

SmolLM2

24

Qwen/Qwen3-8B

8,136

5,274

1,567

3,762 / 2,787 / 1,518 / 68

Qwen3

25

meta-llama/Llama-3.2-3B-Instruct

7,568

3,509

521

3,946 / 1,604 / 1,866 / 152

Llama 3.2

Hot right now: new descendants in the last 90 days

Full top 500 →

#

Model

Descendants

Direct

Last 90d

Finetune / adapter / quantized / merge

Family

1

Qwen/Qwen3.8-27B

5,554

2,837

5,545

1,246 / 462 / 3,785 / 61

Qwen3.8

2

Qwen/Qwen3.5-9B-Base

6,712

798

3,439

2,637 / 1,523 / 2,447 / 105

Qwen3.5

3

Qwen/Qwen3.5-4B-Base

5,566

457

3,229

2,146 / 1,569 / 1,801 / 50

Qwen3.5

4

Qwen/Qwen3.5-4B

4,923

2,949

2,799

1,813 / 1,401 / 1,664 / 45

Qwen3.5

5

Qwen/Qwen3.5-9B

5,552

3,021

2,753

1,827 / 1,414 / 2,209 / 102

Qwen3.5

6

Qwen/Qwen2.5-7B

23,161

2,088

2,380

12,056 / 6,972 / 3,542 / 591

Qwen2.5

7

meta-llama/Llama-3.1-8B

21,772

3,275

2,110

9,619 / 6,158 / 5,148 / 847

Llama 3.1

8

Qwen/Qwen3-8B-Base

9,832

887

2,009

4,908 / 3,010 / 1,841 / 72

Qwen3

9

Qwen/Qwen3.5-0.8B-Base

3,191

289

1,842

1,183 / 990 / 1,008 / 10

Qwen3.5

10

Qwen/Qwen2.5-1.5B

11,285

1,078

1,819

5,116 / 4,230 / 1,776 / 163

Qwen2.5

11

Qwen/Qwen2.5-7B-Instruct

14,695

6,768

1,778

8,536 / 3,946 / 1,804 / 409

Qwen2.5

12

Qwen/Qwen3-0.6B-Base

6,828

959

1,675

3,953 / 1,047 / 1,803 / 25

Qwen3

13

Qwen/Qwen3-4B-Instruct-2507

11,384

9,035

1,664

3,604 / 6,577 / 1,112 / 91

Qwen3

14

HuggingFaceTB/SmolLM2-360M

9,990

204

1,655

9,001 / 624 / 360 / 5

SmolLM2

15

HuggingFaceTB/SmolLM2-360M-Instruct

9,520

408

1,614

8,837 / 392 / 286 / 5

SmolLM2

16

Qwen/Qwen3.5-0.8B

2,754

1,830

1,580

993 / 905 / 848 / 8

Qwen3.5

17

Qwen/Qwen3-8B

8,136

5,274

1,567

3,762 / 2,787 / 1,518 / 68

Qwen3

18

meta-llama/Llama-3.1-8B-Instruct

15,329

7,401

1,508

6,916 / 4,083 / 3,615 / 715

Llama 3.1

19

HuggingFaceTB/SmolVLM-500M-Instruct

8,807

93

1,489

8,588 / 153 / 66 / 0

SmolLM2

20

HuggingFaceTB/SmolVLM2-500M-Video-Instruct

8,705

132

1,470

8,553 / 122 / 30 / 0

SmolLM2

21

lerobot/smolvla_base

8,569

8,506

1,450

8,459 / 104 / 6 / 0

SmolLM2

22

Qwen/Qwen3-1.7B-Base

5,164

651

1,309

2,862 / 1,089 / 1,193 / 20

Qwen3

23

Qwen/Qwen2.5-3B

8,727

1,138

1,272

3,909 / 3,181 / 1,552 / 85

Qwen2.5

24

Qwen/Qwen3-4B-Base

6,933

734

1,265

3,500 / 1,692 / 1,648 / 93

Qwen3

25

Qwen/Qwen3.5-2B-Base

2,460

209

1,247

1,127 / 517 / 810 / 6

Qwen3.5

Finetunes only

Adapters and quantizations inflate the all-time table (tens of thousands of auto-generated LoRAs sit on a few small bases). This view counts descendants whose own relation to their parent is finetune. Full top 500 →

#

Model

Descendants

Direct

Last 90d

Finetune / adapter / quantized / merge

Family

1

distilbert/distilbert-base-uncased

13,714

13,332

738

13,163 / 398 / 152 / 1

DistilBERT

2

Qwen/Qwen2.5-7B

23,161

2,088

2,380

12,056 / 6,972 / 3,542 / 591

Qwen2.5

3

meta-llama/Llama-3.1-8B

21,772

3,275

2,110

9,619 / 6,158 / 5,148 / 847

Llama 3.1

4

HuggingFaceTB/SmolLM2-360M

9,990

204

1,655

9,001 / 624 / 360 / 5

SmolLM2

5

HuggingFaceTB/SmolLM2-360M-Instruct

9,520

408

1,614

8,837 / 392 / 286 / 5

SmolLM2

6

HuggingFaceTB/SmolVLM-500M-Instruct

8,807

93

1,489

8,588 / 153 / 66 / 0

SmolLM2

7

HuggingFaceTB/SmolVLM2-500M-Video-Instruct

8,705

132

1,470

8,553 / 122 / 30 / 0

SmolLM2

8

Qwen/Qwen2.5-7B-Instruct

14,695

6,768

1,778

8,536 / 3,946 / 1,804 / 409

Qwen2.5

9

lerobot/smolvla_base

8,569

8,506

1,450

8,459 / 104 / 6 / 0

SmolLM2

10

google-bert/bert-base-uncased

7,510

7,265

289

7,274 / 147 / 82 / 7

BERT

11

meta-llama/Llama-3.1-8B-Instruct

15,329

7,401

1,508

6,916 / 4,083 / 3,615 / 715

Llama 3.1

12

Qwen/Qwen2.5-0.5B

9,834

1,389

1,116

6,086 / 2,331 / 1,360 / 57

Qwen2.5

13

Qwen/Qwen2.5-1.5B

11,285

1,078

1,819

5,116 / 4,230 / 1,776 / 163

Qwen2.5

14

Qwen/Qwen3-8B-Base

9,832

887

2,009

4,908 / 3,010 / 1,841 / 72

Qwen3

15

unsloth/Qwen2.5-7B-Instruct

5,465

5,423

613

4,661 / 772 / 30 / 2

Qwen2.5

16

FacebookAI/xlm-roberta-base

4,787

4,424

217

4,585 / 79 / 122 / 0

XLM-RoBERTa

17

google/gemma-3-4b-pt

6,746

397

488

4,556 / 964 / 1,210 / 16

Gemma 3

18

meta-llama/Meta-Llama-3-8B

10,284

1,730

73

4,210 / 2,074 / 3,012 / 988

Llama 3

19

openai/whisper-small

4,794

4,447

346

4,105 / 353 / 336 / 0

Whisper

20

aubmindlab/bert-base-arabertv02

4,115

4,059

13

4,105 / 5 / 5 / 0

BERT

21

Qwen/Qwen3-0.6B-Base

6,828

959

1,675

3,953 / 1,047 / 1,803 / 25

Qwen3

22

meta-llama/Llama-3.2-3B-Instruct

7,568

3,509

521

3,946 / 1,604 / 1,866 / 152

Llama 3.2

23

Qwen/Qwen2.5-3B

8,727

1,138

1,272

3,909 / 3,181 / 1,552 / 85

Qwen2.5

24

Qwen/Qwen3-8B

8,136

5,274

1,567

3,762 / 2,787 / 1,518 / 68

Qwen3

25

Qwen/Qwen3-4B-Instruct-2507

11,384

9,035

1,664

3,604 / 6,577 / 1,112 / 91

Qwen3

Families

Roots grouped by series name across organizations (so unsloth/Llama-3.1-8B re-uploads count toward Llama 3.1). Grouping is a heuristic with hand overrides in data/families.yaml; PRs welcome. Full table →

#

Family

Descendants

Last 90d

Roots

Finetune / adapter / quantized / merge

Biggest root

1

Qwen2.5

71,238

7,741

689

34,396 / 20,396 / 14,814 / 1,632

Qwen/Qwen2.5-7B

2

Qwen1.5

71,026

10

44

225 / 70,436 / 349 / 16

Qwen/Qwen1.5-0.5B

3

Qwen3

56,178

10,306

653

25,078 / 17,452 / 13,215 / 431

Qwen/Qwen3-4B-Instruct-2507

4

FLUX.1

44,185

262

16

785 / 43,182 / 201 / 17

black-forest-labs/FLUX.1-dev

5

Gemma 1

37,079

61

184

1,758 / 34,366 / 887 / 68

google/gemma-2b

6

Mistral

36,603

977

584

10,674 / 11,260 / 11,720 / 2,933

mistralai/Mistral-7B-v0.1

7

Llama 3.1

28,384

2,286

222

11,151 / 7,051 / 8,239 / 1,943

meta-llama/Llama-3.1-8B

8

Llama 3

24,238

414

544

8,114 / 5,868 / 7,793 / 2,463

meta-llama/Meta-Llama-3-8B

9

BERT

23,327

659

305

22,527 / 508 / 284 / 8

google-bert/bert-base-uncased

10

Qwen3.5

21,741

10,536

156

8,190 / 5,063 / 8,246 / 241

Qwen/Qwen3.5-9B-Base

11

Llama 3.2

21,133

1,173

477

9,740 / 5,669 / 5,129 / 595

meta-llama/Llama-3.2-3B-Instruct

12

Gemma 3

18,306

1,248

141

10,648 / 3,024 / 4,415 / 219

google/gemma-3-4b-pt

13

Stable Diffusion

18,011

433

30

3,431 / 14,397 / 109 / 74

stabilityai/stable-diffusion-xl-base-1.0

14

Whisper

15,857

1,636

203

11,723 / 2,355 / 1,772 / 7

openai/whisper-small

15

DistilBERT

15,300

798

81

14,518 / 498 / 283 / 1

distilbert/distilbert-base-uncased

16

SmolLM2

13,957

2,039

60

11,138 / 1,645 / 1,154 / 20

HuggingFaceTB/SmolLM2-360M

17

Gemma 2

12,376

356

226

5,099 / 3,186 / 3,149 / 942

google/gemma-2-9b

18

Gemma 4

11,962

4,176

136

3,577 / 2,154 / 6,053 / 178

google/gemma-4-E4B

19

Llama 2

11,631

257

412

2,971 / 7,073 / 1,374 / 213

meta-llama/Llama-2-7b-hf

20

Qwen2

10,802

177

161

3,183 / 6,043 / 1,488 / 88

Qwen/Qwen2-0.5B

21

DeepSeek-R1

9,107

573

130

2,876 / 1,528 / 3,807 / 896

deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B

22

Qwen3.8

6,987

6,975

70

1,466 / 475 / 4,968 / 78

Qwen/Qwen3.8-27B

23

XLM-RoBERTa

6,416

358

49

6,093 / 138 / 184 / 0

FacebookAI/xlm-roberta-base

24

Qwen3.6

6,193

1,897

54

1,176 / 1,171 / 3,746 / 93

Qwen/Qwen3.6-35B-A3B

25

ViT

6,134

181

72

5,242 / 752 / 140 / 0

google/vit-base-patch16-224-in21k

Organizations

Descendants of every root owned by the organization, deduplicated. Full table →

How it works

  1. Source. The daily cfahlgren1/hub-stats dump of the Hub's /api/models (Apache-2.0), which carries the base_model metadata model authors declare in their cards, plus the legacy base_model: tags as a fallback.

  2. Graph. Child → parent edges with the declared relation (finetune, adapter, quantized, merge). Merges give a DAG, mis-tagged cards give the occasional cycle (78 nodes today); both are handled.

  3. Counts. Descendant sets are built children-first and unioned, so every model is counted once per ancestor. direct is declared children; total is the whole subtree.

  4. Families. Roots (models that declare no parent) are grouped by a series heuristic over the model name, with overrides in data/families.yaml.

  5. Galaxy layout. Each root's subtree is a radial tree (depth rings sized by population, wedges by subtree size); roots are circle-packed inside their family and families into the galaxy, with a port of d3's front-chain packing. Positions ship as a 10 MB binary, ids load lazily in chunks.

  6. Refresh. A GitHub Action rebuilds everything nightly, commits dist/ and README.md, and attaches the full node and edge tables plus the galaxy data to the data-latest release, which the site reads.

Caveats

  • Declared ancestry only. 29% of models declare a base. Untagged re-uploads and GGUF conversions without metadata are invisible, so every number is a floor.

  • Activity, not quality. A base with 30,000 adapters was mostly a tutorial default. Read the finetune-only and 90-day tables alongside the all-time one.

  • Ghost parents. 4,204 referenced bases are no longer public. They stay in the tree, marked †.

  • Families are heuristic. Series detection is a regex over names. Fix a wrong grouping by editing data/families.yaml.

Data files

File

What

dist/leaderboard.json

Top 500 models (all time, 90 days, finetune-only), families, organizations

dist/parents.json

Every model with descendants, compact columns

dist/timeseries.json

Monthly new descendants for the top families and models

dist/children_top.json

Top 25 children by downloads for the 3,000 most-descended parents

dist/llms.txt

Plain-text summary for LLMs

data-latest release

nodes.parquet and edges.parquet, the full graph

Build it yourself

uv sync
uv run python scripts/build.py all        # downloads the dump (~1.6 GB), builds in about 15 seconds
uv run python scripts/build.py build      # rebuild from the cached dump
uv run pytest
  • Arabic AI Atlas: the same idea for one language's ecosystem, with a map.

  • Hugging Face shows the tree for one model on its page; this repo aggregates the whole Hub.

License

Code MIT. Generated data CC BY 4.0, derived from Hub metadata via cfahlgren1/hub-stats (Apache-2.0).

Generated 2026-11-07.

Available Tools

6 tools
childrenB

Direct descendants of a model, most downloaded first (or sort="likes").

`relation` filters to finetune, adapter, quantized or merge. Live from the Hub API;
falls back to the nightly top-25 list when offline. Example: children(id="Qwen/Qwen3-8B", relation="finetune")
NameRequiredDescriptionDefault
idYes
sortNodownloads
limitNo
relationNo

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does disclose meaningful behavior: data comes live from the Hub API and falls back to a nightly top-25 list when offline. It does not cover auth requirements, rate limits, or what happens at the limit boundary, so it is partial but genuinely informative.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core purpose, then layers in the sort option, relation filter, data-source behavior, and an example. Every sentence carries information and there is no padding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a four-parameter tool with no annotations and no output schema, the description covers purpose, relation, sort, and data fallback reasonably well. It still omits limit semantics and any indication of the return shape, which the absent output schema means the description could have supplied.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must compensate. It enumerates the accepted relation values (finetune, adapter, quantized, merge) and hints at sort alternatives via sort="likes", but leaves the id and limit parameters unexplained and never states the default sort.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource: 'Direct descendants of a model', which is concrete and distinguishable from a generic listing. However, it does not explicitly differentiate itself from close siblings like 'family' or 'lineage', leaving the agent to infer the boundary.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied through the example invocation and the relation filter, giving the agent a reasonable sense of when to call it. There is no explicit when-to-use/when-not guidance or comparison against the siblings family, lineage, or search.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

familyC

One model family (e.g. "Qwen2.5", "Llama 3.1", "FLUX.1"): totals, relation breakdown, roots, organizations and the top models in it by descendants.

NameRequiredDescriptionDefault
nameYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses the response content fairly well (totals, relation breakdown, organizations), but says nothing about read-only semantics, cost, pagination, or error behavior for an unknown family name.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence that leads with the resource and its concrete examples before listing returned content. No filler, though the sentence-fragment form (no verb) and the dense trailing list slightly reduce crispness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and no annotations, the description must cover both scope and behavior. It adequately conveys what data comes back, but leaves the read-only assumption, identifier-matching rules, and the relationship to sibling tools unstated.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% for the single 'name' parameter, so the description must compensate. It partially does by giving concrete examples ('Qwen2.5', 'Llama 3.1', 'FLUX.1'), which conveys the expected identifier format, but it never states matching rules (exact string, case sensitivity, alias handling).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific resource (a single model family) and enumerates the payload it returns: totals, relation breakdown, roots, organizations, and top models by descendants. That is concrete enough for an agent to know what it gets, but the verb is only implied and there is no differentiation from siblings like 'lineage' or 'children', which overlap with the 'roots'/'descendants' content.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance and no exclusions. Siblings 'lineage', 'children', 'stats' and 'leaderboard' all plausibly cover model families, yet the description never states when to pick this tool over them.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

leaderboardB

Most-descended base models on the Hub.

kind: all_time (unique descendants of every kind), 90d (new descendants in the last 90
days), finetune (finetune descendants only; filters out LoRA and quantization noise),
families (roots grouped by series across orgs), orgs (by organization owning the roots).
NameRequiredDescriptionDefault
kindNoall_time
limitNo
offsetNo

Output Schema

NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden. It never states that this is a read-only query, how results are ordered, whether pagination is needed for large result sets, or any auth/rate constraints; the only behavioral hint is the filtering semantics implied by 'finetune (filters out LoRA and quantization noise)'.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose is front-loaded in the first sentence, followed by a compact enumeration of kind values. It is dense but every clause carries information, with no filler or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be described, and the dominant parameter (kind) is fully covered. What is missing is routing guidance relative to the five siblings and any note on ordering or result-size behavior, which leaves the agent to guess when this tool is the right pick.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate, and it does so thoroughly for the key parameter: every kind value is defined with concrete meaning (all_time, 90d, finetune, families, orgs). limit and offset are left unexplained, but their standard pagination meaning is largely self-evident from the names.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific resource (base models on the Hub) and a specific ranking criterion (most-descended), so an agent can tell this is a ranked-listing tool rather than a lookup. It does not, however, distinguish itself from close siblings such as stats, family, or lineage, which an agent must infer from name alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no statement of when to use this tool versus the alternatives (stats, family, lineage, search). The kind enumeration describes modes of the tool itself, not selection criteria against siblings, and no prerequisites or exclusions are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

lineageA

Ancestry of one Hugging Face model: the chain of declared base models up to the root, plus how many descendants the model itself has.

Walks `base_model` metadata live from the Hub (first parent at each step; merges list all
parents in `parents`). Each hop carries the relation (finetune, adapter, quantized, merge)
and the parent's descendant counts from the nightly build.

Example: lineage(id="unsloth/Qwen2.5-7B-Instruct")
NameRequiredDescriptionDefault
idYes
max_depthNo

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the load and does well: it discloses a live walk of `base_model` metadata from the Hub, first-parent-at-each-step semantics, that merges expose all parents in `parents`, that each hop carries a relation type (finetune, adapter, quantized, merge), and that descendant counts come from a nightly build. Auth requirements and rate limits remain undisclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the one-line purpose, followed by mechanics and a concrete example in three short blocks. Little waste, though the merge/parents parenthetical is dense.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter read tool with no annotations and no output schema, the description covers what the return chain contains (hops with relation and descendant counts) and where the data comes from. The only real gap is the undocumented `max_depth` behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It illustrates `id` with a concrete example, which is useful, but `max_depth` (default 12) is never explained in the description even though it governs how far up the chain the walk goes.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific resource and scope: the ancestry chain of a Hugging Face model plus its own descendant count. An agent can tell this is about upward lineage rather than listing children, though sibling names (children, family) are never cited to sharpen the boundary.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied via the example call `lineage(id="...")`. There is no statement of when to prefer this over `children` or `family`, nor any prerequisite or exclusion, so the agent must infer routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

statsB

Headline numbers for the current build: models tracked, links, parents, roots, families, dates.

NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are supplied, so the description carries the full behavioral burden. It lists the metric categories but does not disclose read-only status, permissions, what 'current build' resolves to, or any execution constraints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, front-loaded sentence that names the output and enumerates the metrics with no wasted words. Structure is efficient and scannable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter tool with no output schema or annotations, the description covers what is returned at a high level. However, it leaves open what 'current build' means and omits behavioral basics such as read-only nature, making it adequate but with clear gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters and the input schema is empty, so the baseline is 4. The description neither adds nor contradicts parameter information, which is appropriate given there are no parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a clear purpose: returning headline numbers for the current build, with enumerated metrics (models tracked, links, parents, roots, families, dates). It does not explicitly distinguish itself from siblings such as leaderboard, so it falls short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use guidance, prerequisites, or alternatives are provided. The phrase 'headline numbers' implies a summary use case, but the description never states when this tool should be chosen over siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 6 tool updatesv0.1.0
    • First observedchildren
    • First observedfamily
    • First observedleaderboard
    • First observedlineage
    • First observedsearch
    • First observedstats

TDQS

A3.5/5.0

Scored across 6 tools

Disambiguation4/5

The core directional tools are clearly distinct: lineage walks ancestry upward while children lists descendants downward, and search/stats are unambiguous. family vs leaderboard have some conceptual overlap (family gives a single family's totals/roots/orgs while leaderboard ranks families), but the descriptions differentiate them adequately.

Naming Consistency5/5

All six tools use a single, lowercase noun (family, lineage, children, leaderboard, search, stats), with no camelCase/snake_case mixing or verb-noun deviations. The convention is uniform and predictable across the whole set.

Tool Count5/5

Six tools is well within the sweet spot for this domain, and each covers a distinct query type (single-family, ancestry, descendants, rankings, search, aggregate stats). Nothing feels redundant or missing in terms of count.

Completeness4/5

The surface covers the full genealogy lifecycle: upward ancestry, downward descendants, per-family breakdowns, rankings, search, and build stats. Minor gaps exist (e.g. no direct relation-type aggregation or merge-graph view beyond lineage), but core workflows are well served.

Maintenance

ActivityMaintained
ResponsivenessNo recent community issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Enables access to the Hugging Face Hub API to search and retrieve information about machine learning models, datasets, and their metadata. Provides comprehensive tools for exploring the Hugging Face ecosystem including model details, dataset information, and parquet file access.
    8
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Provides AI agents with 6 tools for searching Hugging Face models, GitHub trending repos, analyzing GitHub repositories, fetching dev.to articles, Show HN launches, and Product Hunt daily launches. Built for dev tooling research and AI ecosystem analysis.
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides AI agents with a toolset to query model inventories, trace dependencies, and analyze the impact of changes across machine learning models and data pipelines.
    171 PyPI
    17
    Apache 2.0