---
title: "Fumadocs: vendor profile: Agent Ready HTML"
description: "Fumadocs, a framework: 1 of 6 standards stated as supported, 13 sourced facts, dated plans and what it does not do. Read 2026-11-05."
canonical: https://agentreadyhtml.com/vendors/fumadocs/
site: "Agent Ready HTML"
last_updated: 2026-11-05
section: "Vendors"
---

# Fumadocs: vendor profile: Agent Ready HTML

> Fumadocs, a framework: 1 of 6 standards stated as supported, 13 sourced facts, dated plans and what it does not do. Read 2026-11-05.

Source: https://agentreadyhtml.com/vendors/fumadocs/
Site: Agent Ready HTML
Last reviewed: 2026-11-05

# Fumadocs: vendor profile

In short

Fumadocs adds llms.txt, .md routes and an MCP route only after a CLI step, so a fresh project has none. www.fumadocs.dev answered Accept: text/markdown with markdown on 2026-11-05 but sent Vary fields that left out Accept. On Next.js the docs hand the Vary header to the CDN, and no Astro recipe for negotiation exists.

## At a glance

**standards.txt** fumadocs

```text
llms-txt               = partial
markdown-negotiation   = partial
markdown-twin          = partial
initial-html           = supports
real-404               = no statement
vary-accept            = partial
```

1 supports, 4 partial or announced, 1 no statement.

**Fumadocs** Framework

React docs framework for Next.js, React Router, TanStack Start, Waku and Astro; a CLI adds llms.txt, llms-full.txt, .md routes and an MCP route, and its docs give a proxy recipe for Accept: text/markdown with Vary: Accept.

Type

