智能生活仪表板MCP
智能生活仪表板MCP是一个展示项目,它将本地生活日志数据转化为一组可组合的数据 模型上下文协议 工具。它将日历事件、费用、天气数据、待办事项和每日摘要打包在一个FastMCP服务器后面,这样您就可以将它们与LLM客户端或MCP工具中心集成。
特性
- 日历: 列出并附加存储在中的事件
data/events.json. - 天气: 从OpenWeather获取任何城市的当前状况。
- 费用: 根据CSV数据分析支出总额和类别细分。
- 待办事项: 列出、添加和完成存储在JSON中的个人任务。
- 每日总结: 使用OpenAI将所有数据集组合成自然语言简报(包括离线回退)。
- Python执行(演示): 运行小型沙盒Python代码段进行探索。
项目结构
smart-life-mcp/
data/
events.json
expenses.csv
todo.json
tools/
calendar_tool.py
expense_tool.py
python_exec_tool.py
summary_tool.py
todo_tool.py
weather_tool.py
main.py
requirements.txt入门
- 创建并激活虚拟环境
python3 -m venv .venv
source .venv/bin/activate- 安装依赖项
pip install -r requirements.txt- 配置环境变量
复制 .env.example 到 .env (或手动导出变量)并提供您的API密钥。
- 运行MCP服务器
python main.py默认情况下,服务器在端口上启动 8000.用覆盖 SMART_LIFE_PORT.
环境变量
| 名称 | 必填 | 描述 |
|---|---|---|
OPENAI_API_KEY | 可选\* | 启用LLM驱动的每日摘要。如果没有它,则使用回退摘要。 |
OPENWEATHER_API_KEY | 是 | 必填 weather OpenWeather的工具响应。 |
SMART_LIFE_PORT | MCP服务器没有 | HTTP端口(默认 8000). |
SMART_LIFE_DEFAULT_CITY | 否 | 天气查找的默认城市(默认 Bengaluru). |
SMART_LIFE_OPENAI_MODEL | 否 | 聊天完成模型名称(默认 gpt-4o-mini). |
SMART_LIFE_LOG_LEVEL | 否 | 记录级别,例如。 INFO, DEBUG. |
\*当出现以下情况时,每日摘要将恢复为轻量级的设备上报告 OPENAI_API_KEY 不存在或API调用失败。
可用工具
| 工具名称 | 参数 | 用途 |
|---|---|---|
calendar | date (可选 YYYY-MM-DD) | 检索今天或特定日期的事件。 |
add-event | date, event, time?, location? | 将新日历事件附加到 events.json. |
weather | city? | 通过OpenWeather获取当前天气。 |
expenses | -- | 总结支出总额和类别细分。 |
todo | action (list, add, done), task? | 管理你的待办事项清单。 |
summary | -- | 结合所有数据集生成每日总结。 |
python_exec | code | 使用受限制的内置程序执行简短的Python代码段。 |
样本数据
这 data/ 目录附带了示例JSON/CSV文件,因此项目可以开箱即用。用您自己的数据替换它们,以个性化仪表板。所有工具都需要UTF-8编码的文件。
开发说明
- 该项目的目标是Python 3.10或更高版本。
python_exec_tool故意最小化,不应暴露于不受信任的输入。- 部署到生产环境时,将机密转移到适当的机密管理器中,并考虑将数据持久化在数据库中,而不是平面文件中。
关于Shabul
搜索引擎优化:Shabul Hussain Abdul——亚马逊机器学习/法学硕士/人工智能工程师;人工智能代理、自动化和数据管道。标签:#ShabulHussainAbdul#LLM工程师#GenerativeAI#AIAgents
许可证
根据MIT许可证发布。看 LICENSE 了解详情。
