Skip to content
Wikimedia Enterprise
Documentation menu

AI Agents and MCP

View as Markdown (opens in a new tab)

This documentation is published in forms an AI agent can read directly, alongside the pages you are reading now. Everything below is generated from the same source as the HTML at build time.

At a glance

  • Index: /llms.txt, a curated map of the site with a sentence of context per section
  • Markdown pages: append .md to any /docs/ URL, for example /docs/snapshot.md, or request the page URL with Accept: text/markdown
  • OpenAPI definition: /docs/api/wme-api.yaml, the source of truth for every request and response shape
  • MCP server: https://enterprise.wikimedia.com/mcp, read-only, no account needed
  • Pricing as markdown: /pricing.md

Markdown versions of every guide

Every guide under /docs/ has a markdown version at the same URL with .md appended, and the docs index is at /docs/index.md. A request for the page URL that lists text/markdown in its Accept header, which Claude Code, Cursor and OpenCode send by default, receives the markdown version at that URL; /pricing/ answers the same way. Each HTML page also links to its markdown version with a <link rel="alternate" type="text/markdown"> tag, so an agent that reads the page header finds it without guessing. The markdown versions carry the same headings as the pages, so a section link such as /docs/status-codes/#4xx-client-error names the same heading in both.

/llms.txt lists the markdown versions in reading order together with the API reference, the SDKs, the product pages and pricing. It follows the llmstxt.org convention.

The docs MCP server

The Model Context Protocol lets an AI application call tools a server exposes. Our server exposes this documentation: it searches the guides and the OpenAPI definition, returns full pages and endpoints, and nothing else. It never calls the Wikimedia Enterprise API, holds no credentials and stores nothing between requests.

  • Endpoint: https://enterprise.wikimedia.com/mcp
  • Transport: Streamable HTTP, MCP revision 2026-07-28. Clients on the 2025 revisions are served too.
  • Authentication: none. The server is public and read-only.

Tools

ToolWhat it returns
searchMatches across guide sections, endpoints and response models for a query. 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. Each result carries an id for fetch and a url on this site.
fetchThe full text for one result id: a guide as markdown (docs/snapshot), one endpoint rendered from the OpenAPI definition (op/getSnapshotsByIdentifier), or one response model (schema/article).
list_endpointsEvery endpoint in reference order, optionally filtered by tag, with its title, its plain-language line and a link into the API reference.
get_endpointOne endpoint with every $ref resolved, as structured JSON plus a markdown rendering. Identify it by operationId, or by method and path.

search and fetch follow the shape ChatGPT requires of a connector, so the server works there as well as in agents that use tools freely.

The server also lists each guide's markdown version and the OpenAPI definition as MCP resources, under their public URLs.

Add it to your client

Claude Code:

claude mcp add --transport http wme-docs https://enterprise.wikimedia.com/mcp

Cursor and VS Code read the same JSON shape; add it to .cursor/mcp.json or .vscode/mcp.json:

{
"servers": {
"wme-docs": {
"type": "http",
"url": "https://enterprise.wikimedia.com/mcp"
}
}
}

In Cursor the top-level key is mcpServers rather than servers. In ChatGPT, add the URL as a custom connector under Settings > Connectors, with no authentication.

Note:

The endpoint accepts POST only. A GET returns 405 Method Not Allowed, which is the expected answer for a server on the 2026-07-28 revision, not an outage.

Limits

Requests are rate limited per address at the edge. An agent session is a discovery call, a tool listing and a handful of tool calls, which is well inside the limit; a crawler replaying the whole corpus is not. Responses are cacheable for an hour, and the server says so in every list result.

See also