Skip to main content
Glama

Wikipedia MCP

A Model Context Protocol (MCP) server that provides access to Wikipedia via the free REST API. No API key required.

⭐ If you find this useful, please star the repo — it helps others discover it.

Tools

Tool

Description

search

Search Wikipedia for articles matching a query

summary

Get a Wikipedia article summary + thumbnail by title

random

Get a random Wikipedia article summary

did_you_know

Get a random "Did You Know" style fact

dino_fact

Get a dino/prehistory-specific fact (specific species or random)

featured_article

Get today's Wikipedia Featured Article

picture_of_the_day

Get Wikimedia Commons' Picture of the Day (today, or a YYYYMMDD date)

article_extract

Get a full plain-text extract of an article (longer than summary)

article_sections

Get the table of contents (section headings) for an article — useful for navigating long articles before reading the full body

on_this_day

Get historical events that happened on today's date

deaths_on_this_day

Get notable deaths that happened on today's date (companion to on_this_day)

categories

List Wikipedia categories an article belongs to

links

List outgoing Wikipedia links from an article (the article's reference network)

backlinks

List incoming Wikipedia links to an article (what links here / referrer pages — inverse of links)

external_links

List external (off-wiki) links from an article — citations, references, and primary sources the article points to (outbound complement to links + backlinks)

nearby

List Wikipedia articles geographically near a location — anchor by article title (e.g. 'Eiffel Tower') or lat/lon, with distances

translations

List all language versions of an article (langlinks) — discover what languages it exists in

revisions

Show an article's recent edit history (who edited it, when, edit summaries, size deltas) with diff links

pageviews

Get daily view counts for an article (popularity, trending, historical interest)

news

Get current events from Wikipedia's Main Page "In the news" section

top_reads

Get the most-read articles on Wikipedia for a given date

image

Get just the lead image (thumbnail + original URLs) for an article, no summary text

media_list

List all media (images, videos, audio) used in an article — full inventory with type, caption, and thumbnail

quote

Get a random notable quote from a curated list of famous authors

recent_changes

Live window into Wikipedia right now — most recent edits, with kind filter ('all', 'edit', 'new', 'categorize', 'log') for breaking-news edits, newly published articles, and more

category_members

List articles filed under a category — taxonomy-based discovery, the reverse of categories; each entry has a 1–2 sentence extract + thumbnail

All tools accept an optional lang parameter (one of: en, de, es, fr, ja, zh, pt, it, ru, nl). Note: quote accepts the parameter for API consistency but is currently English-only (curated list).

Related MCP server: wikipedia-recent-changes-mcp

Setup

1. Register with mcporter

Add to your ~/.openclaw/workspace/config/mcporter.json:

{
  "mcpServers": {
    "wikipedia": {
      "command": "python3",
      "args": ["/path/to/wikipedia-mcp/src/server.py"]
    }
  }
}

2. Restart mcporter

openclaw gateway restart

Usage

# Search
mcporter call wikipedia search --args '{"query": "velociraptor", "limit": 5}'

# Article summary
mcporter call wikipedia summary --args '{"title": "Tyrannosaurus"}'

# Random article
mcporter call wikipedia random

# Random dino fact
mcporter call wikipedia dino_fact

# Specific species
mcporter call wikipedia dino_fact --args '{"species": "Spinosaurus"}'

# Today's featured article
mcporter call wikipedia featured_article

# Picture of the Day (curated daily image from Wikimedia Commons)
mcporter call wikipedia picture_of_the_day
mcporter call wikipedia picture_of_the_day --args '{"date": "20260901"}'

# Full plain-text article extract (vs summary)
mcporter call wikipedia article_extract --args '{"title": "Tyrannosaurus"}'

# Article table of contents — section headings (navigate before reading full body)
mcporter call wikipedia article_sections --args '{"title": "Tyrannosaurus"}'

# On this day (historical events for today)
mcporter call wikipedia on_this_day
mcporter call wikipedia on_this_day --args '{"count": 8}'

# Deaths on this day (notable deaths for today — in memoriam content hooks)
mcporter call wikipedia deaths_on_this_day
mcporter call wikipedia deaths_on_this_day --args '{"count": 6}'

# Categories for an article (taxonomy-based discovery)
mcporter call wikipedia categories --args '{"title": "Tyrannosaurus"}'
mcporter call wikipedia categories --args '{"title": "Tyrannosaurus", "limit": 10}'

# Outgoing links from an article (graph-style discovery)
mcporter call wikipedia links --args '{"title": "Tyrannosaurus"}'
mcporter call wikipedia links --args '{"title": "Tyrannosaurus", "limit": 30}'

# Translations — list all language editions of an article
mcporter call wikipedia translations --args '{"title": "Tyrannosaurus"}'
mcporter call wikipedia translations --args '{"title": "Tyrannosaurus", "limit": 10}'

# Revision history — recent edits, editors, summaries, diffs
mcporter call wikipedia revisions --args '{"title": "Tyrannosaurus"}'
mcporter call wikipedia revisions --args '{"title": "Tyrannosaurus", "limit": 20}'

# Daily view counts (popularity research, trending topics)
mcporter call wikipedia pageviews --args '{"title": "Tyrannosaurus"}'
mcporter call wikipedia pageviews --args '{"title": "Python_(programming_language)", "start": "20250101", "end": "20250107"}'

# Current events from Wikipedia's Main Page (today's "In the news")
mcporter call wikipedia news
mcporter call wikipedia news --args '{"limit": 8}'

# Top reads — most-viewed articles on a given date
mcporter call wikipedia top_reads
mcporter call wikipedia top_reads --args '{"date": "20260101", "limit": 15}'

# Lead image — thumbnail + original URLs for an article (no text)
mcporter call wikipedia image --args '{"title": "Tyrannosaurus"}'
mcporter call wikipedia image --args '{"title": "Tyrannosaurus", "lang": "de"}'

# Media inventory — all images/videos/audio in an article (full list, not just lead)
mcporter call wikipedia media_list --args '{"title": "Tyrannosaurus"}'
mcporter call wikipedia media_list --args '{"title": "Tyrannosaurus", "limit": 50}'
mcporter call wikipedia media_list --args '{"title": "Berlin", "lang": "de"}'

# Random notable quote (curated list of famous authors)
mcporter call wikipedia quote
mcporter call wikipedia quote --args '{"lang": "de"}'  # lang accepted, currently English-only

# Non-English Wikipedia
mcporter call wikipedia summary --args '{"title": "Berlin", "lang": "de"}'

Requirements

  • Python 3.10+

  • requests>=2.28.0

API

Uses Wikipedia's free REST API:

  • Search: MediaWiki Action API (/w/api.php)

  • Summary / Random / Featured / Media-list: REST API v1 (/api/rest_v1/...)

  • Pageviews / Top reads: Wikimedia cross-wiki metrics API (https://wikimedia.org/api/rest_v1/metrics/pageviews/...)

No API key required. Respects Wikipedia's User-Agent policy.

Development

Run the smoke tests:

python3 tests/test_server.py

License

MIT

Available Tools

26 tools
article_extractA

Get a Wikipedia article's full plain-text extract by title — much longer than summary (typically several paragraphs). Returns plain text (no HTML). Complements summary: use it when the summary is too brief and you want a fuller reading.

ParametersJSON Schema
NameRequiredDescriptionDefault
langNoWikipedia language code (default 'en')en
titleYesArticle title (e.g. 'Tyrannosaurus' or 'Albert_Einstein')

TDQS

A4.2/5.0
Behavior3/5

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

With no annotations and no output schema, the description carries the full disclosure burden. It usefully discloses the return format ('plain text (no HTML)') and rough size ('typically several paragraphs'), which is real behavioral value. It does not cover failure behavior for missing titles, disambiguation pages, redirects, or truncation limits, so it is only partially transparent.

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?

Two sentences, zero filler, with the primary purpose and the sibling contrast front-loaded. Every clause earns its place and nothing is repeated from the schema.

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 2-parameter read tool with no annotations or output schema, the description covers purpose, output format, and size — enough to call it correctly. Edge-case behavior (nonexistent titles, disambiguation, language fallback) is unaddressed, which keeps it short of fully complete.

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 100% — both `lang` (enum plus default) and `title` (with examples) are fully documented in the schema. The description adds nothing parameter-specific beyond what the schema already provides, so the baseline 3 applies.

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

Purpose5/5

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

States a specific verb and resource ('Get a Wikipedia article's full plain-text extract by title') and immediately distinguishes itself from the `summary` sibling by contrast in length. An agent can tell exactly what this returns and how it differs from the other extract-like tools without opening a schema.

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

Usage Guidelines5/5

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

Explicitly names the alternative ('Complements `summary`: use it when the summary is too brief') and gives the selecting condition. The only omission is a when-not case (e.g. use `summary` when you need one sentence), which is easily inferred and does not undermine the routing.

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

article_sectionsA

Get the table of contents (section headings) for a Wikipedia article — section number, heading text, and nesting level. Useful for navigating long articles before committing to the full body via article_extract. Major articles can have 50KB+ of body text; article_sections gives the TOC in a compact numbered list so callers can pick what to read next. Pairs with summary (lead), article_sections (structure), article_extract (full body).

ParametersJSON Schema
NameRequiredDescriptionDefault
langNoWikipedia language code (default 'en')en
titleYesArticle title (e.g. 'Tyrannosaurus' or 'Albert_Einstein')

TDQS

A4.3/5.0
Behavior3/5

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

No annotations were provided, so the description carries the full burden. It discloses that the output is a compact numbered list and notes that major articles can have 50KB+ of body text, giving useful context about the cost of alternatives. However, it does not state whether the tool is read-only (implied by 'Get') or mention any pagination, rate limits, or error cases. This is a moderate gap for a tool with zero annotation coverage.

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?

Three sentences, each front-loaded with purpose: first defines what it gets, second explains why (use case), third maps the tool family. Zero waste, and the most important information (what it returns) is first.

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

Completeness5/5

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

Given the tool's simplicity (2 params, no output schema, no annotations) and the complexity of the sibling ecosystem, the description is complete: it covers purpose, usage context, return format, and pairing. Nothing an agent needs to call it correctly is missing.

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 100%, so the schema already documents both 'lang' (with enum and default) and 'title' (with examples). The description does not add any parameter-specific meaning beyond what the schema provides. Baseline 3 is appropriate when the schema does the heavy lifting.

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

Purpose5/5

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

States a specific verb and resource ('Get the table of contents (section headings) for a Wikipedia article') and immediately specifies the returned fields (section number, heading text, nesting level). It clearly distinguishes itself from siblings like article_extract and summary by naming them in the pairing sentence.

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

Usage Guidelines5/5

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

Explicitly describes when to use this tool: 'before committing to the full body via article_extract' and 'for navigating long articles.' It names alternatives (article_extract, summary) and explains the workflow, making the selection condition unambiguous.

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

categoriesA

List Wikipedia categories an article belongs to. Useful for taxonomy-based discovery — finding related topics that don't appear in text search. Hidden/maintenance categories are filtered out.

ParametersJSON Schema
NameRequiredDescriptionDefault
langNoWikipedia language code (default 'en')en
limitNoMax categories to return (default 20, max 50)
titleYesArticle title (e.g. 'Tyrannosaurus' or 'Albert_Einstein')

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description must carry the full behavioral burden. It discloses that hidden/maintenance categories are filtered out, which is useful. However, it omits other behavioral details like whether results are ordered, pagination behavior, or whether it requires authentication.

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?

The description is two concise sentences, front-loaded with the core purpose and followed by a use-case and a filtering note. Every sentence earns its place without redundancy.

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?

Given no output schema exists, the description adequately explains what the tool returns (categories) and the filtering behavior. It doesn't cover return format or pagination details, but overall provides sufficient context for an agent to invoke it correctly, though minor gaps remain.

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 100%, meaning all parameters are already documented in the schema with descriptions and defaults. The description adds no parameter-specific information beyond what the schema provides, so the baseline score of 3 is appropriate.

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

Purpose5/5

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

States a specific verb (List) and resource (Wikipedia categories an article belongs to) with clear scope. The description distinguishes it from text-search siblings by describing it as taxonomy-based discovery, making the purpose immediately identifiable among tools like search or links.

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

Usage Guidelines4/5

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

Provides clear context for when to use the tool: 'taxonomy-based discovery — finding related topics that don't appear in text search.' This implicitly contrasts with search but doesn't name specific sibling tools or state explicit exclusions or prerequisites.

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

category_membersA

List Wikipedia articles filed under a category — taxonomy-based discovery. The reverse direction of categories (which lists an article's categories): given 'Machine learning researchers', enumerate who's actually in it. Each entry includes a 1-2 sentence extract plus a thumbnail URL when one exists, so results are browsable at a glance. Filters to main-namespace articles so subcategories and files don't pollute the result. The 'Category:' prefix is optional. Pairs with categories (find the taxonomy) and search (find the entry point).

ParametersJSON Schema
NameRequiredDescriptionDefault
langNoWikipedia language code (default 'en')en
limitNoMax articles to return (default 20, max 50)
categoryYesCategory name, with or without the 'Category:' prefix (e.g. 'Flightless birds' or 'Category:Flightless birds')

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries the behavioral disclosure burden. It includes several meaningful behaviors: it returns a 1-2 sentence extract and a thumbnail URL per entry, filters out subcategories and files by limiting to main namespace, and treats the 'Category:' prefix as optional. It does not cover pagination, ordering, or error behavior, but these are minor for a list-read tool.

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?

The description is concise and well-structured. It front-loads the core action, then guides to the sibling tool, then details the output, then adds a non-obvious filtering behavior, and finishes with the direct pairing. No sentence is wasted, and the flow makes it easy to scan.

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?

Given the absence of an output schema, the description supplies adequate shape information: each entry contains a title (implended by 'enumerate who's actually in it') plus an extract and thumbnail URL when available. It also shares the main-namespace filter and the prefix tolerance. Notationally, it could state ordering or pagination, but for a tool with 3 parameters and understandable semantics, this is sufficiently complete.

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 coverage is 100%, so the baseline is 3. The description adds meaningful value: it clarifies that the category parameter accepts an optional prefix, and it explains the practical meaning of the extract and thumbnail responses that depend on the query. This goes beyond the schema's bare field descriptions.

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

Purpose5/5

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

The description uses a specific verb and resource ('List Wikipedia articles filed under a category') and immediately differentiates itself from siblings by calling out `categories` and `search`. It even names a concrete example ('Machine learning researchers'), so an agent knows exactly what the tool does without opening the schema.

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

Usage Guidelines4/5

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

The description gives clear usage context: it is the reverse of `categories`, and it pairs with `categories` (to build the taxonomy) and `search` (to find an entry point). This implies when to choose this tool over the obvious alternatives, though it does not spell out an explicit 'when not to use' list beyond that alignment.

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

deaths_on_this_dayA

Get notable deaths that happened on today's date (UTC) from Wikipedia's 'On This Day' feed — the deaths-only companion to on_this_day (which returns events). Useful for 'in memoriam' content hooks, obituary-style social posts, and newsletter intros. Pairs with on_this_day (events) and featured_article (today's long-form pick) for a full daily 'today in Wikipedia' digest.

ParametersJSON Schema
NameRequiredDescriptionDefault
langNoWikipedia language code (default 'en')en
countNoNumber of deaths to return (default 5, max 10)

TDQS

A4.4/5.0
Behavior4/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 adds useful behavioral context: the date is fixed to today's date in UTC, results are 'notable deaths', and the source is Wikipedia's On This Day feed. This clearly signals a read-only retrieval operation, though it does not describe return structure or pagination beyond that.

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?

Two sentences with no filler: the first front-loads the core action and scope, the second adds use cases and sibling relationships. Every sentence earns its place.

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 simple two-parameter read-only feed tool, the description is nearly complete: it names the source, scope, timezone, use cases, and sibling tools. Since there is no output schema, a brief note on the returned shape would have made it fully complete, but this is a minor gap.

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 100%, and the schema already fully documents 'lang' (with enum) and 'count' (default 5, max 10). The description adds no additional parameter-specific meaning, so baseline 3 is appropriate.

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

Purpose5/5

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

States a specific verb and resource ('Get notable deaths... from Wikipedia's On This Day feed') and distinguishes itself as the 'deaths-only companion to on_this_day' which returns events. An agent can immediately tell what this tool does and how it differs from its closest sibling.

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

Usage Guidelines5/5

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

Explicitly gives concrete use cases ('in memoriam' content hooks, obituary-style social posts, newsletter intros) and names complementary siblings (on_this_day, featured_article) for building a full digest. It also clarifies the boundary: deaths only, versus events from on_this_day.

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

did_you_knowA

Get a random 'Did You Know' style fact from Wikipedia — great for hooks and general trivia

ParametersJSON Schema
NameRequiredDescriptionDefault
langNoWikipedia language code (default 'en')en

TDQS

A3.7/5.0
Behavior3/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 discloses that the fact is random and sourced from Wikipedia, which is useful. However, it lacks details on rate limits, authentication requirements, error handling, or whether the fact changes on each call.

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, concise sentence that front-loads the core functionality and ends with a note on its practical use. No wasted words.

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 simple tool with one optional parameter (language), no output schema, and no annotations, the description covers the basics but omits behavioral details like rate limits or authentication. It is adequate but has clear gaps in behavioral context.

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 100%, so the schema already documents the 'lang' parameter fully. The description adds no additional parameter semantics beyond what the schema provides. Baseline 3 is appropriate.

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

Purpose5/5

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

States a specific verb (Get) and resource (random 'Did You Know' style fact from Wikipedia). It distinguishes itself from the sibling 'random' by referencing the 'Did You Know' style, and from 'dino_fact' by citing Wikipedia.

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?

The description implies usage via 'great for hooks and general trivia', but does not explicitly state when to use this tool versus alternatives like 'random' or 'dino_fact'. No exclusions or prerequisites are given.

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

dino_factA

Get a 'Did You Know' style fact about dinosaurs or prehistoric life. Pass a specific species ('Tyrannosaurus', 'Spinosaurus') for a targeted fact, or call with no arguments for a random dino. Falls back to a random dino if the requested species isn't found on Wikipedia.

ParametersJSON Schema
NameRequiredDescriptionDefault
langNoWikipedia language code (default 'en')en
speciesNoSpecific dinosaur name (e.g. 'Tyrannosaurus'). Empty for random.

TDQS

A3.6/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. It usefully discloses the fallback behavior (a missing species silently returns a random dino) and that facts originate from Wikipedia, but it omits any note on rate limits, network dependence, or the shape of the returned fact.

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?

Three sentences, front-loaded with purpose and then split cleanly between the targeted and random modes. Minor redundancy: the random-dino case is stated twice (no-arguments and fallback).

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, annotation-free tool with no output schema, the description covers purpose, both invocation modes, and fallback behavior. The only meaningful gap is the absence of any indication of what the returned fact looks like.

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 100%, so both the 'species' and 'lang' parameters are already documented (including the empty-string-for-random convention). The description restates the species semantics but does not explain the 'lang' enum's effect on output, so the baseline of 3 applies.

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 uses a specific verb+resource combination ('Get a Did You Know style fact about dinosaurs or prehistoric life'), which is concrete and distinguishable from the generic sibling 'did_you_know' by domain. It stops short of explicitly naming the sibling to route away from, so it is clear but not maximally differentiating.

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

Usage Guidelines4/5

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

It clearly states the two invocation modes: pass a species name for a targeted fact, or call with no arguments for a random dino. This is explicit context for how to use the tool, though it offers no exclusion guidance relative to sibling fact/article tools.

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

featured_articleA

Get today's Wikipedia Featured Article — the single article Wikipedia's editors showcase as the best of the encyclopedia that day. Returns the full long-form extract plus thumbnail: reliably high-quality, surprising, in-depth content. A strong daily source of hooks and deep dives; for the curated daily image instead use picture_of_the_day, and for today's historical events use on_this_day.

ParametersJSON Schema
NameRequiredDescriptionDefault
langNoWikipedia language code (default 'en')en

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations and no output schema, the description carries the full burden and does disclose the returned payload ('full long-form extract plus thumbnail') and the qualitative nature of the content, which the structured fields do not. It stops short of describing error or edge behavior (e.g., what happens for a language with no featured article that day) or any rate/caching behavior, so it is helpful but not exhaustive.

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 action and resource, then the return value, then the sibling routing — a sensible order. The middle sentence ('reliably high-quality, surprising, in-depth content') is somewhat promotional and expendable, but the piece as a whole is tight and well under the point of bloat.

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 zero-required-param, no-output-schema tool, the description supplies the retrieval semantics, the returned content shape, and the sibling alternatives an agent needs. The only remaining gap is edge-case behavior such as missing featured articles per language, which is minor given the tool's simplicity.

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 100% for the single `lang` parameter, including its enum and default, so the baseline is 3. The description adds no language-specific meaning beyond what the schema already documents.

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

Purpose5/5

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

States a specific verb and resource ('Get today's Wikipedia Featured Article') and immediately defines the resource as the single article Wikipedia editors showcase that day, so the agent knows exactly what is being retrieved. It also names the two nearest siblings it must not be confused with, making it unambiguous without opening any schema.

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

Usage Guidelines5/5

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

Explicitly routes the agent: use picture_of_the_day for the daily image and on_this_day for historical events, with a stated rationale ('a strong daily source of hooks and deep dives') for when this tool is the right pick. Both the when-to-use and when-to-use-something-else conditions are given.

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

imageA

Get just the lead image for a Wikipedia article — returns both the 300px thumbnail URL and the full-resolution original URL from Wikipedia's REST summary endpoint. Useful when you want the article's image for embedding elsewhere (cards, Telegram posts, slide decks, README hero images) without the surrounding summary text. summary embeds the thumbnail inline; image exposes both URLs separately so downstream tools can fetch / display at any size. Returns a clean message if the article has no image.

ParametersJSON Schema
NameRequiredDescriptionDefault
langNoWikipedia language code (default 'en')en
titleYesArticle title (e.g. 'Tyrannosaurus' or 'Albert_Einstein')

TDQS

A4.4/5.0
Behavior4/5

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

No annotations are supplied, so the description carries the disclosure burden, and it does reveal the return shape (300px thumbnail URL plus full-resolution original URL) and the no-image fallback behavior. It omits any note on rate limits, auth, or whether the URL is hotlink-safe, which keeps it short of a 5 for a zero-annotation tool.

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 return contract, then the disambiguation from `summary`. The parenthetical use-case list ('cards, Telegram posts, slide decks, README hero images') is slightly padded and could be trimmed without losing meaning.

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

Completeness5/5

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

There is no output schema, so the description's explanation of the two returned URLs and the empty-image case does real work. Combined with a fully documented two-parameter schema, an agent has everything needed to call and interpret the result.

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 100% and both params (lang enum, title) are fully documented in the schema, so the baseline of 3 applies. The description adds no syntax or format detail about `title` handling (e.g. underscores vs spaces) beyond the schema's own example.

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

Purpose5/5

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

States a precise verb and resource ('Get just the lead image for a Wikipedia article') and immediately names what it returns. It explicitly differentiates itself from the sibling `summary`, which embeds the thumbnail inline, so an agent can route correctly without opening either schema.

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

Usage Guidelines5/5

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

Gives a concrete when-to-use condition ('when you want the article's image for embedding elsewhere ... without the surrounding summary text') with example scenarios, and names the alternative tool (`summary`) plus the reason to prefer this one. The contrast is explicit rather than inferred.

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

media_listA

List all media (images, videos, audio) used in a Wikipedia article — not just the lead thumbnail. Returns a structured markdown list: file title, type (image/video/audio), caption, and thumbnail URL. Lead media is marked so callers can skip it when they already have it via image. Uses Wikipedia's REST /page/media-list endpoint (structured JSON, no HTML parsing). Pairs with image (lead only) — use image for the headline thumbnail, media_list for the full inventory (gallery generation, fact-checking, slide decks, audits). limit clamps the number of items (default 25, max 100).

ParametersJSON Schema
NameRequiredDescriptionDefault
langNoWikipedia language code (default 'en')en
limitNoMax media items to return (default 25, max 100)
titleYesArticle title (e.g. 'Tyrannosaurus' or 'Albert_Einstein')

TDQS

A4.3/5.0
Behavior4/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 discloses the output shape (structured markdown list with file title, type, caption, thumbnail URL), notes lead-media marking, identifies the underlying endpoint and that it is structured JSON with no HTML parsing, and states the limit default/max. Remaining gaps are minor (error behavior, truncation signaling beyond limit).

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-loads the core scope in the first clause, then layers output shape, the `image` comparison, and the `limit` semantics. A few sentences are dense but each earns its place; no restating of the tool name or boilerplate.

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 3-parameter, no-output-schema read tool, the description covers scope, output format, sibling routing, and a key parameter constraint — everything an agent needs to call it correctly. It could mention error/empty cases or auth requirements, but those are minor for a public Wikipedia endpoint.

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 100%, so the baseline is 3. The description does add useful runtime context for `limit` (default 25, max 100, clamping behavior) and confirms that `title` is the article being inventoried, but it doesn't add anything beyond the schema for `lang`.

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

Purpose5/5

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

States a specific verb (List) and resource (all media in a Wikipedia article) and immediately disambiguates scope ('not just the lead thumbnail'). It names the sibling `image` and draws the exact boundary between the two, so an agent can route correctly without opening either schema.

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

Usage Guidelines5/5

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

Explicitly names the alternative (`image` for the headline thumbnail) and the conditions that select this tool ('full inventory — gallery generation, fact-checking, slide decks, audits'). It also anticipates the case where the caller already has the lead media ('marked so callers can skip it when they already have it via `image`').

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

nearbyA

List Wikipedia articles geographically near a location — location-based discovery. Anchor by article title (e.g. 'Eiffel Tower' — uses that article's coordinates, no geocoding service needed) or by explicit lat/lon. Returns nearby articles with distances in meters/km. Useful for travel research and 'what's notable around here' questions.

ParametersJSON Schema
NameRequiredDescriptionDefault
latNoLatitude in decimal degrees (-90 to 90). Requires lon.
lonNoLongitude in decimal degrees (-180 to 180). Requires lat.
langNoWikipedia language code (default 'en')en
limitNoMax articles to return (default 20, max 50)
titleNoAnchor article title (e.g. 'Eiffel Tower'). Use instead of lat/lon.
radiusNoSearch radius in meters (default 1000, max 10000)

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description carries the burden and does add real behavioral context: it is a read-only listing operation, title anchoring reuses the article's own coordinates (no geocoding service), and results include distances. It omits auth, pagination, and error behavior, which keeps it from a 5.

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 action and resource, then the two anchoring modes and the payoff. Most sentences earn their place, though 'Useful for travel research' is mild filler.

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?

With 6 optional parameters, no annotations, and no output schema, the description supplies the missing glue: the anchoring modes and the return content. It never explicitly states that one of title or lat+lon is effectively required, which is the one remaining gap.

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 coverage is 100%, so the baseline is 3, but the description adds meaning the schema does not: the title-vs-lat/lon mutual exclusivity and the fact that title anchoring avoids geocoding. That is genuine added semantics rather than restatement.

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

Purpose5/5

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

States a specific verb and resource ('List Wikipedia articles geographically near a location') and immediately scopes it as location-based discovery. This clearly separates it from siblings like search, random, or featured_article without needing to name them.

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

Usage Guidelines4/5

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

Explains the two anchoring modes and when to prefer each (title 'Use instead of lat/lon'), plus a concrete use case ('what's notable around here' questions). It lacks any explicit exclusion or named alternative sibling, so it falls short of a 5.

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

newsA

Get current events from Wikipedia's Main Page 'In the news' section — the editorially-curated list of recent notable events. Pairs with featured_article (today's long-form pick) and on_this_day (historical) — news covers the present tense. Bold-linked article titles become Markdown so the main subject of each event stands out.

ParametersJSON Schema
NameRequiredDescriptionDefault
langNoWikipedia language code (default 'en')en
limitNoMax events to return (default 5, max 10)

TDQS

A4.2/5.0
Behavior4/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, and it does disclose meaningful behavior: the content is editorially curated (not algorithmic/search-driven) and bold-linked article titles are converted to Markdown. It does not mention caching, freshness, or failure behavior, but for a read-only fetch the disclosure is substantive.

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?

Three sentences, front-loaded with the source and scope, then sibling differentiation, then output formatting. Every sentence carries information; the Markdown note could arguably sit in a return-value section but does earn its place given there is no output schema.

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

Completeness5/5

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

For a two-parameter, no-required-inputs read tool with no output schema, the description covers source, editorial nature, sibling alternatives, and output formatting (Markdown emphasis). Nothing an agent needs to call it correctly is missing.

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 100%, so both lang and limit are already documented in the schema with defaults and the enum list. The description adds no format or semantic detail beyond that, so the baseline 3 is correct.

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

Purpose5/5

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

States a specific verb and resource (get current events from Wikipedia's Main Page 'In the news' section) and names the exact source and scope. It explicitly differentiates itself from featured_article and on_this_day by framing itself as 'the present tense,' so an agent can route without opening a schema.

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

Usage Guidelines4/5

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

It names the sibling tools (featured_article for long-form, on_this_day for historical) and gives the selecting condition ('news covers the present tense'). It stops short of an explicit when-not-to-use clause, but the routing rule is clear and actionable.

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

on_this_dayA

Get historical events that happened on today's date (UTC) from Wikipedia's 'On This Day' feed. Returns a random sample of events with year + description + Wikipedia link — great daily content hook alongside featured_article.

ParametersJSON Schema
NameRequiredDescriptionDefault
langNoWikipedia language code (default 'en')en
countNoNumber of events to return (default 5, max 10)

TDQS

A4.1/5.0
Behavior4/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 reasonably well: it discloses the data source, timezone basis (UTC), and the key behavioral quirk that results are a 'random sample' rather than a deterministic or complete list. It does not cover auth needs or rate limits, but for a public read-only feed tool that gap is minor.

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?

Two tight sentences: the retrieval action and source come first, the return shape second, with no redundant restatement of the tool name. Every clause carries information.

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

Completeness5/5

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

No output schema exists, so the description must describe returns — and it does ('year + description + Wikipedia link', random sample). Combined with a fully documented 2-param schema, an agent has everything needed to invoke it correctly.

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 100% (both lang and count are documented with defaults and max), so the baseline is 3. The description adds the UTC date framing but nothing further about lang semantics or count behavior beyond what the schema already states.

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

Purpose5/5

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

States a specific verb+resource ('Get historical events ... from Wikipedia's On This Day feed') and scopes it to today's date in UTC. It also names the sibling it pairs with (featured_article), making it distinguishable from random, did_you_know, and deaths_on_this_day.

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?

The phrase 'great daily content hook alongside featured_article' gives an implied usage context, but there is no explicit when/when-not guidance and no mention of closer alternatives like deaths_on_this_day (which covers the same date concept) or random. Usage must be largely inferred.

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

pageviewsA

Get daily view counts for a Wikipedia article over a date range (popularity research, trending topics, historical interest). Uses Wikimedia's pageviews REST API. Default window is the last 7 days ending yesterday UTC. Returns total + daily average + markdown table of daily views.

ParametersJSON Schema
NameRequiredDescriptionDefault
endNoEnd date in YYYYMMDD (default: yesterday UTC)
langNoWikipedia language code (default 'en')en
startNoStart date in YYYYMMDD (default: 7 days before end)
titleYesArticle title (e.g. 'Tyrannosaurus' or 'Albert_Einstein')

TDQS

A4.3/5.0
Behavior4/5

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

No annotations are provided, so the description carries the burden and does well: it discloses the upstream source (Wikimedia's pageviews REST API), the default window semantics (last 7 days ending yesterday UTC), and the return shape. It omits error behavior, rate limits, and whether the title must match exactly, which mutes a perfect score.

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?

Three sentences, each earning its place: purpose, situational use, source API/default window, and return format in that order. Front-loaded with the core verb and free of filler.

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

Completeness5/5

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

With no output schema, the description correctly compensates by naming the return contents (total, daily average, markdown table). Defaults, source, and return format are all covered for a straightforward read-only lookup, leaving nothing an agent needs missing.

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 100%, so the schema itself documents title, start, end, and lang. The description's note about the default window duplicates the schema defaults rather than adding new syntax or format meaning, so the baseline 3 applies.

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

Purpose5/5

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

States a specific verb and resource ('Get daily view counts for a Wikipedia article') with scope ('over a date range'), which separates it from the sibling aggregate tools like top_reads and recent_changes. An agent can identify the resource type (per-article pageviews) without opening the schema.

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

Usage Guidelines4/5

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

The parenthetical '(popularity research, trending topics, historical interest)' gives clear situational context for when to reach for this tool. It stops short of naming an alternative or stating when-not to use it (e.g. vs. top_reads for site-wide rankings), so it doesn't reach the top band.

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

picture_of_the_dayA

Get Wikimedia Commons' Picture of the Day — the curated daily image from Wikipedia's featured feed. Returns preview + full-size image URLs, photographer, license, and description. Accepts an optional YYYYMMDD date (default today UTC) to browse past pictures — the visual counterpart to featured_article for daily content hooks.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNoDate in YYYYMMDD format (default: today UTC)
langNoWikipedia language code (default 'en')en

TDQS

A4/5.0
Behavior3/5

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

No annotations, so the description carries the full burden. It usefully discloses the return payload (preview + full-size URLs, photographer, license, description) and the default date behavior, but says nothing about error cases, permission/auth needs, rate limits, or what happens for dates with no picture.

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?

Three dense sentences, front-loaded with the resource and what it returns, then the optional parameter and the sibling relationship. No filler or repetition; every clause carries information.

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?

With no output schema, the description correctly compensates by enumerating returned fields (URLs, photographer, license, description), and it explains the date default. The lang parameter's effect on output is left to the schema, a minor gap for an otherwise self-sufficient read tool.

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 100%, so both parameters are already documented in the schema; baseline is 3. The description adds the YYYYMMDD format and UTC-default meaning for date, but does not mention the lang parameter or its enum values at all.

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

Purpose5/5

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

States a specific verb and resource ('Get Wikimedia Commons' Picture of the Day') with the exact scope ('curated daily image from Wikipedia's featured feed'). It explicitly self-positions against a sibling by calling itself 'the visual counterpart to featured_article,' so an agent can distinguish it from 20+ other retrieval tools.

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

Usage Guidelines4/5

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

Gives clear context: default is today, and passing a date lets the agent 'browse past pictures,' framed as 'daily content hooks.' It names featured_article as the related tool, but offers no explicit when-not-to-use or selection rule beyond that pairing.

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

quoteA

Get a random notable quote from a curated list of famous authors (Churchill, Einstein, Twain, Gandhi, Mandela, Wilde, Angelou, Jobs, Lennon, Socrates, etc.). Returns a short, time-tested quotation with author attribution. Pairs with did_you_know (random encyclopedia fact) and dino_fact (random dino fact) for variety in 'today's trivia' outputs — great for daily content hooks, social posts, newsletter intros. Currently English-only (curated list); the lang parameter is accepted for API consistency but non-English values still return English quotes.

ParametersJSON Schema
NameRequiredDescriptionDefault
langNoWikipedia language code (default 'en'). Currently English-only; non-English values fall back to English.en

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description carries the full burden, and it does disclose real behavior: selection is random from a curated (not open) corpus, and the output is a short quote with author attribution. It also flags a genuine gotcha — the `lang` parameter is accepted but non-English values silently fall back to English. It omits any mention of rate limits or caching, which keeps it below a 5.

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 what the tool returns, then the related-tool pairing, then the language caveat, so the critical limitation is not buried. A clause of promotional framing ('great for daily content hooks, social posts, newsletter intros') is soft filler, but the sentences otherwise earn their place.

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 one-optional-parameter trivia tool with no output schema, the description covers purpose, the shape of the return value, the fallback behavior, and sibling relationships — enough to call it correctly. Nothing essential is missing; only marginal detail (rate limits, determinism) is absent.

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 coverage is already 100%, so the baseline is 3, but the description adds non-obvious meaning: the enum of ten language codes is effectively a no-op and returns English anyway. That directly corrects a misleading schema signal and is the single most useful thing an agent could know about this parameter.

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

Purpose5/5

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

States a specific verb and resource ('Get a random notable quote') plus the source pool (curated list of named authors). It also names the sibling tools it complements (did_you_know, dino_fact), so an agent can separate it from the generic 'random' tool without opening a schema.

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

Usage Guidelines4/5

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

Gives concrete usage contexts ('today's trivia' outputs, daily content hooks, social posts, newsletter intros) and lists the tools it pairs with. It stops short of any exclusion or routing rule — notably it never distinguishes itself from the sibling 'random' tool — so it is clear context but not full when/when-not guidance.

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

randomA

Fetch a summary of a random Wikipedia article — serendipitous discovery across the entire encyclopedia. Returns the same title + summary + thumbnail shape as summary, but for a surprise topic. Ideal for exploration, icebreakers, trivia, and content inspiration when there's no specific subject in mind; supports other languages via lang.

ParametersJSON Schema
NameRequiredDescriptionDefault
langNoWikipedia language code (default 'en')en

TDQS

A3.9/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 behavioral burden. It does disclose the return shape ('title + summary + thumbnail') and language support, which is useful. However, it says nothing about the non-deterministic nature of the result, failure/empty-result behavior, rate limits, or whether results are cached, which matters for a randomness-based tool.

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 action and scoping, followed by the return-shape comparison and use cases. Two sentences with little waste, though 'serendipitous discovery across the entire encyclopedia' and the icebreakers/trivia list lean slightly promotional.

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 zero-required-parameter, read-only tool with no output schema, the description does the important work of summarizing the return shape and language behavior. What remains missing is only minor behavioral detail (randomness, error cases), so it is nearly complete for its complexity.

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 100% and the single `lang` parameter already documents itself with an enum and default. The description only adds 'supports other languages via `lang`,' which is marginal over the schema. Baseline 3 applies when the schema does the heavy lifting.

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

Purpose5/5

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

States a specific verb (fetch) and resource (a random Wikipedia article summary) and explicitly contrasts itself with sibling `summary` by noting it returns the same title + summary + thumbnail shape 'but for a surprise topic.' An agent can distinguish this from `summary`, `featured_article`, and `did_you_know` without opening any schema.

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

Usage Guidelines4/5

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

Gives clear usage context: 'exploration, icebreakers, trivia, and content inspiration when there's no specific subject in mind,' and implicitly routes to `summary` by referencing it as the same-shaped-but-targeted alternative. The condition for choosing this tool is stated, but the inverse case ('use summary when you do have a subject') is only implied rather than spelled out.

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

recent_changesA

Show the most recent changes to Wikipedia articles — a live window into what editors are doing right now. Uses the MediaWiki recentchanges feed over the article namespace. kind filters the stream: 'edit' (text changes), 'new' (newly published articles — a discovery feed of brand-new pages), 'categorize' (category membership changes), 'log' (page moves, deletions, protections). Complements revisions (history of one article) with the reverse angle: the freshest edits everywhere. Each entry shows the change kind, article link, byte-size delta, editor, timestamp, edit comment, and a diff link — great for spotting breaking-news edits, new pages on emerging topics, and bot-maintenance sweeps. Read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindNoFilter the change stream: 'all' (default), 'edit', 'new', 'categorize', or 'log'all
langNoWikipedia language code (default 'en')en
limitNoMax changes to return (default 10, max 50)

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden and does notable work: it declares 'Read-only,' identifies the underlying feed and namespace scope, and enumerates the shape of each returned entry (kind, article link, byte delta, editor, timestamp, comment, diff link). It does not cover rate limits, latency/freshness guarantees, or pagination, which keeps it out of the top band.

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?

Purpose and source are front-loaded in the first sentence, followed by the filter semantics and the sibling comparison. It is somewhat long and includes mild promotional framing ('great for spotting breaking-news edits'), but each sentence conveys usable information rather than filler.

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 3-param, zero-required, read-only feed tool with no output schema, the description supplies the missing return-value detail and the read-only safety profile. An agent has enough to call it correctly; only operational details like pagination or refresh behavior are absent.

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 coverage is 100%, so the baseline would be 3, but the description adds genuine semantic meaning beyond the enum labels — 'edit' = text changes, 'new' = newly published articles, 'categorize' = category membership changes, 'log' = page moves, deletions, protections. It does not elaborate on `lang` or `limit`, which the schema already handles.

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

Purpose5/5

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

States a specific verb + resource ('show the most recent changes to Wikipedia articles') and scopes it to the article namespace via the MediaWiki recentchanges feed. It also explicitly names the sibling it differs from ('Complements `revisions`... with the reverse angle'), so an agent can disambiguate without opening either schema.

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

Usage Guidelines4/5

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

Gives clear selection guidance: it explains that `revisions` is for the history of one article while this is the freshest edits everywhere, and it maps each `kind` value to a use case ('new' as a discovery feed, 'log' for moves/deletions/protections). It stops short of explicit when-not-to-use rules or prerequisites, but the alternative is named with the condition that selects it.

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

revisionsA

Show an article's recent edit history ('View history'): revision id, timestamp, editor, edit summary, and byte-size delta vs the previous revision. Each revision links to its diff (Special:Diff/) so you can inspect exactly what changed. Useful for tracking how an article evolves, auditing edits on a topic, or spotting edit activity around current events. Complements pageviews (popularity) with provenance (who changed what, when).

ParametersJSON Schema
NameRequiredDescriptionDefault
langNoWikipedia language code (default 'en')en
limitNoMax revisions to return (default 10, max 50)
titleYesArticle title (e.g. 'Tyrannosaurus' or 'Albert_Einstein')

TDQS

A4.1/5.0
Behavior4/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 so well: it discloses the exact return fields, the byte-size delta semantics, and that each revision links to its diff via Special:Diff/<revid>, implying a safe read. It omits pagination/limit behavior and rate-limit or auth context, which are minor for a read-only query.

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 and return fields, then use cases and sibling contrast. Four sentences stay efficient, though the diff-link detail and use-case list could be trimmed slightly.

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?

No output schema exists, so the description must describe return values — and it does thoroughly (id, timestamp, editor, summary, delta, diff link). An agent gets enough to call it correctly; only pagination/limit semantics and ordering are left implicit.

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 100%, so the schema already documents lang (with enum), limit (default and max), and title. The description adds nothing beyond the schema about parameter meaning or constraints, so the baseline 3 applies.

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

Purpose5/5

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

States a specific verb+resource ('Show an article's recent edit history') and enumerates exactly what it returns (revision id, timestamp, editor, edit summary, byte-size delta). It also explicitly distinguishes itself from the sibling `pageviews` by contrasting provenance vs. popularity.

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

Usage Guidelines4/5

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

Provides clear usage contexts (tracking article evolution, auditing edits, spotting current-event activity) and names `pageviews` as the complementary tool. However, it gives no when-not guidance and doesn't distinguish itself from plausible edit-oriented siblings like `recent_changes`, leaving the nearest alternative unaddressed.

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

summaryA

Get a concise summary of a Wikipedia article by exact title, plus its lead thumbnail image when one exists. The fastest way to get the gist of a known topic — e.g. 'Tyrannosaurus' or 'Albert_Einstein'. If you don't know the exact title, use search first to find it. For the full article text use article_extract; for just the section outline use article_sections.

ParametersJSON Schema
NameRequiredDescriptionDefault
langNoWikipedia language code (default 'en')en
titleYesArticle title (e.g. 'Tyrannosaurus' or 'Albert_Einstein')

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations, the description carries the behavioral burden and does well: it discloses the return content (summary plus optional lead thumbnail) and the exact-title precondition, which is the key failure mode for this tool. It does not mention error behavior when a title doesn't exist, but the essential traits are covered.

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?

Three sentences, each earning its place: capability, usage hint with examples, then sibling routing. The core capability is front-loaded and nothing is padded.

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

Completeness5/5

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

No output schema exists, so the description must convey returns — and it does (summary plus thumbnail when one exists). Combined with explicit sibling routing and full schema coverage, an agent has everything needed to select and invoke it correctly.

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 100%, so both `title` and `lang` are already documented, including the enum values and default. The description only reinforces the exact-title semantics already in the schema, so baseline 3 applies.

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

Purpose5/5

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

Specific verb (Get) plus resource (concise summary of a Wikipedia article) with scope stated: by exact title, plus lead thumbnail when present. It clearly distinguishes itself from article_extract and article_sections, so an agent can pick it without opening schemas.

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

Usage Guidelines5/5

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

Explicit routing: exact title required, and if the title is unknown the agent is told to use `search` first. It also names the alternatives for adjacent needs (article_extract for full text, article_sections for outline), covering when-not-to-use.

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

top_readsA

Get the most-read articles on Wikipedia for a given date. Uses Wikimedia's top-pageviews endpoint (all-access, daily). Default date is yesterday UTC (today's data is typically not yet finalized). Filters out non-content namespaces (Main_Page, Special:Search, Portal:Current_events, Wikipedia:*, etc.) so the result is real articles only. Pairs with pageviews (per-article over a range) for trending-vs-popular comparisons — top_reads answers 'what is everyone reading right now' while pageviews answers 'how is this specific article trending'.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNoDate in YYYYMMDD (default: yesterday UTC)
langNoWikipedia language code (default 'en')en
limitNoMax articles to return (default 10, max 50)

TDQS

A4.3/5.0
Behavior4/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 and does a good job: it discloses the data source (Wikimedia top-pageviews, all-access, daily), the default date rationale (today's data not finalized), and the namespace filtering that removes non-article noise. It does not cover rate limits, auth, or response shape, but the substantive behavior is well documented.

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, followed by source, default-date caveat, filtering note, and sibling comparison. Slightly long, but each sentence earns its place; only the endpoint/routing sentence could be trimmed.

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 no-annotation, no-output-schema tool with three well-documented params, the description is complete enough to invoke correctly: it covers source, date semantics, filtering, and sibling differentiation. Minor gaps (return shape, result ordering) remain, but nothing blocks correct invocation.

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 100%, so the schema already documents date, lang, and limit. The description reinforces the date default (yesterday UTC) and explains the namespace filtering behavior, but adds no syntax or format detail beyond the schema. Baseline 3 is appropriate when the schema does the heavy lifting.

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

Purpose5/5

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

The description opens with a precise verb+resource: 'Get the most-read articles on Wikipedia for a given date,' and then names the underlying endpoint. It clearly distinguishes top_reads (aggregate popularity) from the sibling pageviews (per-article trending), so an agent can route between them without opening either schema.

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

Usage Guidelines5/5

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

It explicitly frames when to use this tool versus pageviews ('what is everyone reading right now' vs 'how is this specific article trending'), giving the agent a decision rule. It also notes the default date behavior and why finalized data matters.

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

translationsA

List all language versions of a Wikipedia article (langlinks). Returns the other-language editions the article exists in — e.g. for 'Tyrannosaurus' (en), returns de/fr/es/ja/zh titles. Complements the one-way lang parameter used by other tools: every tool can query a single language, but only translations reveals the article's full language coverage so callers can pick a target language to fetch next. Useful for translation research (full coverage vs. stub languages), cross-language content sourcing, and language-coverage analysis. limit clamps the number of entries (default 30, max 100) — popular articles can have 100+ language versions.

ParametersJSON Schema
NameRequiredDescriptionDefault
langNoWikipedia language code to query from (default 'en')en
limitNoMax language entries to return (default 30, max 100)
titleYesArticle title (e.g. 'Tyrannosaurus' or 'Albert_Einstein')

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description carries the disclosure burden and does a reasonable job: it reveals the result shape (other-language editions/titles), discloses the `limit` clamp with default and max, and warns that popular articles exceed 100 languages. It does not explicitly state that the operation is read-only or describe pagination/truncation behavior beyond the clamp, so a 4 rather than a 5.

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 core definition and the sibling differentiation are front-loaded, and most sentences earn their place. The use-case list ('translation research, cross-language content sourcing, language-coverage analysis') is somewhat enumerative and could be trimmed, but the description is otherwise tight.

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?

There is no output schema, so the description must convey return contents, and it does so at a useful level (other-language titles, e.g. de/fr/es/ja/zh). Combined with the coverage of all three parameters, an agent has enough to call it correctly; explicit read-only/pagination notes are the only meaningful omission.

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 coverage is 100%, so the baseline is 3, but the description adds practical meaning: it explains why `limit` exists ('popular articles can have 100+ language versions') and frames `lang` as the source-language selector that other tools expose one-way. The `limit` default/max is largely a restatement of the schema, so the added value is real but modest.

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

Purpose5/5

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

The description names a specific verb and resource ('List all language versions of a Wikipedia article (langlinks)') and grounds it with a concrete example ('Tyrannosaurus' -> de/fr/es/ja/zh). It also differentiates itself from siblings by contrasting with the one-way `lang` parameter used elsewhere, so an agent can distinguish it without opening a schema.

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

Usage Guidelines4/5

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

It states clearly when this tool is the right choice: when the caller needs the article's full language coverage to pick a target language to fetch next, and lists concrete scenarios (translation research, cross-language sourcing, coverage analysis). It does not give explicit when-not-to-use exclusions or route to a specific alternative tool, keeping it just short of a 5.

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. 1 tool updatev0.1.2
    • Addedcategory_members
  2. 25 tool updatesv0.1.0
    • First observedarticle_extract
    • First observedarticle_sections
    • First observedbacklinks
    • First observedcategories
    • First observeddeaths_on_this_day
    • First observeddid_you_know
    • First observeddino_fact
    • First observedexternal_links
    • First observedfeatured_article
    • First observedimage
    • First observedlinks
    • First observedmedia_list
    • First observednearby
    • First observednews
    • First observedon_this_day
    • First observedpageviews
    • First observedpicture_of_the_day
    • First observedquote
    • First observedrandom
    • First observedrecent_changes
    • First observedrevisions
    • First observedsearch
    • First observedsummary
    • First observedtop_reads
    • First observedtranslations

TDQS

A4.1/5.0

Scored across 26 tools

Disambiguation5/5

Every tool targets a distinct resource and action, with descriptions that explicitly disambiguate overlapping pairs (e.g., summary vs article_extract, links, backlinks, external_links, media vs media_list). The daily content tools are each unique (featured_article, on_this_day, deaths_on_this_day, picture_of_the_day, news), so an agent can reliably select the right one.

Naming Consistency5/5

All tools use a single snake_case convention, whether they are noun-phrase ecosystem (article_sections, category_members, external_links) or verb-like names (search, links, care, point). There is no mixing of camelCase, abbreviations, or inconsistent verb styles, so the names feel cohesive and predictable.

Tool Count3/5

With 26 tools, the surface is larger than the typical 3-15 range and crosses the '25+' threshold. However, Wikipedia is a broad domain, and each tool covers a distinct read-only aspect (search, taxonomy, media, statistical, feeds, geo, translations, edit history). The count is high but not bloated for the apparent scope.

Completeness5/5

The toolset covers the read-only Wikipedia domain tightly: search and discovery, overview and full text, navigation through categories, links, backlinks, external links, translations, geo, media, pageview stats, recent changes, revisions, and daily curated feeds. There are no obvious gaps that would cause an agent to hit a dead end when trying to perform a typical Wikipedia research or content-sourcing task.

Maintenance

ActivityActive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers