Svelte MCP
by svelte.dev · remote · local (npm) · no sign-in to list tools · v0.1.27 · published by dev.svelte
The official Svelte MCP server providing docs and autofixing tools for Svelte development
4 tools: 2 change things and 2 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things2Claude Code: ask: see these tools
- Only reads2Claude Code: allow: see these tools
2 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http svelte https://mcp.svelte.dev/mcpFindings
Matches of fixed checks, with the text they matched.
- Warnplayground-link
The server marks "playground-link" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The name "playground-link" says "link": a word for a change.
- Warnsvelte-autofixer
The server marks "svelte-autofixer" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The input takes a statement or command to run (input.code), which can change anything it can reach.
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
4 tools
Changes things 2Claude Code: ask
playground-linkGenerates a Playground link given a Svelte code snippet.1 finding
Why it is in this group
- The name "playground-link" says "link": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "playground-link" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The name "playground-link" says "link": a word for a change.
Description, as the server wrote it Generates a Playground link given a Svelte code snippet. Once you have the final version of the code you want to send to the user, ALWAYS ask the user if it wants a playground link to allow it to quickly check the code in the playground before calling this tool. NEVER use this tool if you have written the component to a file in the user project. The playground accept multiple files so if are importing from other files just include them all at the root level.
Annotations the server declares
- title: Playground Link
- destructiveHint: false
- readOnlyHint: true
- openWorldHint: false
svelte-autofixerGiven a svelte component or module returns a list of suggestions to fix any issues it has.1 finding
Why it is in this group
- The input takes a statement or command to run (input.code), which can change anything it can reach.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "svelte-autofixer" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The input takes a statement or command to run (input.code), which can change anything it can reach.
Description, as the server wrote it Given a svelte component or module returns a list of suggestions to fix any issues it has. This tool MUST be used whenever the user is asking to write svelte code before sending the code back to the user
Annotations the server declares
- title: Svelte Autofixer
- destructiveHint: false
- readOnlyHint: true
- openWorldHint: false
Only reads 2Claude Code: allow
get-documentationRetrieves full documentation content for Svelte 5 or SvelteKit sections.No findings
Why it is in this group
- The name "get-documentation" says "get": a word for reading.
Description, as the server wrote it Retrieves full documentation content for Svelte 5 or SvelteKit sections. Supports flexible search by title (e.g., "$state", "routing") or file path (e.g., "cli/overview"). Can accept a single section name or an array of sections. Before running this, make sure to analyze the users query, as well as the output from list-sections (which should be called first). Then ask for ALL relevant sections the user might require. For example, if the user asks to build anything interactive, you will need to fetch all relevant runes, and so on. Before calling this tool, try to implement Svelte components using your own knowledge and the `svelte-autofixer` tool, since calling this tool is token intensive.
Annotations the server declares
- title: Get Documentation
- destructiveHint: false
- readOnlyHint: true
- openWorldHint: false
list-sectionsLists all available Svelte 5 and SvelteKit documentation sections in a structured format.No findings
Why it is in this group
- The name "list-sections" says "list": a word for reading.
Description, as the server wrote it Lists all available Svelte 5 and SvelteKit documentation sections in a structured format. Each section includes a "use_cases" field that describes WHEN this documentation would be useful. You should carefully analyze the use_cases field to determine which sections are relevant for the user's query. The use_cases contain comma-separated keywords describing project types (e.g., "e-commerce", "blog"), features (e.g., "authentication", "forms"), components (e.g., "slider", "modal"), development stages (e.g., "deployment", "testing"), or "always" for fundamental concepts. Match these use_cases against the user's intent - for example, if building an e-commerce site, fetch sections with use_cases containing "e-commerce", "product listings", "shopping cart", etc. If building a slider, look for "slider", "carousel", "animation", etc. Returns sections as "* title: [section_title], use_cases: [use_cases], path: [file_path]". Always run list-sections FIRST for any Svelte query, then analyze ALL use_cases to identify relevant sections, and finally use get-documentation to fetch ALL relevant sections at once.
Annotations the server declares
- title: List Sections
- destructiveHint: false
- readOnlyHint: true
- openWorldHint: false
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 0.1.27. Values in angle brackets are yours to fill in.
claude mcp add --transport http svelte https://mcp.svelte.dev/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__svelte__get-documentation",
"mcp__svelte__list-sections"
],
"ask": [
"mcp__svelte__playground-link",
"mcp__svelte__svelte-autofixer"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as svelte. Review it before you use it.