MCP Ext Apps
M

MCP Ext Apps

这是一个实现MCP应用扩展规范的示例项目,允许通过MCP工具调用交互式HTML/JS用户界面,包含服务器端和客户端演示。
2.5分
5.9K

什么是MCP Ext Apps?

MCP Ext Apps是一个实现了MCP Apps Extension (SEP-1865)规范的示例项目,它展示了如何通过MCP工具创建交互式的HTML/JavaScript用户界面。这个项目允许开发者在MCP生态系统中构建安全的、沙盒化的Web应用,这些应用可以通过标准的MCP协议与AI助手和其他客户端进行通信。

如何使用MCP Ext Apps?

使用MCP Ext Apps非常简单:首先启动MCP服务器和主机客户端,然后通过客户端界面选择可用的工具。当调用工具时,它会返回一个HTML界面,该界面将在安全的沙盒iframe中渲染。用户可以与界面交互,界面通过JSON-RPC协议与主机通信。

适用场景

MCP Ext Apps适用于需要可视化界面的MCP工具开发,例如:数据可视化仪表板、实时监控面板、交互式配置工具、图表生成器、表单编辑器等任何需要通过Web界面提供丰富交互体验的场景。

主要功能

SEP-1865规范实现
完整实现了MCP Apps Extension规范,支持ui://资源URI方案和text/html+mcp MIME类型
安全的沙盒环境
所有HTML界面都在严格的内容安全策略(CSP)保护的iframe中运行,确保主机安全
标准化的通信协议
使用JSON-RPC 2.0 over postMessage进行界面与主机之间的通信,确保可靠的数据交换
易于扩展
提供清晰的架构和示例代码,方便开发者添加新的工具和界面
开箱即用的示例
包含dashboard和clock等示例工具,帮助开发者快速上手
优势
标准化:遵循MCP官方扩展规范,确保与其他MCP组件的兼容性
安全性:严格的沙盒机制和CSP策略保护主机环境安全
灵活性:支持丰富的HTML/JavaScript界面,提供良好的用户体验
易用性:简单的安装和启动流程,适合快速原型开发
开源:MIT许可证,允许自由使用和修改
局限性
学习曲线:需要了解MCP协议和JSON-RPC通信机制
性能开销:iframe和postMessage通信可能带来一定的性能开销
浏览器依赖:主要面向Web环境,对纯命令行环境支持有限
早期阶段:作为示例实现,生产环境可能需要更多测试和优化

如何使用

环境准备
确保系统已安装Node.js和npm,然后克隆或下载项目代码
安装依赖
在项目目录中运行npm install命令安装所有必要的依赖包
启动服务
使用npm start命令同时启动MCP服务器和主机客户端
访问界面
在浏览器中打开http://localhost:8080,你将看到主机客户端界面
使用工具
在侧边栏中选择可用的工具(如dashboard或clock),点击调用
交互体验
工具返回的HTML界面将在主区域显示,你可以与界面进行交互

使用案例

数据可视化仪表板
创建一个实时数据监控仪表板,显示系统性能指标和图表
实时时钟应用
创建一个显示当前时间的动态时钟,支持不同时区和格式
配置编辑器
为MCP工具提供图形化的配置界面,方便非技术用户修改设置
图表生成器
根据输入数据动态生成各种类型的图表(柱状图、折线图、饼图等)

常见问题

MCP Ext Apps是什么?它和普通的MCP工具有什么不同?
我需要学习哪些技术才能开发MCP Ext Apps?
MCP Ext Apps安全吗?会不会有XSS攻击风险?
我可以将MCP Ext Apps部署到生产环境吗?
MCP Ext Apps支持哪些浏览器?
如何添加新的工具到MCP Ext Apps?

相关资源

MCP Apps Extension规范(SEP-1865)
官方MCP Apps Extension规范文档,详细说明了ui://方案、text/html+mcp类型等技术细节
Model Context Protocol官方仓库
MCP协议的核心仓库,包含协议规范、参考实现和其他扩展
MCP Ext Apps示例代码
本项目的完整源代码,包含所有示例工具和实现细节
JSON-RPC 2.0规范
JSON-RPC 2.0协议规范,MCP Ext Apps使用此协议进行通信
iframe沙盒安全指南
MDN关于iframe沙盒属性的详细文档,解释各种安全限制选项

