MCP视图
MCPViews是一个为AI代理提供可视化界面的桌面应用程序。通过模型上下文协议(MCP),代理可以将丰富的内容、交互式数据和完整的应用程序UI推送到配套窗口,将纯文本对话转化为可视化的交互式工作流。
真正的力量在于插件系统。每个插件将一个MCP服务器与一个自定义呈现器配对:代理通过MCP调用工具,呈现器将结果显示为一个实时的交互式UI,包括其自己的API连接、状态和用户交互。插件可以是数据治理仪表板、代码浏览器、文档编辑器或其他任何东西。代理人通过MCP工作;用户通过UI进行操作。两者都看到了相同的数据。
这模糊了代理工作流和传统应用程序之间的界限。MCPViews没有在纯AI流或手动UI之间进行选择,而是让两者同时发生——代理和人类通过共享的视觉层进行协作。
MCPViews是一个开放的主机,而不是一个自有品牌的控制平面。如果你想要一个治理控制台、一个编码驾驶舱、一个研究工作区或一个完全定制的编排外壳,你可以通过插件系统和MCP支持的渲染器来构建这种体验。
graph LR
A[AI Agent] |MCP Protocol| B[MCPViews]
B |Plugin System| C[Plugin MCP Servers]
B -->|Rich Display| D[Companion Window]
D -->|User Actions| B
style A fill:#6366f1,stroke:#4f46e5,color:#fff
style B fill:#1e1b4b,stroke:#6366f1,color:#fff
style C fill:#6366f1,stroke:#4f46e5,color:#fff
style D fill:#4f46e5,stroke:#3730a3,color:#fff快速开始
1.安装MCPViews
macOS/Windows:从下载最新安装程序 发布 (.dmg 对于macOS, .msi 或 .exe 适用于Windows)。
Linux:从源代码构建(见下文)。
有关详细的平台说明和安装后设置,请参阅 安装指南.
2.连接您的AI代理
在代理的配置中添加MCPViews作为MCP服务器。MCPViews在上运行可流式HTTP MCP服务器 http://localhost:4200/mcp.
克劳德代码 --添加到您的全局或项目 .claude/settings.json:
{
"mcpServers": {
"mcpviews": {
"type": "url",
"url": "http://localhost:4200/mcp"
}
}
}克劳德桌面版 --Claude Desktop无法使用Streamable HTTP,需要 mcp-remote stdio桥。添加 claude_desktop_config.json:
{
"mcpServers": {
"mcpviews": {
"command": "npx",
"args": ["-y", "mcp-remote", "http://localhost:4200/mcp"]
}
}
}Cursor/Windsurf/其他MCP客户端 --指向 http://localhost:4200/mcp 作为流式HTTP MCP服务器。
3.制定规则和技能
在您的第一次谈话中,请您的代理人致电 mcpviews_setup 工具。这将返回用于持久化会话启动规则的特定于平台的指令,以便 init_session 在以后的每个会话中自动调用:
> Call the mcpviews_setup tool to configure MCPViews for this agent.设置工具将告诉您的代理如何创建适当的规则文件(例如。, .claude/rules/mcpviews-init.md 对于Claude Code),因此MCPViews会自动初始化。
4.安装插件
插件使用第三方MCP服务器的工具扩展MCPViews。直接通过您的代理浏览并安装它们:
> Call list_registry to see available plugins.
> Call mcpviews_install_plugin with trigger_auth: true to install and authenticate in one step.或者使用 图形用户界面:单击系统托盘图标并选择 管理插件 直观地浏览、安装和配置插件。
需要身份验证的插件(OAuth、API密钥或承载令牌)将在 init_session 回应。使用 start_plugin_auth 单独验证或通过 trigger_auth: true 安装时将其内联处理。
5.构建自己的插件
看 插件开发指南 有关分步演练,包括:
- 创建插件清单
- 编写自定义渲染器
- 设置MCP服务器集成和身份验证
- 打包并发布到注册表
有关完整的清单模式和身份验证参考,请参阅 插件系统参考.
______________________________________________________________________
建筑
- Rust后端 (axum):上的HTTP服务器
:4200用于推送API+审核工作流程 - WebView前端:用于核心内容类型的Vanilla JS渲染器,以及目前由内部兼容模块支持的可选工作区外壳;通过插件提供特定领域和控制平面体验
- Node.js sidecar:用于远程服务器连接的SSE网桥
- 系统托盘:隐藏到托盘,单击显示,登录时自动启动
托管人工智能提供商
捆绑的AI工作空间可以指向兼容的托管AI提供商,而不是家庭服务。集 MCPVIEWS_AI_PROVIDER_BASE_URL 访问您的控制平面URL,并实现中记录的线程/运行时契约 托管AI线程提供者合约.现有 MCPVIEWS_FIRST_PARTY_AI_* 和 PROPAASAI_* 环境变量仍支持作为遗留别名。
从源代码构建
需要Rust、Node.js 20+和特定于平台的系统库。
Linux先决条件:
# Debian/Ubuntu:
sudo apt install libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf
# Fedora:
sudo dnf install webkit2gtk4.1-devel libappindicator-gtk3-devel librsvg2-devel
# Arch:
sudo pacman -S webkit2gtk-4.1 libappindicator-gtk3 librsvg构建:
git clone https://github.com/DeeJanuz/mcpviews.git
cd mcpviews
npm install
npm run build发展
# Install dependencies
npm install
# Dev mode (hot reload frontend + Rust backend)
npm run dev
# Build frontend only
npm run build:frontend
# Build Rust backend only (from src-tauri/)
cargo build
# Build full Tauri app (frontend + backend + installer)
npm run build
# Build a macOS dev app/dmg with local sibling plugins bundled
npm run build:mac-dev-bundle测试Push API
# Health check
curl http://localhost:4200/health
# Push rich content
curl -X POST http://localhost:4200/api/push \
-H 'Content-Type: application/json' \
-d '{"toolName":"rich_content","result":{"data":{"title":"Test","body":"## Hello\n\nThis is a test."}}}'
# Push with review (returns immediately with session_id; call await_review to wait for decision)
curl -X POST http://localhost:4200/api/push \
-H 'Content-Type: application/json' \
-d '{"toolName":"write_document","result":{"data":{"operations":[{"type":"replace","target":"Introduction","replacement":"New intro text"}]}},"reviewRequired":true}'SSE侧车
连接到远程应用程序的伴随流,并将事件转发到本地HTTP服务器。
# Build
cd sidecar && bash build.sh
# Run
node sidecar/dist/sse-bridge.mjs --app-host https://app.example.com --key lf_companion_xxx项目结构
mcpviews/
├── bundled-plugins/ # Bundled/example plugin manifests
│ └── tribex-ai/ # Hosted workspace compatibility manifest
├── src-tauri/ # Rust backend
│ ├── src/
│ │ ├── main.rs # Tauri entry, tray, plugin setup
│ │ ├── http_server.rs # axum HTTP server (:4200)
│ │ ├── session.rs # In-memory session store
│ │ ├── review.rs # Pending review channels (oneshot)
│ │ ├── commands.rs # Tauri IPC commands
│ │ └── state.rs # Shared app state
│ ├── Cargo.toml
│ └── tauri.conf.json
├── src/ # Frontend (Vite entry)
│ ├── index.html # HTML shell + workspace navigation frame
│ └── styles.css # Shared app styles and workspace shell layout
├── public/ # Static assets (copied to dist)
│ ├── main.js # App bootstrap (Tauri IPC)
│ └── renderers/ # Built-in content renderers + hosted AI provider surfaces
├── sidecar/ # Node.js SSE bridge
│ ├── sse-bridge.ts
│ └── build.sh
├── registry/ # Plugin registry
│ └── registry.json # Default registry with available plugins
├── cli/ # CLI plugin manager
│ └── src/main.rs
├── shared/ # Shared types (manifest, auth, registry)
│ └── src/lib.rs
├── package.json
└── vite.config.ts插件系统
MCPViews支持使用第三方MCP服务器的工具扩展应用程序的插件。每个插件都在JSON清单中声明渲染器映射、MCP服务器配置和身份验证。已安装的插件位于 ~/.mcpviews/plugins/{plugin-name}/,与 manifest.json 以及任何打包的渲染器、提示、工具或首选项文件。
有关托管AI工作区持久文件存储,请参阅 工作空间文件浏览器.MCPViews使用提供商拥有的沙箱路由和短期签名的工作URL;存储凭据保留在托管的控制平面和工作环境中。
捆绑清单和资源插件目录也可以随应用程序一起提供。MCPViews种子内置兼容性在启动时显示,mac开发包可以从以下应用程序资源中安装完整的插件目录 bundled-plugins/mac-dev/ 因此,本地插件工作树可以立即使用,而无需更改公共插件契约。
有关完整文档,请参阅 docs/plugins.md。有关创建自己的插件的分步指南,请参阅 docs/plugin-development.md.
安装插件
通过GUI
打开系统托盘菜单并选择 管理插件。从那里,您可以:
- 浏览插件注册表以发现和安装可用插件
- 从本地清单文件添加自定义插件
- 查看已安装的插件并将其删除
通过CLI
# Search the registry
mcpviews-cli plugin search
# Install a plugin from the registry
mcpviews-cli plugin add decidr
# List installed plugins
mcpviews-cli plugin list
# Install from a local manifest file
mcpviews-cli plugin add-custom ./my-plugin.json
# Remove a plugin
mcpviews-cli plugin remove decidr有关完整的CLI文档,请参阅 docs/cli.md.
插件清单格式
插件清单是一个JSON文件,其中包含渲染器映射和MCP配置:
{
"name": "my-plugin",
"version": "1.0.0",
"renderers": {
"tool_name": "renderer_name"
},
"mcp": {
"url": "http://localhost:8080/mcp",
"auth": {
"type": "bearer",
"token_env": "MY_API_KEY"
},
"tool_prefix": "myplugin_"
}
}| 字段 | 描述 |
|---|---|
name | 唯一插件标识符 |
version | 语义版本 |
renderers | 将MCP工具名称映射到前端渲染器 |
mcp.url | MCP服务器端点 |
mcp.auth | 身份验证配置(bearer, api_key,或 oauth) |
mcp.tool_prefix | 为工具名称添加前缀以避免冲突 |
支持三种身份验证类型: 持有者令牌 (env 是) API密钥 (自定义标头+env-var),以及 OAuth (浏览器重定向流)。看 docs/plugins.md 获取完整的模式参考。
CLI参考
| 命令 | 描述 |
|---|---|
mcpviews-cli plugin list | 列出已安装的插件 |
mcpviews-cli plugin add | 从注册表安装插件 |
mcpviews-cli plugin remove | 删除已安装的插件 |
| `mcpviews-cli plugin add-custom | |
| ` | 从本地清单文件安装 |
mcpviews-cli plugin search [query] | 搜索插件注册表 |
看 docs/cli.md 查看完整的使用示例和配置。
