mcpField
M
mcp-svelte-docs

mcp-svelte-docs

本地服务
github.com/spences10记忆与知识12348 周前更新

关于 mcp-svelte-docs

mcp-svelte-docs 是一个 MCP 服务,用于查询 Svelte 5 和 SvelteKit 的文档。定义内容直接提取自 TypeScript 声明文件,并内置缓存,适合需要准确 API 语法的开发者。

主要功能

  1. 01单一 svelte_definition 工具
  2. 02覆盖 28 个以上定义
  3. 03支持 syntax、quick、full 三种格式
  4. 04模糊匹配纠正标识符拼写
  5. 05Svelte 4 到 5 迁移指引

适用场景

  1. 01让编码 Agent 查询 Svelte 5 Rune 的准确签名
  2. 02查阅 remote functions 或 await 表达式等新特性
  3. 03参考 Svelte 4 到 5 的迁移写法

MCP 相关

该服务通过 svelte_definition 工具向 MCP 客户端提供 Svelte 文档查询能力。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"svelte-docs": {
"command": "npx",
"args": [
"-y",
"mcp-svelte-docs"
]
}
}
}
启动命令npx -y mcp-svelte-docs

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmmcp-svelte-docs

工具

1

收录的工具列表 · 更新于 3 周前

参数类型必填说明
identifierstring是要查询的 Svelte 5 标识符。示例:"$state"、"$derived"、"$props"、"$effect"、"snippets"、"onclick"、"component-events"。为获得最佳结果,请使用完全匹配的标识符。
formatenum否响应格式:"syntax" 仅返回 TypeScript 签名(约 50 个词);"quick" 返回定义和最简示例(约 200 个词);"full" 返回包含示例的完整定义(约 500–1000 个词)。syntax | quick | full

详细介绍

mcp-svelte-docs

一个 Model Context Protocol(MCP)服务,直接从 TypeScript 声明中提取权威的 Svelte 5 和 SvelteKit 定义。通过统一接口,获取所有 Svelte 5 概念的精确语法、参数和示例。

架构

定义优先的方法:此服务不提供多个专用工具,而是提供一个强大的 svelte_definition 工具, 可访问 28+ 个全面的定义,涵盖:

  • 所有 Svelte 5 runes($state、$derived、$props、$effect 变体)
  • 现代功能(snippets、await 表达式、远程函数)
  • 事件处理(DOM 事件、自定义事件、组件通信)
  • 迁移指南(Svelte 4 到 5 的模式和最佳实践)
  • TypeScript 接口(Snippet、Snapshot 类型)
  • 高级模式(全局状态、常见错误、生命周期等效项)

可用工具

svelte_definition

强大的单一工具,适用于所有 Svelte 5 和 SvelteKit 概念:

svelte_definition(identifier: string, format?: "syntax"|"quick"|"full")

示例:

  • svelte_definition("$state") - 完整的 $state 文档
  • svelte_definition("snippets", "quick") - Snippet 概览及示例
  • svelte_definition("onclick", "syntax") - 仅 TypeScript 签名
  • svelte_definition("migration-patterns") - Svelte 4 → 5 迁移指南

响应格式:

  • "syntax" - 仅 TypeScript 签名(约 50 个词)
  • "quick" - 定义 + 简要示例(约 200 个词)
  • "full" - 完整文档及示例(约 500–1000 个词,默认)
可用标识符(28+)

核心 Runes: $state、$state.raw、$state.snapshot、$derived、 $derived.by、$props、$bindable、$effect、$effect.pre、 $effect.root、$effect.pending、$effect.tracking

开发工具: $inspect、$host

功能与模式: snippets、onclick、component-events、 migration-patterns、await-expressions、remote-functions、 global-state、common-mistakes、lifecycle-equivalents

事件处理: custom-events、event-delegation、 event-modifiers

TypeScript 接口: snippet、snapshot

主要功能

🎯 权威且以 TypeScript 为先
  • 直接来自源码:定义提取自 Svelte 5 官方 TypeScript 声明
  • 始终保持最新:反映实际 API,而非过时教程
  • 类型安全:包含精确的参数类型、返回值和 限制条件
⚡ 单一接口,全面覆盖
  • 一个工具:svelte_definition 可替代 16+ 个专用工具
  • 28+ 个定义:涵盖每个 Svelte 5 rune、功能和 模式
  • 一致的响应:无论查询 $state 还是 remote-functions, 都使用相同接口
🚀 支持现代 Svelte 5 和 SvelteKit
  • Await 表达式:在模板中直接执行异步操作 (await-expressions)
  • 远程函数:类型安全的客户端-服务端通信 (remote-functions)
  • 所有 Runes:完整的 $effect 系列、$state 变体、 $derived.by、$bindable
  • 高级模式:事件处理、全局状态、组件通信
📚 智能错误恢复
  • 模糊匹配:针对拼写错误建议正确的标识符
  • 相关概念:搜索失败时提供相似定义
  • 迁移帮助:将 Svelte 4 模式转换为 Svelte 5 等效项

配置

Claude Desktop(通过 WSL)

{
	"mcpServers": {
		"mcp-svelte-docs": {
			"command": "wsl.exe",
			"args": ["bash", "-c", "npx -y mcp-svelte-docs"]
		}
	}
}

Cursor

安装 MCP 服务

Windsurf(通过 WSL)

{
	"mcpServers": {
		"mcp-svelte-docs": {
			"command": "wsl.exe",
			"args": ["bash", "-c", "npx -y mcp-svelte-docs"]
		}
	}
}

Windows(不使用 WSL)

{
	"mcpServers": {
		"mcp-svelte-docs": {
			"command": "npx",
			"args": ["-y", "mcp-svelte-docs"]
		}
	}
}

macOS / Linux

{
	"mcpServers": {
		"mcp-svelte-docs": {
			"command": "npx",
			"args": ["-y", "mcp-svelte-docs"]
		}
	}
}

贡献

欢迎贡献!请随时提交 Pull Request。

许可证

MIT 许可证 - 详情请参阅 LICENSE 文件。

致谢

基于:

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。