安装

复制以下命令到你的Client进行配置
注意:您的密钥属于敏感信息,请勿与任何人分享。

替代品

C
Claude Context
Claude Context是一个MCP插件,通过语义代码搜索为AI编程助手提供整个代码库的深度上下文,支持多种嵌入模型和向量数据库,实现高效代码检索。
TypeScript
5.9K
5分
A
Acemcp
Acemcp是一个代码库索引和语义搜索的MCP服务器,支持自动增量索引、多编码文件处理、.gitignore集成和Web管理界面,帮助开发者快速搜索和理解代码上下文。
Python
9.9K
5分
B
Blueprint MCP
Blueprint MCP是一个基于Arcade生态的图表生成工具,利用Nano Banana Pro等技术,通过分析代码库和系统架构自动生成架构图、流程图等可视化图表,帮助开发者理解复杂系统。
Python
8.2K
4分
M
MCP Agent Mail
MCP Agent Mail是一个为AI编程代理设计的邮件式协调层,提供身份管理、消息收发、文件预留和搜索功能,支持多代理异步协作和冲突避免。
Python
9.5K
5分
K
Klavis
Klavis AI是一个开源项目,提供在Slack、Discord和Web平台上简单易用的MCP(模型上下文协议)服务,包括报告生成、YouTube工具、文档转换等多种功能,支持非技术用户和开发者使用AI工作流。
TypeScript
13.1K
5分
M
MCP
微软官方MCP服务器,为AI助手提供最新微软技术文档的搜索和获取功能
13.1K
5分
A
Aderyn
Aderyn是一个开源的Solidity智能合约静态分析工具,由Rust编写,帮助开发者和安全研究人员发现Solidity代码中的漏洞。它支持Foundry和Hardhat项目,可生成多种格式报告,并提供VSCode扩展。
Rust
8.7K
5分
D
Devtools Debugger MCP
Node.js调试器MCP服务器,提供基于Chrome DevTools协议的完整调试功能,包括断点设置、单步执行、变量检查和表达式评估等
TypeScript
10.0K
4分
F
Figma Context MCP
Framelink Figma MCP Server是一个为AI编程工具(如Cursor)提供Figma设计数据访问的服务器,通过简化Figma API响应,帮助AI更准确地实现设计到代码的一键转换。
TypeScript
62.8K
4.5分
F
Firecrawl MCP Server
Firecrawl MCP Server是一个集成Firecrawl网页抓取能力的模型上下文协议服务器,提供丰富的网页抓取、搜索和内容提取功能。
TypeScript
117.5K
5分
D
Duckduckgo MCP Server
已认证
DuckDuckGo搜索MCP服务器,为Claude等LLM提供网页搜索和内容抓取服务
Python
67.1K
4.3分
E
Edgeone Pages MCP Server
EdgeOne Pages MCP是一个通过MCP协议快速部署HTML内容到EdgeOne Pages并获取公开URL的服务
TypeScript
27.0K
4.8分
B
Baidu Map
已认证
百度地图MCP Server是国内首个兼容MCP协议的地图服务,提供地理编码、路线规划等10个标准化API接口,支持Python和Typescript快速接入,赋能智能体实现地图相关功能。
Python
41.7K
4.5分
E
Exa Web Search
已认证
Exa MCP Server是一个为AI助手(如Claude)提供网络搜索功能的服务器,通过Exa AI搜索API实现实时、安全的网络信息获取。
TypeScript
46.5K
5分
M
Minimax MCP Server
MiniMax Model Context Protocol (MCP) 是一个官方服务器,支持与强大的文本转语音、视频/图像生成API交互,适用于多种客户端工具如Claude Desktop、Cursor等。
Python
52.9K
4.8分
C
Context7
Context7 MCP是一个为AI编程助手提供实时、版本特定文档和代码示例的服务,通过Model Context Protocol直接集成到提示中,解决LLM使用过时信息的问题。
TypeScript
85.9K
4.7分
AIBase
智启未来,您的人工智能解决方案智库
© 2025AIBase