About Svelte5 MCP
Svelte5 MCP is an MCP server published by StudentOfJS in the Developer Tools category: a specialized Model Context Protocol (MCP) server for Svelte 5 frontend development.
The repository has 65 stars and 8 forks, with the last commit a year ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues before depending on it in production.
Install
git clone https://github.com/StudentOfJS/svelte5-mcpThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Ask AI
Ask AI about Svelte5 MCP
Powered by Claude · Grounded in docs
Security checks
Static checks derived from the repository 4 hours ago. Heuristics on the source, not an audit.
- ✓README presentThe repository ships documentation.
- !License declaredNo license file. Legally you have no right to use it in a product.
- !Tests presentNo tests found. Behaviour changes may go unnoticed between versions.
- ✓Dependencies pinnedA lockfile pins dependency versions.
- ✓No dynamic code executionSource scan found no eval, dynamic Function, or shell execution.
- !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.
README
Svelte 5 MCP Server
A specialized Model Context Protocol (MCP) server for Svelte 5 frontend development, providing curated knowledge, code examples, and intelligent assistance for modern Svelte development with runes, snippets, and enhanced reactivity.
Features
🔍 Searchable Resources
- Knowledge Base: Curated Q&A covering Svelte 5 concepts, runes, and best practices
- Code Examples: Searchable collection of Svelte 5 patterns and component implementations
🛠️ Intelligent Tools
search_knowledge- Find explanations and conceptssearch_examples- Discover code patterns and implementationsgenerate_with_context- Create components using curated patternsaudit_with_rules- Review code against Svelte 5 best practicesexplain_concept- Get detailed explanations with examples
📝 Smart Prompts
generate-component- Generate modern Svelte 5 componentsaudit-svelte5-code- Audit code for optimization opportunitiesexplain-concept- Detailed concept explanationssearch-patterns- Find specific implementation patterns
Installation
# Clone and setup
git clone <repository-url>
cd svelte5-mcp-server
# Install dependencies
npm install
# Build the server
npm run build
# Start the server
npm start
Project Structure
svelte5-mcp-server/
├── src/
│ └── index.ts # Main MCP server implementation
├── data/
│ ├── svelte_5_knowledge.json # Curated Q&A knowledge base
│ └── svelte_5_patterns.json # Code examples and patterns
├── package.json
├── tsconfig.json
├── example system prompt # Svelte 5 specific system prompt (quite strict, adjust for your own preferences)
└── README.md
Usage with Claude Desktop
Add to your Claude Desktop configuration:
{
"mcpServers": {
"svelte5": {
"command": "node",
"args": ["/path/to/svelte5-mcp-server/dist/index.js"],
"env": {}
}
}
}
Usage Examples
🔍 Search Knowledge
Tool: search_knowledge
Query: "runes reactivity"
Returns detailed explanations about Svelte 5 runes and the new reactivity system.
📚 Find Code Examples
Tool: search_examples
Query: "counter component $state"
Returns working Svelte 5 counter implementations using the $state rune.
🏗️ Generate Components
Tool: generate_with_context
Description: "A todo list with add/remove functionality"
Features: ["$state", "snippets", "accessibility"]
Generates a complete todo component using modern Svelte 5 patterns with relevant examples from the knowledge base.
🔍 Audit Code
Tool: audit_with_rules
Code: "<script>let count = 0;</script><button on:click={() => count++}>{count}</button>"
Focus: "best-practices"
Analyzes code and suggests Svelte 5 improvements (e.g., using $state and modern event handling).
Key Svelte 5 Concepts Covered
🎯 Runes System
$state- Reactive state management$derived- Computed values and derived state$effect- Side effects and lifecycle$props- Component properties$bindable- Two-way data binding$inspect- Development debugging
🧩 Modern Patterns
- Snippets - Reusable template blocks (
{#snippet},{@render}) - Enhanced Reactivity - Fine-grained updates
- Event Handling - Modern
onclickvs legacyon:click - TypeScript Integration - Better type inference
- Accessibility - Built-in a11y considerations
📈 Migration Support
- Svelte 4 → 5 migration patterns
- Legacy reactive statements (
$:) → runes - Slots → snippets conversion
- Event dispatcher → callback props
Data Format
Knowledge Base (svelte_5_knowledge.json)
{
"question": "How do you manage reactive state in Svelte 5?",
"answer": "In Svelte 5, reactive state is managed using the $state rune..."
}
Examples (svelte_5_patterns.json)
{
"instruction": "Create a Svelte 5 component demonstrating $state",
"input": "The rune allows you to create reactive state...",
"output": "<script>\nlet count = $state(0);\n</script>\n\n<button onclick={() => count++}>\n clicks: {count}\n</button>"
}
Configuration
The server uses a better-sqlite3 database and FTS5 queries for search
- Full-Text Search: Utilizes SQLite's FTS5 extension for powerful and efficient searching across the knowledge base and code examples.
- Tokenization: Employs the
unicode61tokenizer with a comprehensive set of separators for robust indexing of terms. - Synonym Expansion: Enhances search recall by automatically expanding query terms with predefined Svelte 5-specific synonyms (e.g., '$state' also matches 'reactive state').
- Result Highlighting: Search results include highlighted matches within relevant fields (e.g., question, answer, instruction) using FTS5's
highlight()function. - Relevance Ranking: Results are ordered by relevance based on FTS5's internal ranking algorithm.
- Advanced Boosting: Offers capabilities for custom scoring and boosting to fine-tune search results, such as prioritizing matches in question fields or code content.
Development
Building
npm run build # Compile TypeScript
npm run dev # Watch mode for development
Data Processing
node process-attached-data.js # Process curated knowledge
node setup-data.js # Create sample data
Testing
The server provides comprehensive logging and error handling:
# Test the server
echo '{"jsonrpc": "2.0", "id": 1, "method": "tools/list"}' | npm start
Contributing
Adding Knowledge
- Add entries to
data/svelte_5_knowledge.json - Format:
{"question": "...", "answer": "..."} - Focus on Svelte 5 specific features and best practices
Adding Examples
- Add entries to
data/svelte_5_patterns.json - Format:
{"instruction": "...", "input": "...", "output": "..."} - Include complete, working Svelte 5 code examples
Search Optimization
- Use descriptive, searchable keywords in questions and instructions
- Include alternative phrasings for common concepts
- Tag examples with relevant feature names (
$state,snippets, etc.)
Advanced Usage
Custom Search Queries
The search tools support sophisticated queries:
// Search for state management patterns
search_examples("$state reactive updates")
// Find accessibility guidance
search_knowledge("a11y accessibility screen reader")
// Discover migration patterns
search_examples("svelte 4 migration runes")
Prompt Chaining
Use prompts in sequence for complex workflows:
search-patterns- Find relevant patternsgenerate-component- Create based on patternsaudit-svelte5-code- Review and optimize
Integration Tips
- Claude Desktop: Best for interactive development
- API Integration: Use programmatically for code generation
- CI/CD: Audit code in automated workflows
- Documentation: Generate examples for style guides
Troubleshooting
Common Issues
"No results found"
- Check search terms are relevant to Svelte 5
- Try broader queries first, then narrow down
- Ensure data files are properly formatted json
"Tool not found"
- Verify server is built (
npm run build) - Check MCP client configuration
- Review server logs for startup errors
"Invalid data format"
- Validate JSON files
- Check for trailing commas or syntax errors
Debugging
# Enable debug logging
DEBUG=* npm start
License
MIT License - see LICENSE file for details.
Acknowledgments
- Built with MCP TypeScript SDK
- Search db by better-sqlite3
- Validation with Zod
- Curated Svelte 5 knowledge from official documentation and community best practices
README fetched from the repository 4 hours ago. The original is authoritative.