使用说明
MCP客户端-家庭自动化
Spring Boot应用程序演示了使用AI进行家庭自动化传感器数据分析的模型上下文协议(MCP)。
概述
该项目展示了MCP客户端和服务器组件之间的集成,以实现家庭自动化传感器数据的人工智能分析。该应用程序使用在Docker Compose中运行的本地Ollama实例来提供自然语言处理功能。
建筑
MCP服务器
MCP服务器公开了提供传感器数据访问的家庭自动化工具:
- 温度读数
- 湿度测量
- 气压数据
- 时间戳信息
MCP客户端
Spring Boot客户端应用程序:
- 通过HTTP连接到MCP服务器
- 动态发现可用工具
- 使用Spring AI提供对话界面
- 与Ollama LLM集成,实现智能响应
- 使用聊天记忆维护对话上下文
主要特点
- 工具发现:自动发现和注册MCP工具
- 自然语言接口:用简单的英语询问有关家庭环境的问题
- AI驱动的分析:使用Ollama(在Docker中本地运行)分析传感器数据并提供建议
- 情境感知:维护对话历史记录,以实现连贯的多回合互动
- REST API:简单
/api/ask提交问题的终点
技术栈
- Java 25 雅加达EE
- 弹簧靴4.0.3
- 春季AI 2.0.0-M2 支持MCP
- 奥拉玛 (通过Docker Compose获取本地LLM)
- 模型上下文协议SDK 0.17.1
查询示例
bash curl -X POST [http://localhost:8081/api/ask](http://localhost:8081/api/ask)
-H "Content-Type: application/json"
-d '{"question": "How should I adjust my heating?"}'
bash curl -X POST [http://localhost:8081/api/ask](http://localhost:8081/api/ask)
-H "Content-Type: application/json"
-d '{"question": "Should I open the windows? I'm feeling a bit dizzy!"}'
参考文献
- 模型上下文协议(MCP): 人类学MCP文档
- MCP规范: 模型上下文协议.io
- 春之AI: Spring AI文档
- 奥拉玛: ollama.com
许可证
这是一个用于教育目的的示范项目。