智能家居传感器数据分析服务

一个基于Spring Boot和Model Context Protocol (MCP)的智能家居传感器数据分析服务,通过AI技术提供自然语言交互和数据分析功能。

  • by chrisabit-it
  • Java
  • 本地部署
  • 更新于
在 GitHub 查看 chrisabit-it/simple-mcp

使用说明

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!"}'

参考文献

许可证

这是一个用于教育目的的示范项目。