pmndrs docs
io.github.pmndrs/docs · 120 stars · TypeScript · MIT
MCP server Search and read the docs and examples of react-three-fiber, drei, zustand, jotai... from your agent
Install
The repo has no one-line install. Follow its README.
Published as
- Remote
https://docs.pmnd.rs/api/mcpStreamable HTTP
From the server's entry in the official MCP Registry.
Files
docs/getting-started/introduction.mdx
Usage
Read
$ npx @pmndrs/docs # the reader: every library, every page $ npx @pmndrs/docs drei # straight into one $ npx @pmndrs/docs drei/performances/instances # straight to a page $ npx @pmndrs/docs search instanced mesh # one result per line, on stdout
↑↓ drives whichever pane has the focus — the list of pages, or the page itself. ⏎ or ⇥
hands the focus over, esc or ⇥ hands it back, and the lit border says where it is — the
wheel moves whichever pane it points at, focus or no focus. ←→ changes library, b folds the sidebar away, / searches every library at once, o opens the
page in a browser, q quits. Links inside a page are clickable wherever the terminal honours
OSC 8 hyperlinks — iTerm2, Ghostty, WezTerm, Kitty, Windows Terminal.
search is the half a pipe or an agent can use: results read {lib} {path} - {title}, the
shape the MCP server publishes its index in, and nothing found exits 1.
--in drei narrows to one library, --in drei/performances/instances to the matching lines of
one page.
Both read the published llms-full.txt of each library, cached for an hour under
~/.cache/pmndrs-docs — --refresh fetches again. Outside a terminal, a page target is
written to stdout, so npx @pmndrs/docs drei/performances/instances | glow works.
Build
$ cat foo.mdx | npx @pmndrs/docs@latest build # one HTML fragment, on stdout $ npx @pmndrs/docs@latest build docs out # one .html per .mdx, assets alongside $ npx @pmndrs/docs@latest build docs out --format website # the whole website, statically exported
--format fragment (the default) needs nothing but node — no next build, no bundler. A
fragment is the compiled MDX and nothing else: no layout, no stylesheet, no script. Mermaid
diagrams stay fenced blocks, and Sandpack shows its code without the editor.
build --help lists every website option — --libname, --base-path, --icon, --theme-*… Each
one falls back to the environment variable it maps to, the same ones
configuration documents.
Preview a folder of MDX, served
$ curl -sL https://raw.githubusercontent.com/pmndrs/docs/refs/heads/main/preview.sh | \ MDX="docs" \ ICON="🥑" \ sh
Builds the website, then serves it — alongside the MDX folder itself, so relative assets
resolve while you edit. Any option from
configuration goes in the same way, and
VERSION picks a published version of the CLI.
Releasing
Every push to main redeploys docs.pmnd.rs via ci.yml — no changeset needed for that.
Add one (pnpm changeset) only when downstream consumers pinning pmndrs/docs/.github/workflows/build.yml@v4 or @pmndrs/docs@4 should pull the change. It bumps package.json, publishes to npm, and tags vX.Y.Z + vX — so @v4 resolves to the latest.
TL;DR — site-only tweak: skip. Anything consumers see (workflow, build behavior, templates): add one.
Test
Visual tests are performed in the cloud, through chromatic-playwright.yml and chromatic-storybook.yml.
pnpm run lgtm— fast gate: types, lint, registry validation, unit tests.pnpm run LGTM— full gate CI runs:lgtm+ Playwright.
Screenshots Playwright writes locally are throwaway — Chromatic holds the baselines.
Details
You can also replay locally:
$ pnpm run LGTM $ npx chromatic --playwright --project-token $CHROMATIC_PROJECT_TOKEN
Facts
- Kind
- MCP server
- Repo
- pmndrs/docs
- Group
- Uncategorized
- Stars
- 120
- License
- MIT
- Language
- TypeScript
- Last push
- 2026-10-11
- Forks
- 99
- MCP Registry
- io.github.pmndrs/docs
- Homepage
- pmndrs.github.io/docs
- Topics
- nextjs, github-actions, github-pages, mdx, static, vercel, documentation, mcp, mcp-server, model-context-protocol
- 1REAio.github.morluto/reaReverse engineer anything from your terminal or agent with one CLI and MCP server.125.3k
- 2com.browser-use/browser-usecom.browser-use/browser-useControl a real Chrome browser to complete any task: fill forms, extract data, book flights.117.7k
- 3World Monitorapp.worldmonitor/mcpLive markets, conflicts, country risk, chokepoints, energy, and China decision signals. 93 tools.88.3k
- 4Scrapling MCP Serverd4vinci/scrapling🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scraplingdev86.9k
- 5Everythingmodelcontextprotocol/serversThis MCP server attempts to exercise all the features of the MCP protocol. It is not intended to be a useful server, but rather a test server for builders of MCP clients. It implements prompts, tools, resources, sampling, and more to showcase MCP capabilities.85.8k
- 6Fetchmodelcontextprotocol/serversA Model Context Protocol server that provides web content fetching capabilities. This server enables LLMs to retrieve and process content from web pages, converting HTML to markdown for easier consumption.85.8k
