ai-tools
Svelte 官方 MCP 服务器,为 AI 编程 Agent 提供 Svelte 组件解析、自动修
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
Svelte 官方 MCP 服务器,为 AI 编程 Agent 提供 Svelte 组件解析、自动修
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。

图1:Svelte 官方组织头像,来源于 GitHub
想象这样一个场景:你正在开发一个复杂的中台管理界面,用 SvelteKit 构建,需要 AI 编程助手帮你快速生成列表组件、路由守卫逻辑和状态管理代码。然而,当前的 AI 助手对你项目中的 .svelte 文件结构、Svelte 5 的 runes 语法($state、$effect、$derived)以及组件之间的 props 传递链条一无所知。它给出的建议要么牛头不对马嘴,要么直接报错——因为你用的是 Svelte 生态,AI 却以为你在写 React 或 Vue。
@sveltejs/mcp 解决的就是这个痛点:它让 AI Agent 能够真正「读懂」你的 Svelte 项目,像一个熟悉 Svelte 语法的结对工程师一样,精准地提供代码建议、自动修复和项目上下文。
@sveltejs/mcp 是 Svelte 官方团队于 2025 年 9 月发布的 Model Context Protocol(MCP)服务器实现。Svelte 团队在 AI 编程工具迅速普及的背景下,意识到当前主流 AI 助手对 Svelte 生态的理解存在明显断层——无论是 Claude Code、Cursor 还是 OpenCode,在处理 Svelte 组件时都缺乏足够的语法上下文和组件结构感知能力。
于是 Svelte 官方亲自下场,开发了这个 MCP 服务器。它不仅仅是一个工具,更是一种声明:Svelte 生态值得拥有与主流框架同等水平的 AI 工具链支持。从项目结构来看,这是一个 monorepo,由多个子包组成:核心 MCP 服务器(@sveltejs/mcp-server)、STDIO 传输层(@sveltejs/mcp-stdio)、远程 HTTP 服务(@sveltejs/mcp-remote),以及针对不同 AI 编程工具的插件(Claude 插件、Cursor 插件、OpenCode 插件)。这种架构设计体现了 Svelte 团队对生态完整性的追求。
MCP(Model Context Protocol,模型上下文协议)是由 Anthropic 主导提出的开放标准,旨在解决 AI 编程助手与外部工具/数据源之间的连接问题。打个生活化的比方:如果把 AI 大模型比作一个学识渊博但被困在图书馆里的专家,MCP 就是让这位专家能够访问图书馆外世界的「借书证 + 快递系统」——它定义了 AI 如何请求外部工具、如何获取项目上下文、如何执行实际操作(如读写文件、运行命令)。
对于 Svelte 项目而言,MCP 服务器的价值在于:AI Agent 通过它能获取 Svelte 组件的 AST(抽象语法树)结构、识别 Svelte 5 runes($state、$effect、$derived、$props 等)的语义、理解组件之间的依赖关系,并执行针对性的代码修复。一个典型的使用场景是让 AI 自动检测代码中 $effect 内部对 $state 变量的直接赋值——这是 Svelte 5 中的常见错误模式,AI 通过 MCP 服务器的 AST 分析引擎可以精准识别并修复。
项目采用 TypeScript 编写,基于 tmcp(Svelte 团队开发的轻量级 MCP 框架,非官方 MCP SDK)构建核心服务器,并使用 Drizzle ORM + SQLite 作为向量数据库后端,支持语义化的文档检索。架构上分为以下几个关键层次:
MCP 服务器核心层:位于 packages/mcp-server/src/lib/mcp/index.ts,使用 tmcp 的 HttpTransport 和 StdioTransport 同时支持 HTTP 流式传输和 STDIO 两种通信方式。STDIO 模式直接对接 Claude Code、Cursor 等桌面 AI 编程工具;HTTP 模式则支持通过 Vercel 部署的远程服务。
代码分析引擎:位于 packages/mcp-server/src/lib/server/analyze/。这是项目的技术核心,分为三个模块:
parse.ts):使用 svelte-eslint-parser 解析 .svelte 文件,结合 TypeScript parser 处理 <script> 块中的 TS 代码,输出统一的 AST 结构。自动修复(Autofixer)系统:位于 packages/mcp-server/src/lib/mcp/autofixers.ts,采用 Visitor 模式遍历 AST,当前已实现 assign_in_effect autofixer——自动检测并修复在 $effect 内部对 $state 变量的直接赋值操作,这是 Svelte 5 中最常见的反模式之一,会导致响应式失效。
工具集(Tools):MCP 服务器暴露多个工具供 AI Agent 调用,核心工具包括 list-sections(列出所有可用文档章节)和 get-documentation(获取指定章节的完整文档内容)。这些工具让 AI 能够实时查询 Svelte/SvelteKit 官方文档,而不是依赖训练数据中的过时信息。
插件同步系统:项目包含自动化脚本(scripts/sync-claude-plugin.ts、scripts/sync-cursor-plugin.ts、scripts/sync-opencode-plugin.ts),将 MCP 服务器的能力同步到不同 AI 编程工具的插件中,确保工具链的一致性。
| 层级 | 技术选型 | 说明 |
|---|---|---|
| 核心语言 | TypeScript | 全栈 TypeScript,保证类型安全 |
| MCP 框架 | tmcp(Svelte 自研) | 轻量级、Schema 无关的 MCP 实现 |
| Schema 验证 | Valibot | 替代 Zod 的更轻量选择 |
| AST 解析 | svelte-eslint-parser + TypeScript parser | 联合解析 Svelte 组件 |
| AST 遍历 | zimmerframe | 高性能的 AST Visitor 工具 |
| 数据库 | Drizzle ORM + SQLite | 存储向量嵌入,支持语义检索 |
| 前端框架 | SvelteKit | MCP Remote 的 Web UI |
| 构建工具 | Vite | 快速热更新的开发体验 |
| 测试框架 | Vitest | 单元测试 |
从依赖分析来看,项目刻意避免了对 express 等重型依赖的引入,tmcp 框架本身也主打「无奇怪依赖」的设计哲学。这使得整个工具链保持轻量,适合在本地开发环境中长期运行。
项目对开发者的技术背景有一定要求,主要面向熟悉命令行和 Node.js 生态的开发者。官方推荐的安装流程非常简洁:
# 克隆仓库
git clone https://github.com/sveltejs/ai-tools.git
cd ai-tools
# 安装依赖(使用 pnpm)
pnpm i
# 复制环境变量配置
cp apps/mcp-remote/.env.example apps/mcp-remote/.env
# 启动开发服务器
pnpm dev
对于需要语义搜索功能的用户,还需要在 .env 中配置 VOYAGE_API_KEY。项目提供了 MCP Inspector 工具(通过 pnpm run inspect 启动),访问 http://localhost:6274/ 可以在浏览器中可视化调试 MCP 服务器的运行状态。
接入 AI 编程工具的方式也很直接。以 Claude Code 为例,只需在 Claude Code 的 MCP 配置中添加如下配置(项目根目录的 .mcp.json 已自动生成):
{
"mcpServers": {
"svelte": {
"type": "stdio",
"command": "node",
"args": ["packages/mcp-stdio/dist/index.js"]
}
}
}
配置完成后,Claude Code 在处理 Svelte 项目时就能自动调用 MCP 服务器,获取组件结构信息和 Svelte 文档上下文。
尽管 @sveltejs/mcp 代表了 Svelte 生态在 AI 工具链上的重要一步,但它仍处于快速发展阶段,存在以下局限性:
文档相对匮乏:README 仅有 772 字,且主要是开发环境配置说明。对于普通开发者来说,「如何正确配置和使用这个 MCP 服务器」缺乏清晰的入门指南。官方文档网站(documentation/docs/)框架已搭好,但内容深度仍需完善。
仅支持 CLI/STDIO 模式:项目不支持容器化部署(无 Dockerfile 和 docker-compose),无法通过 Docker 一键运行。这对于不熟悉 Node.js 环境配置的团队而言增加了上手门槛。
MCP 生态碎片化:目前 AI 编程工具对 MCP 的支持程度不一,Claude Code、Cursor 和 OpenCode 的 MCP 集成方式各有差异,项目需要为每个工具维护独立的插件同步脚本,增加了维护负担。
向量检索依赖外部 API:语义搜索功能依赖 Voyage AI 的 API(需要 VOYAGE_API_KEY),未使用本地向量模型或 Ollama 等开源方案,在网络受限或对数据隐私有严格要求的环境中受限。
@sveltejs/mcp 的出现,标志着前端框架官方开始重视 AI 编程工具链的深度集成。从 GitHub 数据来看,项目自 2025 年 9 月创建以来持续活跃(截至分析时最近一次推送为 2026 年 7 月 4 日),Issue 数量 30 个,说明社区正在积极使用和反馈。
这一趋势预示着未来 AI 编程的竞争焦点将从「模型能力」转向「工具链生态」——哪个框架能提供更深入、更准确的 AI 上下文理解,哪个框架就能在 AI 时代保持开发者生产力优势。Svelte 官方选择从 MCP 协议层面切入,而非简单包装 REST API,体现了对 AI 原生工具链的前瞻性判断。
对于关注前端 AI 工具链的开发者而言,@sveltejs/mcp 不仅是一个可以直接使用的工具,更是理解「AI 与框架深度集成」这一趋势的最佳观测样本。它的架构设计(tmcp + AST 分析 + Autofixer)、开发工作流(MCP Inspector + Drizzle Studio)以及插件同步机制,都值得同类项目参考借鉴。