Wikimedia Enterprise docs
Server Details
Wikimedia Enterprise API docs: search the guides, read every endpoint. Read-only, no account needed.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
TDQS
Scored across 4 tools
Each tool has a distinct role: search finds content, fetch retrieves it by id, list_endpoints enumerates endpoints, and get_endpoint provides precise endpoint shapes. The only slight overlap is between fetch and get_endpoint for endpoint details, but their descriptions clarify the different output formats.
The set mixes bare-verb names (`fetch`, `search`) with prefixed verb_noun names (`get_endpoint`, `list_endpoints`). While each name is readable, the lack of a uniform convention like `get_*`/`list_*`/`search_*` makes the set feel slightly inconsistent.
Four tools is a reasonable, compact surface for a documentation-focused server. It covers the core interactions without redundancy or bloat, though a fifth tool for browsing all guides (without needing a search term) could be justified.
The server supports searching, listing, and fetching both guide content and endpoint specifications, which covers the main documentation workflows. The main gap is the lack of a direct way to enumerate all guides or schemas independently of search, but agents can work around this with search.
Available Tools
4 toolsfetchFetch a docs page, endpoint or modelARead-onlyIdempotentInspect
Full text for one id from search: docs/<slug> (a guide, as markdown; a #section suffix is accepted), op/<operationId> (one endpoint rendered from the OpenAPI definition) or schema/<name> (one response model).
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | An id returned by `search`. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | Yes | |
| url | Yes | |
| text | Yes | |
| title | Yes | |
| metadata | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnlyHint and idempotentHint. The description adds behavioral value by specifying that guides are returned as markdown, a `#section` suffix is accepted, endpoints are rendered from the OpenAPI definition, and schemas correspond to response models. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, dense sentence with the core purpose front-loaded and the id variants compactly listed. Every clause earns its place; there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With one required parameter, an output schema, and read-only/idempotent annotations, the description covers the essential call details. The only minor gap is not explicitly routing around get_endpoint/list_endpoints, but the 'one id from search' framing makes the tool's role adequately complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema only says the id is 'returned by `search`', while the description defines the exact accepted id grammar: `docs/<slug>`, `op/<operationId>`, and `schema/<name>`. This is essential semantic detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('fetch'), a resource ('docs page, endpoint or model'), and the exact scope: 'Full text for one id from `search`'. It also enumerates the accepted id forms, distinguishing it from the search/list siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Full text for one id from `search`' clearly implies this tool is the follow-up to a search call, which provides the id. It does not explicitly contrast itself with get_endpoint or list_endpoints, but the single-id context is clear enough for an agent to select it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_endpointGet one endpointARead-onlyIdempotentInspect
The exact request and response shape of one endpoint, dereferenced from the OpenAPI definition (the source of truth), as structured JSON plus a markdown rendering. Identify it by operationId, or by method and path.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | Templated path as written in the reference, e.g. `/v2/snapshots/{identifier}` | |
| method | No | GET, HEAD or POST | |
| operationId | No | e.g. `getSnapshotsByIdentifier` |
Output Schema
| Name | Required | Description |
|---|---|---|
| tag | Yes | |
| url | Yes | |
| path | Yes | |
| method | Yes | |
| operation | Yes | |
| operationId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already carry readOnlyHint=true and idempotentHint=true, so the safety profile is covered. The description adds genuinely new behavioral context: output is 'dereferenced from the OpenAPI definition (the source of truth)', informing the agent that $ref pointers are resolved, and that results come as 'structured JSON plus a markdown rendering'. No contradiction with annotations; the read behavior is consistent with readOnlyHint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with zero filler. The core purpose is front-loaded, and the second sentence delivers the identification logic. Every clause earns its place; no redundant restatement of the title or annotations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the return structure is documented externally, so the description need not re-explain it. It covers the dereferencing behavior and the selection logic. The only minor gap is error behavior when an endpoint cannot be found, which is acceptable given the readOnly/idempotent annotations and available output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so all three parameters (path, method, operationId) are already documented. The description adds value beyond the schema by explaining the parameter relationship: the endpoint can be identified by operationId OR by method+path, which clarifies that the parameters are alternative selectors rather than jointly required — essential given 0 required parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: it returns 'the exact request and response shape of one endpoint'. It clearly differentiates from siblings — list_endpoints ('one endpoint' vs. listing) and search — and specifies both the output format ('structured JSON plus a markdown rendering') and the identification keys (operationId or method+path). An agent can distinguish this from fetch/list_endpoints/search without inspecting schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The context is clear: use this tool to retrieve the dereferenced shape of a single endpoint, and the description gives concrete identification guidance ('Identify it by operationId, or by method and path'). It does not name sibling alternatives or explicit when-not scenarios, but given siblings like list_endpoints and search, the singular-scope wording makes the intended usage unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_endpointsList API endpointsARead-onlyIdempotentInspect
Every endpoint in the Wikimedia Enterprise OpenAPI definition, in reference order, with its technical title, its plain-language line and a link into the reference. Filter with a tag: authentication, codes, languages, projects, namespaces, batches, wikidata-batches, snapshots, wikidata-snapshots, structured-snapshots, articles, structured-contents, wikidata, realtime-articles, realtime-wikidata.
| Name | Required | Description | Default |
|---|---|---|---|
| tag | No | An OpenAPI tag; omit for all endpoints. |
Output Schema
| Name | Required | Description |
|---|---|---|
| endpoints | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, so the safety profile is covered. The description adds useful behavioral context beyond annotations: endpoints are returned 'in reference order' and each includes three specific pieces of information. This helps the agent set expectations about the response structure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no filler: the first delivers the core purpose and output shape, and the second explains the optional filter with an exhaustive tag list. Everything present earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list-all operation with one optional parameter and an output schema, the description is complete. It covers scope, ordering, output contents, and filtering, leaving no material gap for an agent to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the tag parameter, so the schema already provides a baseline. The description adds significant value by enumerating the exact allowed tag values and clarifying that the tag is a filter, which is more actionable than the schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific resource ('every endpoint in the Wikimedia Enterprise OpenAPI definition') and the exact form of the output ('technical title, plain-language line, link into the reference'). The strength of 'every' distinguishes it from siblings like get_endpoint and search, which are clearly about individual or filtered retrieval.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly explains the filtering capability and lists all valid tags, giving an agent concrete guidance for using the tool. However, it never mentions when to prefer this tool over siblings such as get_endpoint or search, leaving the alternative-selection logic implicit rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchSearch the Wikimedia Enterprise docsARead-onlyIdempotentInspect
Full-text search over the Wikimedia Enterprise API documentation: guide sections, endpoints and response models. Exact tokens work best (a field name such as reference_risk_score, a status code such as 429, or a path such as /v2/snapshots/{identifier}/download). Returns ids to pass to fetch.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes | What to look for. Field names, endpoint paths, status codes and plain questions all work. | |
| scope | No | `docs` for the prose guides, `reference` for endpoints and models, `all` for both. | all |
Output Schema
| Name | Required | Description |
|---|---|---|
| results | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the tool read-only and idempotent, so the safety profile is covered. The description adds behavioral context beyond that: it is full-text search, token matching is most effective with exact terms, and the output is a set of ids intended for fetch. No contradiction with the annotations exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, front-loads the core purpose, and then adds only high-value usage details and output destination. Every sentence earns its place with no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema, annotations, and schema descriptions, nothing essential is missing. The description completes the picture by explaining what the tool searches, how to query effectively, and where the returned ids should be used next, which is sufficient for an agent 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.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 67% schema description coverage, the schema already documents most parameters, but the description adds practical meaning to the query parameter with concrete examples like field names, status codes, and paths. It also clarifies the output's purpose, while the limit and scope parameters remain clear from the schema defaults and enums.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: full-text search over the Wikimedia Enterprise API documentation, covering guide sections, endpoints, and response models. It also explicitly says the tool returns ids to pass to fetch, which clearly distinguishes it from the sibling tools fetch, get_endpoint, and list_endpoints.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives concrete usage guidance: exact tokens such as field names, status codes, and endpoint paths work best, and the returned ids are meant for a downstream fetch call. It does not explicitly list when not to use search versus get_endpoint or list_endpoints, so it stops short of a full exclusion-based 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.
4 tool updates
- First observed
fetch - First observed
get_endpoint - First observed
list_endpoints - First observed
search
Related MCP Connectors
Wikipedia, Wikidata and Wiktionary as clean JSON, not HTML. 1.9M searchable. Free, no auth.
Live Wikipedia edit feed, page summaries, trending pages, and Wikidata search.
Search and read Empryo's documentation. Read-only, no auth, no local access.
Related MCP Servers
- AlicenseAqualityBmaintenanceEnables MCP clients to search, read, create, preview, and edit Smartipedia encyclopedia articles with no API key or signup.770 npmMIT
- AlicenseAqualityDmaintenanceEnables natural language queries to search, retrieve, and explore Wikipedia and other Wikimedia project content, including featured articles and historical events.6MIT
- FlicenseNot gradedqualityDmaintenanceEnables searching and retrieving Wikipedia content across multiple languages, including article summaries, sections, coordinates, and related topics.-
- AlicenseNot gradedqualityFmaintenanceProvides comprehensive access to Wikipedia content including article search, full text retrieval, summaries, categories, links, images, language versions, and external references through 9 specialized tools.9 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.