[Framework](https://agentreadyhtml.com/vendors/by-type/framework/)

Operator, as the facts below state it

Fuma Nama (maintainer) and contributors

Home page

[www.fumadocs.dev](https://www.fumadocs.dev/), answered HTTP 200 on 2026-11-05

Last read

5 November 2026

## What it does for this layer

-   Fumadocs runs on Next.js, React Router, TanStack Start, Waku and Astro, and new projects start from npm create fumadocs-app. \[primary source\] [source](https://www.fumadocs.dev/docs), read 5 November 2026.
-   Running npx @fumadocs/cli feature llms switches on processed Markdown for the docs collection, adds docsLlms to lib/source.ts and creates the LLM routes. \[primary source\] [source](https://www.fumadocs.dev/docs/integrations/llms), read 5 November 2026.
-   In Fumadocs, llms.txt and llms-full.txt are app routes (app/llms.txt/route.ts and app/llms-full.txt/route.ts) returning docsLlms.index() and docsLlms.full(). \[primary source\] [source](https://www.fumadocs.dev/docs/integrations/llms), read 5 November 2026.
-   Fumadocs maps /docs/<slug>.md to the route /llms.mdx/docs/<slug>/content.md through a Next.js rewrite and answers with Content-Type text/markdown. \[primary source\] [source](https://www.fumadocs.dev/docs/integrations/llms), read 5 November 2026.
-   For Accept-based negotiation fumadocs-core/negotiation exports isMarkdownPreferred and rewritePath, used in a proxy.ts that rewrites docs requests to the Markdown route. \[primary source\] [source](https://www.fumadocs.dev/docs/integrations/llms), read 5 November 2026.
-   Fumadocs leaves Astro out of Accept negotiation because Astro middleware runs only for on-request pages and docs pages are prerendered. \[primary source\] [source](https://www.fumadocs.dev/docs/integrations/llms), read 5 November 2026.
-   npx @fumadocs/cli feature mcp adds an /api/mcp route on the streamable HTTP transport with tools to list, search and read docs pages. \[primary source\] [source](https://www.fumadocs.dev/docs/integrations/llms), read 5 November 2026.
-   Fumadocs configures ZBSearch out of the box, served from a server API endpoint or from a statically cached JSON file on static sites. \[primary source\] [source](https://www.fumadocs.dev/docs/search/orama), read 5 November 2026.
-   A Fumadocs site on Next.js becomes plain static HTML with output: 'export', which needs no Node.js server. \[primary source\] [source](https://www.fumadocs.dev/docs/deploying/static), read 5 November 2026.
-   Fumadocs calls its model server-first, built on React Server Components rather than a classic static generator. \[primary source\] [source](https://www.fumadocs.dev/docs/what-is-fumadocs), read 5 November 2026.
-   www.fumadocs.dev returned Markdown for /docs/what-is-fumadocs under Accept: text/markdown on 2026-11-05, but its Vary header listed rsc and next-router fields, not Accept; /docs with the same header still returned HTML. \[observed\] [source](https://www.fumadocs.dev/docs/integrations/llms), read 5 November 2026.
-   fumadocs.dev answers every path with a 308 to www.fumadocs.dev, where llms-full.txt measured 950,600 bytes on 2026-11-05. \[observed\] [source](https://www.fumadocs.dev/docs/integrations/llms), read 5 November 2026.
-   GitHub shows fumadocs-core 16.18.0, fumadocs-ui 16.18.0 and @fumadocs/base-ui 16.18.0 released together on 2026-11-05. \[primary source, 2026-11-05\] [source](https://github.com/fuma-nama/fumadocs/releases), read 5 November 2026.

## Products and plans

| Product | What it is | Price | As of | Source |
| --- | --- | --- | --- | --- |
| Fumadocs (fumadocs-core, fumadocs-ui, fumadocs-mdx) | Headless docs core, default UI and MDX content source for React frameworks. | Free, open source; MIT licence, free | 2026-11-05 | source |

## Standards

| Standard | Status | What the vendor's pages say | Source |
| --- | --- | --- | --- |
| llms-txt | partial | Fumadocs creates llms.txt and llms-full.txt routes after npx @fumadocs/cli feature llms; they are not present until that step. | source |
| markdown-negotiation | partial | Fumadocs documents a proxy.ts with isMarkdownPreferred for Next.js, React Router and TanStack Start, and leaves Astro out. | source |
| markdown-twin | partial | A rewrite of /docs/:slug*.md to /llms.mdx/docs/:slug*/content.md gives each page a Markdown URL once the LLM feature is added. | source |
| initial-html | supports | Fumadocs renders through React Server Components and keeps the host framework's static site generation. | source |
| real-404 | no statement | No statement found in the Fumadocs quick start, static build or AI pages; www.fumadocs.dev returned 404 for a made-up path on 2026-11-05. | none |
| vary-accept | partial | Fumadocs says the negotiated response needs Vary: Accept but that Next.js drops Vary on App Router pages, so it must be set at the CDN. | source |

## Checks on its own site

| Reading | Result | Date |
| --- | --- | --- |
| Home page request | HTTP 200; H1 in the initial HTML: yes; 1,762 words; 0 JSON-LD blocks | 2026-11-05 |
| Request with Accept: text/markdown | HTTP 200, text/markdown, Vary: rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch | 2026-11-05 |
| /llms.txt at the host root | HTTP 200, text/plain, 16 KB, starts with an H1 | 2026-11-05 |
| A made-up path | HTTP 404 | 2026-11-05 |
| Ora score, cached | 57, grade C | 2026-10-06 |
| Cloudflare keyless scan | 27, L1 Basic Web Presence | 2026-11-05 |

## What it does not do

-   On Next.js, Fumadocs cannot attach Vary: Accept to App Router page responses; its docs push that header to the CDN. [source](https://www.fumadocs.dev/docs/integrations/llms), read 5 November 2026.

## Related pages on this site

-   [Frameworks in this section](https://agentreadyhtml.com/vendors/by-type/framework/)
-   [The Plain Fetch viewer](https://agentreadyhtml.com/viewer/)

## Sources

1.  [Fumadocs: home page](https://www.fumadocs.dev/) https://www.fumadocs.dev/, read 5 November 2026
2.  [Quick Start | Fumadocs](https://www.fumadocs.dev/docs) https://www.fumadocs.dev/docs, read 5 November 2026
3.  [AI & LLMs | Fumadocs](https://www.fumadocs.dev/docs/integrations/llms) https://www.fumadocs.dev/docs/integrations/llms, read 5 November 2026
4.  [ZBSearch (default) | Fumadocs](https://www.fumadocs.dev/docs/search/orama) https://www.fumadocs.dev/docs/search/orama, read 5 November 2026
5.  [Static Build | Fumadocs](https://www.fumadocs.dev/docs/deploying/static) https://www.fumadocs.dev/docs/deploying/static, read 5 November 2026
6.  [What is Fumadocs | Fumadocs](https://www.fumadocs.dev/docs/what-is-fumadocs) https://www.fumadocs.dev/docs/what-is-fumadocs, read 5 November 2026
7.  [Releases · fuma-nama/fumadocs · GitHub](https://github.com/fuma-nama/fumadocs/releases) https://github.com/fuma-nama/fumadocs/releases, read 5 November 2026
8.  [Fumadocs LICENSE](https://raw.githubusercontent.com/fuma-nama/fumadocs/dev/LICENSE) https://raw.githubusercontent.com/fuma-nama/fumadocs/dev/LICENSE, read 5 November 2026

Last reviewed 5 November 2026

Edition

Crawl

2026-11-04

Page updated

2026-11-05

Method

How the viewer reads a page, how a file is graded and how a platform is scored: [the method page](https://agentreadyhtml.com/method/).
