Healthmate健康经理
   
Healthmate健康经理单击功能区上Healthmate生态系统核心健康信息管理MCP服务器。AWS上面采用无服务器架构AI健康教练和外部AI可与客户端(ChatGPT、Claude等)协作。
🌟 特徴
- 🔐 安全认证: Cognito OAuth 2.0强大的认证体系
- 🚀 无服务器: AWS Lambda + DynamoDB高可用性和低成本运营
- 🤖 AI连携: ChatGPT、Claude、Gemini等外部AI与客户直接协作
- 📊 全面的健康管理:从目标设定到日常活动记录、日记管理的集中管理
- 🔧 MCP准据: Model Context Protocol标准化API
- 🏗️ 完全IaC: CDK集中管理所有资源
- ✅ 测试完整性:单体测试+集成测试的质量保证
- 🌍 环境分离: Dev/Stage/Prod环境の完全分离
�️ Healthmate生态系统
graph TB
A[Healthmate-Frontend
React Frontend] --> B[Healthmate-HealthManager
MCP Server]
C[Healthmate-CoachAI
AI Agent] --> B
D[ChatGPT] --> B
E[Claude] --> B
F[Other AI Clients] --> B
B --> G[AWS Lambda]
B --> H[DynamoDB]
B --> I[Cognito]- Healthmate健康经理(本项目):健康信息管理MCP服务器
- Healthmate CoachAI: AI健康ー
- Healthmate前端: React前端应用程序
- Healthmate核心:认证基础服务
- Healthmate应用程序:集成部署管理
🛠️ 技术栈
- 后端:AWS Lambda(Python 3.12)
- 数据库:亚马逊DynamoDB
- 认证:亚马逊Cognito(OAuth 2.0)
- API网关:亚马逊基岩代理核心网关
- 基础设施: AWS CDK (Python) - 完全なInfrastructure as Code
- 测试:pytest+假设(基于属性的测试)
- 协议:模型上下文协议(MCP)
📋 主要功能
健康ー管理
- 用户管理:创建、更新和检索用户信息
- 健康目标管理:设置长期健康目标和进度管理
- 健康政策管理:具体行为规则的定义和管理
- 健康管理:身体和精神健康烦恼的记录和管理
- 活动记録管理:每日健康活动的记录和履历管理
- 身体測定値管理: 体重、身長、体脂肪率の記録と履歴管理
- 日记管理:记录每天的回顾和心情得分
- 健康経过観察管理:持续追踪、记录症状和治疗的经过🆕
AI连携机能
- MCP准据API:根据标准化协议AI协作
- M2M认证:安全计算机间认证
- 实时响应:在低延迟中提供健康数据
🔧 MCP工具列表
Healthmate-HealthManager是以下的40个的,之MCP提供工具:
UserManagement (3工具)
AddUser:创建新用户信息UpdateUser:更新用户信息GetUser:获取用户信息
HealthGoalManagement (4工具)
AddGoal:添加新的健康目标UpdateGoal:更新现有健康目标DeleteGoal:删除健康目标GetGoals:获取用户的所有健康目标
HealthPolicyManagement (4工具)
AddPolicy:添加新的健康政策UpdatePolicy:更新现有健康政策DeletePolicy:删除健康政策GetPolicies:获取用户的所有健康策略
HealthConcernManagement (4工具)
AddConcern:添加新的健康烦恼UpdateConcern:更新现有的健康烦恼DeleteConcern:删除健康烦恼GetConcerns:获取用户的所有健康烦恼
ActivityManagement (6工具)
AddActivities:在指定日期添加新活动UpdateActivity:部分更新特定时间的活动UpdateActivities:替换指定日期的所有活动DeleteActivity:删除特定活动GetActivities:获取指定日期的活动GetActivitiesInRange:获取指定期间的活动历史记录
BodyMeasurementManagement (6工具)
AddBodyMeasurement:记录身体测量值UpdateBodyMeasurement:更新现有测量记录DeleteBodyMeasurement:删除测量记录GetLatestMeasurements:获取最新测量GetOldestMeasurements:获取最古老的测量值GetMeasurementHistory:获取指定期间的测量历史记录
JournalManagement (5工具)
AddJournal:创建新日记条目或追记现有条目GetJournal:获取指定日期的日记条目GetJournalsInRange:获取指定日期范围的日记条目(最多365天)UpdateJournal:完全替换现有日记条目DeleteJournal:删除日记条目
HealthObservationManagement (8工具)🆕
AddObservation:制作新的健康病程观察记录(例如:“观察3天腰痛的病程”)GetObservation:获取指定的过程观察记录的详细信息GetObservationsInProgress:现在进行中の経过観察记録を取得GetObservationsInRange:有效地取得指定期间内的经过观察记录UpdateObservation:差分更新过程观察记录(仅更新指定字段)AddObservationProgress:添加过程观察进度日志(每日记录积累)CompleteObservation:将过程观察设为完成状态(必须记录结论)CancelObservation:将过程观察设为取消状态(必须记录取消理由)
🏛️ 体系结构
sequenceDiagram
participant Client as AI Client
(ChatGPT/Claude/CoachAI)
participant Cognito as Amazon Cognito
participant Gateway as AgentCore Gateway
participant Lambda as AWS Lambda
participant DynamoDB as Amazon DynamoDB
Client->>Cognito: OAuth 2.0 Authentication
Cognito-->>Client: JWT Access Token
Client->>Gateway: MCP Request + JWT Token
Gateway->>Gateway: JWT Validation
Gateway->>Lambda: Invoke Function
Lambda->>DynamoDB: CRUD Operations
DynamoDB-->>Lambda: Response
Lambda-->>Gateway: Result
Gateway-->>Client: MCP Response🚀 快速启动
前提条件
- Python 3.12+
- Node.js 18+ (AWS CDK用)
- AWS CLI v2 (已配置
- AWS CDK Bootstrap (目标区域)
安装
# リポジトリをクローン
git clone https://github.com/tomofuminijo/Healthmate-HealthManager.git
cd Healthmate-HealthManager
# Python仮想環境を作成
python3.12 -m venv .venv
source .venv/bin/activate # macOS/Linux
# 依存関係をインストール
pip install -r requirements.txt
# CDK依存関係をインストール
cd cdk && npm install && cd ..按环境部署
# 環境変数を設定
export HEALTHMATE_ENV=dev # dev, stage, prod
# CDKスタックをデプロイ
cd cdk
cdk deploy --require-approval never
# AgentCore Identity (OAuth2 Credential Provider) を作成
cd ..
./scripts/create-credential-provider.sh测试运行
# 単体テストを実行
pytest tests/unit/ -v
# 統合テストを実行(全40ツール)
python test_mcp_client.py取消部署
# AgentCore Identity を削除
./scripts/delete-credential-provider.sh
# CDKスタックを削除
cd cdk
cdk destroy --force📁 项目配置
Healthmate-HealthManager/
├── cdk/ # AWS CDK インフラストラクチャ
│ ├── cdk/ # CDK Python モジュール
│ ├── app.py # CDK アプリケーションエントリーポイント
│ ├── requirements.txt # CDK 依存関係
│ └── cdk.json # CDK 設定ファイル
├── lambda/ # Lambda 関数ハンドラー
│ ├── user/handler.py # ユーザー管理 Lambda
│ ├── health_goal/handler.py # 健康目標管理 Lambda
│ ├── health_policy/handler.py # 健康ポリシー管理 Lambda
│ ├── health_concern/handler.py # 健康悩み管理 Lambda
│ ├── activity/handler.py # 活動記録管理 Lambda
│ ├── body_measurement/handler.py # 身体測定値管理 Lambda
│ ├── journal/handler.py # 日記管理 Lambda
│ └── health_observation/handler.py # 健康経過観察管理 Lambda 🆕
├── mcp-schema/ # MCP ツールスキーマ定義
│ ├── user-management-mcp-schema.json
│ ├── health-goal-management-mcp-schema.json
│ ├── health-policy-management-mcp-schema.json
│ ├── health-concern-management-mcp-schema.json
│ ├── activity-management-mcp-schema.json
│ ├── body-measurement-mcp-schema.json
│ ├── journal-management-mcp-schema.json
│ └── health-observation-management-mcp-schema.json 🆕
├── scripts/ # デプロイ・管理スクリプト
│ ├── create-credential-provider.sh # AgentCore Identity作成
│ ├── delete-credential-provider.sh # AgentCore Identity削除
│ ├── deploy-full-stack.sh # 完全デプロイ
│ └── destroy-full-stack.sh # 完全削除
├── tests/ # テストスイート
│ ├── unit/ # 単体テスト
│ └── integration/ # 統合テスト
├── .kiro/specs/ # 仕様書・設計書
│ ├── m2m-authentication-refactor/
│ ├── body-measurements/
│ ├── journal-management/ # 日記管理機能仕様
│ │ ├── requirements.md # 日記管理要件
│ │ ├── design.md # 日記管理設計
│ │ └── tasks.md # 実装タスク
│ └── health-observation-management/ # 健康経過観察管理機能仕様 🆕
│ ├── requirements.md # 健康経過観察管理要件
│ ├── design.md # 健康経過観察管理設計
│ └── tasks.md # 実装タスク
├── test_mcp_client.py # 統合テストクライアント(全40ツール対応)
├── requirements.txt # Python 依存関係
├── pytest.ini # テスト設定
└── README.md # このファイル📖 文档
API仕様
- MCP架构:全部40个MCP工具API规格(JSON Schema格式)
机能仕样书
日记管理功能详细信息
日记管理功能可帮助用户记录每天的回顾并跟踪心理健康趋势:
主要特征
- 日记条目管理:按日期创建、更新和删除日记
- 心情评分:从1(差)到5(好)的5个阶段评价
- 标签管理: AI自动生成的分析用标记(PascalCase形式)
- 追记机能:向现有条目添加内容
- 日付范围検索:最大365日间の日记履历取得
- 数据验证:验证日期格式、情绪评分和内容长度
数据结构
{
"userId": "user-12345",
"date": "2025-12-28",
"content": "今日は健康管理システムのテストを実行しました...",
"moodScore": 4,
"tags": ["Coding", "Testing", "Happy", "Productive"],
"createdAt": "2025-12-28T00:00:00Z",
"updatedAt": "2025-12-28T12:00:00Z"
}健康経过観察管理机能の详细🆕
健康过程观察管理功能CoachAI代理提出“观察3天腰痛的经过”的建议,使持续的健康状态的追踪和记录成为可能的功能:
主要特征
- 経过観察记録管理:持续追踪、记录症状和治疗的经过
- 进度记录功能:详细记录每天的经过,积累
- 优先度管理:设置从1(低)到5(高)的5级优先级
- 状态管理: IN_PROGRESS、COMPLETED、CANCELLEDの状態管理
- 効率的検索:进行中的观察记录或期间指定中的履历取得
- 结论记録:完成时或取消时的结论、理由记录
数据结构
{
"userId": "user123",
"observationId": "OBS#2025-12-28-001",
"title": "腰痛と背中ストレッチの相関チェック",
"description": "毎日のストレッチで背中のストレッチをもう少し入念にやりましょう",
"priority": 3,
"status": "IN_PROGRESS",
"startDatetime": "2025-12-28T00:00:00Z",
"targetDatetime": "2025-12-30T00:00:00Z",
"frequency": "P1D",
"checkItems": ["ストレッチの実施状況", "腰痛の状況"],
"progressLogs": [
{
"date": "2025-12-28",
"note": "ストレッチ実施済み、ストレッチ直後に痛み緩和",
"recordedAt": "2025-12-28T12:31:00Z"
}
],
"conclusion": null,
"createdAt": "2025-12-28T00:00:00Z",
"updatedAt": "2025-12-28T00:00:00Z"
}🔐 M2M认证系统
根据2024年12月的重构AgentCore Gateway专用的M2M(Machine-to-Machine)实现了认证系统。
验证流程
sequenceDiagram
participant Agent as AgentCore Runtime
participant Identity as AgentCore Identity
participant Cognito as Cognito User Pool
participant Gateway as AgentCore Gateway
participant Lambda as Lambda Functions
Agent->>Identity: Request OAuth2 Token
Identity->>Cognito: Client Credentials Flow
Cognito-->>Identity: JWT Access Token
Identity-->>Agent: JWT Token
Agent->>Gateway: MCP Request + JWT Token
Gateway->>Gateway: JWT Validation
Gateway->>Lambda: Invoke Function
Lambda-->>Gateway: Response
Gateway-->>Agent: MCP Response部署流程
- CDK部署: Cognito User Pool、AgentCore Gateway、Lambda Functions部署等
- 代理核心身份: OAuth2 Credential Provider创建M2M设置身份验证
- 运行时配置: AgentCore RuntimeでWorkload Identityを使用
管理脚本
|脚本|用途|说明| |-----------|------|------| | deploy-full-stack.sh 完全部署CDK + AgentCore Identity 批量部署 | destroy-full-stack.sh | 完全削除 | AgentCore Identity + CDK の一括削除 | | create-credential-provider.sh | Identity作成 | OAuth2 Credential Provider単体作成 | | delete-credential-provider.sh | Identity削除 | OAuth2 Credential Provider単体削除 |
🧪 测试
单体测试
pytest tests/unit/ -v集成测试
python test_mcp_client.py测试覆盖
- Lambda関数:全部40个工具的完全测试
- MCP符合方案:全ActivityType + BodyMeasurement + HealthConcern + HealthObservation検证済み
- 验证流程: Cognito OAuth 2.0完全测试
- CRUD操作:所有数据模型已验证
- 身体測定値: Latest/Oldest自动管理功能测试完毕
- 健康管理:已测试类别状态严重性管理功能
- 健康経过観察管理:有效获取正在进行的记录、存储进度日志、已测试状态管理功能🆕
🤝 AI 客户端协作
ChatGPT
// ChatGPT Action設定例
{
"name": "Healthmate-HealthManager",
"description": "健康情報管理システム",
"authentication": "OAuth 2.0",
"client_id": "YOUR_COGNITO_CLIENT_ID",
"authorization_url": "https://healthmate.auth.us-west-2.amazoncognito.com/oauth2/authorize"
}克劳德(拟人控制台)
# Claude MCP設定例
import anthropic
client = anthropic.Anthropic(
api_key="YOUR_API_KEY",
mcp_servers=[{
"name": "healthmanager",
"url": "https://your-gateway-id.agentcore.us-west-2.amazonaws.com"
}]
)📊 开発状况
阶段|状况|说明| |---------|------|------| | ✅ Phase 1 | 完成|环境设置和CDK基础 | ✅ Phase 2 | 完成|后端基础架构(DynamoDB+Lambda)| |✅ Phase 3 | 完了|认证设定(Cognito)| |✅ Phase 4 | 完了|MCP Gateway设定| | ✅ Phase 5 | 完成|部署和行为确认| | ✅ Phase 6 | 完成|测试实施| | ✅ Phase 7 | 完成|文档维护| | ✅ Phase 8 | 已完成CDK集成重构(网关目标集成) | ✅ Phase 9 | 已完成M2M认证重构(AgentCore专用认证) |✅ Phase 10 | 完了|身体测定値记録机能(Latest/Oldest自动管理)| |✅ Phase 11 | 完了|健康経过観察管理机能(进行中记録效率取得・进捗ログ蓄积)🆕 | | 🔄 Phase 12 | 正在进行>迁移到生产环境>
🤝 分发
- 分叉此存储库
- 创建特征分支(
git checkout -b feature/amazing-feature) - 提交更改(
git commit -m 'Add amazing feature') - 推到分支(
git push origin feature/amazing-feature) - 创建拉式请求
📄 许可证
这个项目MIT在许可证下公开。详情 许可证 请参见文件。
🙏 谢辞
______________________________________________________________________
Healthmate健康经理 -增强人工智能驱动的健康管理🏥✨
