quasar-docs-mcp-server
v1.0.1
Published
MCP server for Quasar Framework documentation - access Quasar docs directly from Claude Code
Maintainers
Readme
Quasar Docs MCP Server
An MCP (Model Context Protocol) server that provides access to the Quasar Framework documentation directly from Claude Code and other MCP-compatible clients.
Features
- Search documentation - Full-text search across all Quasar docs with pagination
- Get component docs - Retrieve documentation for any Quasar component (q-btn, q-input, etc.)
- Get any page - Fetch any documentation page by path
- List sections - Browse available documentation sections
- Smart caching - 30-minute cache for pages, 1-hour cache for the index
- Multiple response formats - Get output in Markdown or JSON format
- Character limit handling - Automatic truncation with clear messages
Installation
Option 1: npx (Recommended)
Add directly to Claude Code without installing:
claude mcp add quasar-docs -- npx quasar-docs-mcpOption 2: Install from npm
npm install -g quasar-docs-mcp-serverThen add to Claude Code:
claude mcp add quasar-docs -- quasar-docs-mcpOption 3: Clone and Build
# Clone the repository
git clone https://github.com/aliaks-ei/quasar-docs-mcp.git
cd quasar-docs-mcp
# Install dependencies and build
npm install
npm run buildThen add to Claude Code using the absolute path:
# Project-scoped (recommended for Quasar projects)
claude mcp add --scope project quasar-docs -- node /absolute/path/to/quasar-docs-mcp/dist/index.js
# Or user-scoped (available in all projects)
claude mcp add --scope user quasar-docs -- node /absolute/path/to/quasar-docs-mcp/dist/index.jsVerify Installation
After adding the server, verify it's working:
claude mcp listYou should see quasar-docs in the list of configured servers.
Available Tools
quasar_get_component
Get documentation for a specific Quasar UI component.
Parameters:
component(string, required): Component name (e.g., 'btn', 'q-btn', 'input', 'dialog', 'button')response_format(string, optional): Output format - 'markdown' (default) or 'json'
Examples:
Get the documentation for q-btn
Show me q-input props and eventsquasar_get_page
Get any Quasar documentation page by its path.
Parameters:
path(string, required): Path to the page (e.g., 'style/color-palette', 'quasar-plugins/notify')response_format(string, optional): Output format - 'markdown' (default) or 'json'
Examples:
Get the Quasar color palette documentation
Show me the Notify plugin docsquasar_search_docs
Search the Quasar documentation for a topic.
Parameters:
query(string, required): Search querysection(string, optional): Limit search to a specific sectionlimit(number, optional): Maximum results 1-50 (default: 10)offset(number, optional): Results to skip for pagination (default: 0)include_content(boolean, optional): Search within file contents (slower but more thorough)response_format(string, optional): Output format - 'markdown' (default) or 'json'
Examples:
Search for form validation in Quasar docs
Find dark mode configurationquasar_list_sections
List available documentation sections or pages within a section.
Parameters:
section(string, optional): Show pages within this sectionresponse_format(string, optional): Output format - 'markdown' (default) or 'json'
Examples:
List all Quasar documentation sections
List pages in the vue-components sectionDocumentation Sections
The server provides access to all Quasar documentation sections:
| Section | Description |
|---------|-------------|
| vue-components | UI components (buttons, inputs, dialogs, etc.) |
| vue-directives | Custom Vue directives |
| vue-composables | Composition API utilities |
| quasar-plugins | Plugins (notify, dialog, loading, etc.) |
| quasar-utils | Utility functions |
| layout | Layout components |
| style | CSS classes, colors, typography |
| options | Configuration options |
| quasar-cli-vite | Vite CLI documentation |
| quasar-cli-webpack | Webpack CLI documentation |
| start | Getting started guides |
| app-extensions | App extensions |
Response Formats
All tools support two response formats:
- markdown (default): Human-readable formatted text, ideal for display
- json: Machine-readable structured data, ideal for programmatic processing
Example with JSON format:
Search for button with response_format="json"How It Works
The server fetches documentation directly from the Quasar GitHub repository (docs/src/pages/). It uses:
- GitHub Raw Files - For fetching individual documentation pages
- GitHub API - For listing directory contents and building the search index
- In-memory caching - 30-minute cache for pages, 1-hour cache for the index
Environment Variables
GITHUB_TOKEN(optional): Set to increase GitHub API rate limit from 60 to 5000 requests/hour
Troubleshooting
"Component not found"
The component name might be different from expected. Use quasar_search_docs to find the correct name:
search for button componentRate Limiting
The server uses GitHub's API which has rate limits (60 requests/hour for unauthenticated requests). The built-in caching helps mitigate this. If you hit limits, wait an hour or set a GITHUB_TOKEN environment variable to increase the limit to 5000 requests/hour.
Server Not Responding
- Make sure the server is built:
npm run build - Verify the path in
claude mcp addis correct - Check Claude Code logs:
claude mcp logs quasar-docs
Removing the Server
claude mcp remove quasar-docsDevelopment
# Watch mode for development
npm run dev
# Build
npm run build
# Run the server directly
npm startContributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
MIT
