Skip to page content

AI Agents

AI coding agents know a Quasar, not necessarily yours. The @quasar/mcp package is an MCP (Model Context Protocol) server that hands any MCP-capable agent the documentation pages and the component API of the exact Quasar versions installed in your project, offline.

Requirements
  • Quasar UI v2.33+
  • @quasar/app-vite v3.9+ (if using it in your project)

How it works

The documentation ships with the packages: the pages about components, plugins, directives, composables, utils and styling are inside quasar, the ones about the CLI, its modes and configuration inside @quasar/app-vite. The API of every component, plugin and directive ships with quasar as it always has, and since v2.33 also in the compact form this site shows. The server reads them from your project’s node_modules, so:

  • the answers describe the versions you run, not the latest release;
  • nothing is fetched from quasar.dev, it works offline;
  • upgrading a package upgrades its documentation.
NOTE

The pages are the same ones you read on this site; every page also has a Markdown button (top right) and a .md sibling URL for agents that browse the web.

Setup

Register the server with your MCP client. Nothing gets installed in your project: npx starts the latest server release, so it keeps itself up to date, and when you are offline it starts the copy it cached last time (the retries flag is what keeps that quick).

{
  "mcpServers": {
    "quasar": {
      "command": "npx",
      "args": ["-y", "--fetch-retries=0", "@quasar/mcp@latest"]
    }
  }
}

The server serves the project it is started in, which is what every client does when the configuration lives in the project. If yours starts servers from elsewhere, add "--project", "/path/to/project" to the arguments.

Monorepos

Opened at the root of a workspace, the server resolves the packages the way your code does, so a hoisted layout (npm, Yarn) is found at the root. With pnpm, each app keeps its own node_modules, so when the root has none the server looks a few levels below it: one Quasar app there gets served, and the agent is told which. Several apps get the first one (a full app before a package that only depends on quasar, in path order otherwise), and the agent is told about the others; pass "--project", "apps/web" to serve a specific one. Given explicitly, a directory is served as is.

Claude Code

claude mcp add quasar -- npx -y --fetch-retries=0 @quasar/mcp@latest

On native Windows (not WSL), Claude Code starts npx servers through the command shell:

claude mcp add quasar -- cmd /c npx -y --fetch-retries=0 @quasar/mcp@latest

Codex

codex mcp add quasar -- npx -y --fetch-retries=0 @quasar/mcp@latest

This writes the server into ~/.codex/config.toml; a project can carry the same section in its own .codex/config.toml:

[mcp_servers.quasar]
command = "npx"
args = ["-y", "--fetch-retries=0", "@quasar/mcp@latest"]

Grok Build

grok mcp add quasar -- npx -y --fetch-retries=0 @quasar/mcp@latest

This writes the server into ~/.grok/config.toml; add --scope project to write .grok/config.toml in the project instead. The section has the same shape as Codex’s:

[mcp_servers.quasar]
command = "npx"
args = ["-y", "--fetch-retries=0", "@quasar/mcp@latest"]

Grok Build also picks up a project .mcp.json written for Claude Code, so one file can serve both.

Cursor, Windsurf, VS Code and others

Put the JSON above in the client’s MCP configuration file (.cursor/mcp.json, .windsurf/mcp.json, .vscode/mcp.json with a servers key instead of mcpServers, …). Every MCP client documents where that file lives.

For VS Code (GitHub Copilot in agent mode, and the extensions speaking MCP), the Configure VS Code page has the file to copy. A project scaffolded with Quasar CLI already ships it.

What the agent gets

ToolPurpose
list_pagesevery documentation page available offline, grouped by package
search_docsthe pages matching some keywords, their size and the sections they occur in
get_pagea page, one section of it (by heading or link #anchor), or its outline
list_apithe names of the API descriptors (QBtn, Notify, Ripple, …)
get_apithe props, slots, events and methods of one of them, or one part or member
check_updateswhether newer releases of quasar, @quasar/app-vite or the server exist

At the start of a session the server tells the agent which versions it serves and whether updates are available, so the agent can suggest an upgrade. That check runs in the background at most once a day, like the Quasar CLI’s own update notice, never while offline, and honors the NO_UPDATE_NOTIFIER environment variable.

NOTE

A project on releases predating the bundled documentation still gets the API through get_api, but no pages: the server names the packages to upgrade.