国家博物馆MCP客户端
运作原理
LLM(Mistral Large 3)使用13个MCP工具从国家博物馆约83万件藏品中搜索、过滤和检索艺术品。当打开艺术品时,IIIF图像直接加载到查看器中。用户可以缩放、平移、旋转、选择区域,并向LLM询问他们看到了什么。
Browser ──→ POST /api/chat ──→ OpenRouter (LLM streaming)
Browser ──→ POST /api/mcp ──→ Rijksmuseum MCP+ server (tool execution)后端代理LLM请求(API密钥位于服务器端),并充当Rijksmuseum服务器的MCP客户端。
特性
- 带有导航控制、旋转、全屏的深度缩放IIIF查看器(OpenSeadragon)
- 区域选择--拖动以选择一个区域,坐标将添加到聊天提示中
- LLM工具调用驱动的查看器导航和覆盖
- 聊天中的Markdown渲染(表格、代码块、列表、链接)
- 可选技能文件,为LLM提供详细的研究工作流程
- 停止按钮取消正在进行的查询
设置
npm install创建一个 .env 文件:
OPENROUTER_API_KEY=your-openrouter-api-key发展
npm run dev同时启动Vite-dev服务器(前端)和Express后端。
生产
npm run build
npm start部署
已配置为 铁路.Set OPENROUTER_API_KEY 作为服务上的环境变量。铁路提供 PORT 自动。
技术栈
| 包 | 角色 |
|---|---|
ai | streamText() 具有工具执行和多步循环 |
@ai-sdk/openai-compatible | OpenRouter适配器 |
@ai-sdk/react | useChat() 消息历史和流式传输挂钩 |
express | 后端服务器和MCP客户端代理 |
openseadragon | IIIF深度变焦查看器 |
react | UI框架 |
react-markdown | 聊天中的Markdown渲染 |
vite | 前端构建 |
访问
密码保护。
许可证
麻省理工学院
