<!-- Wikimedia Enterprise docs. Canonical page: https://enterprise.wikimedia.com/docs/agents/ -->

# AI Agents and MCP

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`](https://enterprise.wikimedia.com/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`](https://enterprise.wikimedia.com/docs/snapshot.md), or request the page URL with `Accept: text/markdown`
- **OpenAPI definition:** [`/docs/api/wme-api.yaml`](https://enterprise.wikimedia.com/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`](https://enterprise.wikimedia.com/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](https://llmstxt.org/) convention.

## The docs MCP server

The [Model Context Protocol](https://modelcontextprotocol.io/) 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

| Tool             | What it returns                                                                                                                                                                                                                                                                                        |
| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `search`         | Matches 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. |
| `fetch`          | The 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_endpoints` | Every endpoint in reference order, optionally filtered by tag, with its title, its plain-language line and a link into the [API reference](https://enterprise.wikimedia.com/docs/api/).                                                                                                                |
| `get_endpoint`   | One 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:

```bash
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`:

```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

- [API reference](https://enterprise.wikimedia.com/docs/api/) and the [OpenAPI definition](https://enterprise.wikimedia.com/docs/api/wme-api.yaml)
- [Getting Started](https://enterprise.wikimedia.com/docs/) for accounts and a first call
- [Best Practices](https://enterprise.wikimedia.com/docs/best-practices/) for keeping request counts low
