使用说明
项目简介
'rollup-plugin-mcp' 是一个 Rollup 插件,它在 Rollup 构建过程中集成了一个 MCP (Model Context Protocol) 服务器。该插件旨在为 AI 助手提供关于你的代码库的上下文信息,并允许 AI 主动修改和控制构建流程。通过标准化的 MCP 协议,AI 工具可以安全、可扩展地访问构建信息和执行相关操作。
主要功能点
- MCP 服务器集成: 在 Rollup 构建过程中创建并管理 MCP 服务器。
- 双向 AI 集成: 不仅向 AI 助手提供代码库的上下文,还允许 AI 主动修改和控制构建过程。
- 丰富的模块信息: 预置工具暴露模块依赖、构建配置和错误诊断等 Rollup 构建信息。
- 可扩展的工具框架: 允许开发者创建自定义 MCP 工具,暴露项目特定的信息或功能。
- 构建流程集成: 无缝集成到 Rollup 插件链和 Rollup Hooks 中。
- 持久化服务器: 在 Watch 模式下构建完成后仍保持运行,支持持续的 AI 交互。
- 标准传输层: 使用 HTTP 和 Server-Sent Events (SSE) 作为传输层,与实现了 MCP 协议的 AI 助手广泛兼容。
安装步骤
pnpm add -D rollup-plugin-mcp
服务器配置
MCP 服务器以 Rollup 插件的形式运行,无需单独启动命令。MCP 客户端需要配置 Rollup 项目的构建命令,并启用 Watch 模式以保持服务器运行。
MCP 客户端配置 (JSON 示例):
{ "serverName": "rollup-mcp-server", "command": "rollup", "args": [ "--config", "rollup.config.js", "--watch" ], "description": "启动 Rollup 构建并运行 MCP 服务器 (Watch 模式)", "transport": { "type": "sse", "baseUrl": "http://localhost:14514/mcp" } }
参数注释:
- 'serverName': MCP 服务器的名称,可以自定义。
- 'command': 启动 MCP 服务器的命令,这里是 Rollup 的命令行工具 'rollup'。
- 'args': 传递给 Rollup 命令的参数列表。
- '--config rollup.config.js': 指定 Rollup 配置文件为 'rollup.config.js',请根据实际项目调整。
- '--watch': 关键参数,启用 Rollup 的 Watch 模式,使 Rollup 在文件更改时重新构建,并保持 MCP 服务器持续运行。
- 'description': 对该配置的描述,方便用户理解其用途。
- 'transport': 配置 MCP 客户端与服务器通信的传输方式。
- 'type': 传输类型,这里使用 SSE (Server-Sent Events)。
- 'baseUrl': MCP 服务器的 SSE 基地址,默认为 'http://localhost:14514/mcp',与插件默认配置一致。如果修改了插件的 'port', 'host' 或 'basePath' 配置,此处也需要相应修改。
注意: MCP 服务器的端口、主机和基础路径等可以在 'rollup.config.js' 中配置 'rollup-plugin-mcp' 插件时进行修改。
基本使用方法
-
在 'rollup.config.js' 中引入并配置插件:
import { defineConfig } from 'rollup'; import mcp from 'rollup-plugin-mcp'; import { ModuleTool,BuildConfigTool,BuildErrorTool } from 'rollup-plugin-mcp/tools' export default defineConfig({ // ... Rollup 配置 ... plugins: [ mcp({ provideRollupMcpTools: () => [ // 注册默认工具 new ModuleTool(), new BuildConfigTool(), new BuildErrorTool() ] }), // ... 其他 Rollup 插件 ... ] }); -
运行 Rollup 构建 (Watch 模式):
在项目根目录下运行 Rollup 命令,并启用 Watch 模式:
rollup --config rollup.config.js --watch或者在 'package.json' 的 'scripts' 中配置:
"scripts": { "dev": "rollup --config rollup.config.js --watch", // ... 其他脚本 ... }然后运行 'pnpm dev' 或 'npm run dev'。
-
使用 MCP 客户端连接服务器:
配置并启动 MCP 客户端,连接到 'http://localhost:14514/mcp/sse' (默认地址)。客户端即可调用插件提供的工具,获取 Rollup 构建信息。
-
自定义工具 (可选):
可以创建自定义的 'RollupMcpTool' 并注册到插件中,扩展 MCP 服务器的功能,例如暴露项目特定的资源或执行自定义操作。具体方法请参考仓库 README.md 中的 "Custom Tools" 部分。
注意事项
- 该插件默认只在 Rollup 的 Watch 模式下启动 MCP 服务器。如果需要在非 Watch 模式下使用,请设置插件选项 'useOnlyInWatchMode: false'。
- 插件默认使用 SSE 传输协议,可以通过配置 'httpServer' 选项来自定义 HTTP 服务器和传输协议。
- 如果注册了多个 'affectsBuildProcess' 为 'true' 的工具,插件会抛出错误,因为这可能会导致构建流程冲突。
信息
分类
开发者工具