插件生态
Wesclaw 通过 MCP(Model Context Protocol)协议支持丰富的插件生态系统,让你可以为 AI 助手扩展各种能力——从连接第三方服务到操控本地应用,从数据查询到自动化操作。
功能概述
MCP 是一种开放的通信协议,允许 AI 助手与外部工具和服务进行标准化交互。通过 MCP 插件,Wesclaw 可以:
- 连接外部服务:数据库、API、SaaS 平台等
- 操控本地应用:浏览器、终端、文件系统等
- 扩展专业能力:代码分析、数据处理、文档生成等
- 自定义集成:将你自己的工具接入 AI 助手
MCP 插件市场
浏览插件
在 Wesclaw 中查看可用插件:
- 进入 设置 → MCP 插件
- 浏览已安装和可安装的插件
- 查看每个插件的功能描述、版本和评价
插件分类
| 分类 | 示例插件 | 说明 |
|---|---|---|
| 开发工具 | GitHub、GitLab | 代码仓库管理 |
| 数据库 | PostgreSQL、SQLite | 数据查询与管理 |
| 文档协作 | Notion、飞书文档 | 文档读写操作 |
| 通信工具 | Slack、企业微信 | 消息收发管理 |
| 浏览器 | Playwright | 网页自动化 |
| 文件处理 | 文件系统 MCP | 本地文件操作 |
| 搜索引擎 | Brave Search | 网络搜索 |
| 知识管理 | 向量数据库 | 语义检索 |
安装与配置
安装插件
方式一:通过设置界面
- 打开 设置 → MCP 插件
- 点击 添加插件
- 选择插件或输入 MCP 服务器地址
- 按提示完成配置
方式二:通过对话安装
在对话中告诉 AI 助手:
"帮我安装 GitHub MCP 插件"
方式三:编辑配置文件
在 CellSpec 中声明 MCP 服务器:
mcps:
- name: "github"
transport: "stdio"
command: ["npx", "-y", "@modelcontextprotocol/server-github"]
env:
GITHUB_TOKEN: "ghp_xxxx"
配置插件
安装后,根据插件要求配置参数:
# 示例:配置数据库插件
mcps:
- name: "postgres-mcp"
transport: "stdio"
command: ["npx", "-y", "@modelcontextprotocol/server-postgres"]
env:
DATABASE_URL: "postgresql://user:pass@localhost:5432/mydb"
验证连接
安装配置后,可以通过探测检查连接状态:
- 在 MCP 管理面板点击 探测
- 查看连接状态和可用工具列表
- 如果连接失败,检查配置参数和网络
常用插件推荐
开发者必备
| 插件 | 功能 | 推荐理由 |
|---|---|---|
| GitHub MCP | 仓库管理、Issue、PR 操作 | 直接在对话中管理代码仓库 |
| 文件系统 MCP | 读写本地文件 | AI 助手可以直接操作文件 |
| SQLite MCP | 数据库查询 | 快速查询本地数据库 |
办公效率
| 插件 | 功能 | 推荐理由 |
|---|---|---|
| Notion MCP | 文档管理 | 让 AI 帮你整理笔记 |
| 日历 MCP | 日程管理 | AI 助手管理你的日程 |
| 邮件 MCP | 邮件处理 | 智能邮件分类和回复 |
信息获取
| 插件 | 功能 | 推荐理由 |
|---|---|---|
| Brave Search | 网络搜索 | 实时获取最新信息 |
| 天气 MCP | 天气查询 | 获取天气预报 |
| 新闻 MCP | 新闻聚合 | 获取行业资讯 |
自定义插件
MCP 服务器开发
你可以开发自己的 MCP 服务器,将任何工具或服务接入 Wesclaw。
基本结构:
// 一个简单的 MCP 服务器示例
import { Server } from "@modelcontextprotocol/sdk/server";
const server = new Server({
name: "my-custom-mcp",
version: "1.0.0",
});
// 注册一个工具
server.setRequestHandler("tools/list", async () => ({
tools: [{
name: "my_tool",
description: "我的自定义工具",
inputSchema: {
type: "object",
properties: {
query: { type: "string", description: "查询内容" }
}
}
}]
}));
// 处理工具调用
server.setRequestHandler("tools/call", async (request) => {
if (request.params.name === "my_tool") {
const result = await doSomething(request.params.arguments.query);
return { content: [{ type: "text", text: result }] };
}
});
server.connect(process.stdin, process.stdout);
支持的传输方式
| 传输方式 | 说明 | 适用场景 |
|---|---|---|
stdio | 标准输入/输出 | 本地命令行工具 |
sse | Server-Sent Events | 远程 HTTP 服务 |
开发指南
- 定义工具 Schema:使用 JSON Schema 描述工具参数
- 实现处理逻辑:编写工具调用的处理函数
- 错误处理:正确处理异常,返回有意义的错误信息
- 测试验证:使用 MCP 探测工具验证服务器正常工作
安全性
权限控制
- 每个 MCP 插件的权限由 Cell 的治理策略控制
- 文件系统访问受
DenyPaths限制 - 网络访问受
NetworkPolicy限制 - 危险命令被 Hardline 安全层拦截
数据安全
- MCP 通信使用本地管道(stdio)或加密连接(HTTPS)
- 敏感凭证通过环境变量传递,不会出现在日志中
- 插件无法访问其他插件的数据
安全建议
- 仅安装可信插件:优先使用官方或知名开发者的插件
- 最小权限:只给插件必要的权限和凭证
- 定期审查:定期检查已安装的插件及其权限
- 及时更新:保持插件版本更新,修复安全漏洞
- 监控日志:关注插件的调用日志,发现异常行为
凭证管理
敏感信息(API Key、Token 等)的安全管理:
- 使用环境变量存储,不硬编码在配置文件中
- 桌面版凭证经 AES-256-GCM 加密存储
- 凭证不会包含在导出或分享数据中
插件管理
查看已安装插件
设置 → MCP 插件 → 查看所有已安装的 MCP 服务器
启用/禁用插件
你可以临时禁用某个插件而不卸载它:
- 在 MCP 管理面板找到对应插件
- 点击 断开连接 或 连接
卸载插件
- 在 MCP 管理面板找到对应插件
- 点击 删除
- 确认卸载
常见问题
Q: 插件安装后无法使用怎么办?
A: 请按顺序检查:
- 插件依赖是否已安装(如 Node.js、Python 环境)
- 配置的凭证或参数是否正确
- 使用探测功能检查连接状态
- 查看应用日志获取详细错误信息
Q: 可以同时使用多个插件吗?
A: 可以。你可以同时安装和启用多个 MCP 插件,AI 助手会根据你的请求自动选择合适的工具。每个插件的工具在 AI 对话中都可用。
Q: 插件会影响对话性能吗?
A: 已安装的插件工具会作为可用工具列表发送给 AI 模型。插件数量过多可能略微增加每次对话的上下文大小。建议只启用当前需要的插件。
Q: 自定义插件需要什么技术基础?
A: 开发 MCP 服务器需要基本的编程能力(JavaScript/Python/Go 等)。MCP 协议文档清晰,入门门槛不高。