FAQ & troubleshooting

The questions that come up most, and the fixes for the things that usually go wrong.

Using the code

Do I need to install a package?

No. There is no runtime dependency on us. Each item is a native Web Component — you copy one self-contained vs-*.js file into your project, register it once, and it becomes your code.

Can I use it in a commercial product?

Yes, in as many projects as you like, including client work. You may not resell the catalog itself as a component library or template pack. See the terms.

Will my copies get updates?

No — and that is the point. Nothing we ship can break your app. If you want a newer version of something, copy it again.

Does it work with Nuxt / Astro / Vite?

Yes — anywhere. The catalog ships native Web Components (custom elements), so they run in any bundler and any framework, or in a plain HTML page with no build step at all. See Installation.

React or Svelte?

Yes. Every item is a standard custom element — the same vs-*.js file works in React, Svelte, Vue, Angular, Solid or vanilla, with no adapter. You pass string attributes on the tag, set object/array inputs as DOM properties, and listen to emits with addEventListener.

The component looks wrong — wrong colors, wrong sizes

By default it reads your design tokens (var(--…)) and falls back to built-in literals when they are absent — so it renders either way, just un-themed. Define the matching CSS custom properties on :root (or any ancestor) to bind it to your palette and control scale.

The glow and the ripple do nothing

Nothing external is needed — every effect ships inlined inside the component’s own file. If motion is dead everywhere, reduced motion is on (see below).

An import fails after I copy the files

A component is one self-contained file. Some items reuse another tag via a sibling import './vs-button.js'; when you copy from the site or pull over MCP, those siblings come in the same bundle. Keep them next to each other, or fix the one relative import line.

The animation is blank

Give the host element a size. Background animations are absolutely positioned inside a relative parent — with no height on that parent, the canvas is 0px tall. Also check the browser console: WebGL items report a lost or unavailable context there.

Animations don’t move at all

Reduced motion is on — either the OS setting, or data-motion="static" on <html>. That is by design; each animation renders a single static frame instead of looping.

MCP

The tools don’t appear in my editor

Restart the editor, not just the chat panel. MCP servers are loaded at startup in every client. If it still fails, open the client’s MCP log — a 401 there is an auth problem, a network error is a proxy or firewall.

401 Unauthorized

The key is missing, does not start with vsx_, was revoked, or the account is not PRO. Check the header is exactly Authorization: Bearer vsx_….

503 with Retry-After

The auth backend blipped. Retry in a few seconds; nothing is wrong with your key.

I upgraded but MCP still refuses

Plan changes take up to a minute to reach the MCP server. Wait, then retry.

Can I share one key with my team?

Technically yes, but the key identifies one account and the licence is granted to one developer. Give everyone their own — it is also the only way to know who pulled what.

Which tools cost quota?

Only get_component_source, get_section_source and get_animation_source. Listing, searching and reading docs are unlimited.

The agent keeps pulling the wrong thing

Install the skill. It teaches the model to search first, read the docs tool, and only then pull source — which is also how you stop burning quota on components you don’t keep.

Still stuck?

Email support@vuesax.com with your editor, the config you used and the exact error. If it is an MCP problem, the client’s MCP log is the single most useful thing you can attach.