一个现代的React TypeScript应用程序,用于与模型上下文协议(MCP)服务器交互,具有集成Azure OpenAI的AI驱动聊天、多语言支持和高级数据可视化功能。
观看React MCP客户端在智能查询处理和数据可视化方面的表现:
https://github.com/user-attachments/assets/c06299ae-9ed7-42bc-a93f-4879ca464a8a
演示展示了智能查询处理、自动数据可视化和多语言聊天功能。
最近添加的功能:
克隆并安装
git clone <repository-url>
cd react-mcp-client
npm install
环境设置
创建.env文件:
VITE_AOAI_ENDPOINT=https://your-openai-resource.openai.azure.com/openai/deployments/your-model/chat/completions?api-version=22023-05-15
VITE_AOAI_APIKEY=your-azure-openai-api-key
VITE_MCP_SERVER_URL=http://localhost:9090
# 可选 - 用于RAG能力
AZURE_SEARCH_ENDPOINT=https://your-search-service.search.windows.net
AZURE_SEARCH_APIKEY=your-search-admin-key
AZURE_SEARCH_INDEX=your-index-name
启动应用
# 启动代理服务器(处理前端 ↔ MCP通信)
node search-proxy.cjs
# 启动开发服务器
npm run dev
打开浏览器:导航到http://localhost:5174
src/
├── components/
│ ├── App.tsx # 主应用及会话管理
│ ├── Chat/Chat.tsx # 聊天界面及数据可视化
│ ├── Toast/ # Toast通知系统
│ ├── DataVisualization/ # 图表渲染及表格组件
│ └── LanguageSelector.tsx # 多语言支持
├── services/
│ ├── azureOpenAI.ts # Azure OpenAI集成
│ ├── azureSearch.ts # Azure搜索/RAG能力
│ ├── mcpServer.ts # MCP服务器通信
│ └── chatService.ts # 业务逻辑及参数提取
├── i18n/
│ └── locales/ # 翻译文件(en, fr, nl)
└── hooks/
└── useToast.ts # Toast通知钩子
前端(React)→ Vite代理(/api/*) → 代理服务器(5002)→ MCP服务器(9090)→ 数据处理 → UI渲染
Azure OpenAI连接
.env文件中的VITE_AOAI_ENDPOINT和VITE_AOAI_APIKEY是否正确MCP服务器问题
数据可视化
语言/存储问题
npm run dev - 启动开发服务器npm run build - 构建生产环境npm run preview - 预览生产构建npm run lint - 运行代码质量检查MIT许可 - 查看LICENSE文件获取详情。
该项目是在个人设备和个人时间上独立开发的。 它未与EPAM Systems及其客户有任何关联、认可或衍生关系。 所有示例、配置和数据都是通用的,仅用于演示和教育目的。
使用React + TypeScript + MCP构建 ❤️