使用说明
MCP应用程序
提供交互式数据可视化的模型上下文协议(MCP)应用程序。使用TypeScript、React和MCP Apps SDK构建。
🌟 特性
- 交互式用户界面 -与MCP主机(Claude Desktop等)集成的美观、响应灵敏的显示器
- API-抽象设计 -准备与API合作(RickAndMorty API、OpenWeatherMap等)
- MCP工具集成 -将数据作为可由AI模型调用的MCP工具公开
- 主机造型 -使用CSS变量自动适应宿主主题
- 类型安全 -通过Zod验证完全支持TypeScript
- 单文件包 -React应用程序捆绑到一个HTML文件中,便于部署
📋 项目结构
mcp-app/
├── src/
│ ├── services/
│ │ ├── apiClient.ts # Generic HTTP API client
│ │ └── Service.ts # Service abstraction
│ ├── mcp-app.tsx # React MCP App component
│ ├── styles.css # Component styles (host variables)
│ └── main.tsx # React entry point
├── server.ts # MCP server with tool/resource registration
├── index.html # HTML entry point
├── vite.config.ts # Vite config with singlefile plugin
├── tsconfig.json # TypeScript configuration
├── package.json # Dependencies and scripts
├── .env.example # Environment variables template
🚀 快速开始
1.安装依赖项
npm install
2.配置API
复制示例环境文件并配置API:
cp .env.example .env
编辑 .env 设置API凭据:
# Example: Using Open-Meteo (free, no API key needed)
WEATHER_API_BASE_URL=https://api.open-meteo.com/v1
WEATHER_API_PROVIDER=meteo
# Or use RickAndMorty API (free, no API key needed)
WEATHER_API_BASE_URL=https://rickandmortyapi.com/api
WEATHER_API_PROVIDER=rickandmorty
3.构建应用程序
npm run build
这将React应用程序捆绑到一个HTML文件中 dist/.
4.启动MCP服务器
npm run serve
服务器将在可流式http上启动(用于MCP主机集成)。
5.本地测试(可选)
在一个终端中,启动开发服务器:
npm run dev
在另一个终端中,启动MCP服务器:
npm run serve
🔧 运作原理
建筑
LLM/Host
↓
MCP Server (server.ts)
├─→ Tool: get_example
│ └─→ Calls ExampleService
│ └─→ Calls Example API
└─→ Resource: example-ui
└─→ Serves bundled React app (dist/index.html)
└─→ Displays tool results interactively
三个关键部分
-
MCP工具 (
server.ts-get_example)- 将位置和天气类型作为输入
- 通过ExampleService调用示例API
- 返回格式化的JSON
-
示例服务 (
src/services/exampleService.ts)- 提取示例数据
- 处理API规范化
- 支持多个提供商的框架
-
React组件 (
src/mcp-app.tsx)- 通过以下方式接收工具输入/输出
useApp钩子 - 漂亮地显示示例数据
- 使用宿主CSS变量进行主题集成
- 通过以下方式接收工具输入/输出