Token导航 LogoToken导航TokenDH.com
Ble Hrm Server logo
运维云端stdio官方级别未说明来源级核验

Ble Hrm Server

MCP Server

一个基于蓝牙的心率监测服务器,用于连接心率监测设备并提供心率数据分析和图表生成功能。

工具数

5

提示词数

0

GitHub Stars

2

资源数

0
Python数据可视化云端部署

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

ThinkInAI-Hackathon

提供方

ThinkInAI-Hackathon

最后核验

2026/5/17 20:20

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

python3 -m venv .venv

详细介绍

ble人力资源管理服务器

MCP服务器,用作BLE H耳特 比率 M监控以与HRM设备连接。

生成状态

![CI](https://github.com/ThinkInAI-Hackathon/ble-hrm-server/actions/workflows/ci.yml)

安装

我们建议使用虚拟环境和 uv 管理依赖关系。

此项目使用 pyproject.toml 用于依赖性管理。

# Create and activate a virtual environment
python3 -m venv .venv
source .venv/bin/activate  # On Windows use `.venv\Scripts\activate`

# Install uv if not already installed
pip install uv

# Install dependencies
uv sync

环境配置

此项目支持通过 .env 文件。您可以使用提供的 .env.sample 作为模板。

cp .env.sample .env

使用以下环境变量:

  • QINIU_ACCESS_KEY:您的Qiniu访问密钥。
  • QINIU_SECRET_KEY:你的七牛秘钥。
  • QINIU_BUCKET_NAME:七牛桶的名字。
  • QINIU_BUCKET_DOMAIN:与七牛桶关联的域。

用法

运行服务器

uv run src/hrm/server.py

从PyPI安装后,您可以直接使用以下命令运行服务器:

uvx ble-hrm-server

运行测试

uv run pytest

以覆盖率运行测试

uv run coverage run -m pytest
uv run coverage html

MCP定义

资源

蓝牙HRM是基于蓝牙协议的,我们应该使用 bleak 以发现设备并连接到它。

  • 通过HRM配置文件发现蓝牙设备和过滤器(心率服务0x180D)
  • 资源: discover://hrm

工具

  • 工具:监测心率 monitoring_heart_rate

- 总结:在给定的持续时间内开始监测设备的心率,默认持续时间为30分钟(1800秒)。监控将在后台进行。 - 输入: - device_id:str,要监视的设备UUID - duration:int,要监视的持续时间,默认为1800秒(30分钟) - 输出:无

  • 工具:获取心率 get_heart_rate

- 摘要:获取当前HR,使用最后10秒并返回HR的平均值 - 输入:无(假设基线读数) - 输出:当前HR(int),例如。 {"avg_hr": 60}

  • 工具:评估活动心率 evaluate_active_heart_rate

- 总结:评估最后60秒的最大心率,将此练习中观察到的最大心率记录为活动心率。 - 输入:无(假设基线读数) - 输出:最大HR:int,例如。 {"max_hr": 100}

  • 工具:获取心率桶 get_heart_rate_bucket

- 摘要:获取最后10秒的心率桶,桶大小为1秒。 - 输入: - since_from:float,监控的开始时间,默认为10秒前 - bucket_size:float,bucket的大小,默认为1秒 - 输出:心率桶:列表\[字典\],例如。 [{"time": 1715904000, "value": 60}, {"time": 1715904001, "value": 61}]

  • 工具:构建心率图 build_heart_rate_chart

- 摘要:构建最近600秒的心率图,bucket是一个动态大小,默认大小为1秒。最大铲斗数为60,如果铲斗数超过60,铲斗大小将增加到 duration / 60 秒。 - 输入: - since_from:float,监控的开始时间,默认为600秒前 - 输出:心率图PNG URL:str,例如。 https://example.com/chart.png

MCP设置

以下是服务器的MCP设置:

{
  "mcpServers": {
    "blue-hrm": {
      "command": "uvx",
      "args": [
        "ble-hrm-server"
      ]
    }
  }
}

以下是DeepSeek V3.1测试的LLM的示例提示:

你是一位健康专家,通过心率来检测测试者的心脏健康程度,现在测试者携带了蓝牙的心率带,

以下为检测步骤
- 你通过发现来获取的设备ID,通过rssi获取最接近的设备,再以此设备开始监控。
- 获取当前测试者的静息心率。
- 当测试结束后,提示测试者开始中高强度运动,比如波比跳,当测试者完成运动后,回复后,立刻测试其最高运动心率。
- 之后提示测试者计时休息2分钟,得到确认后,再次获取当前心率,并与最高心率的差额作为恢复心率。 

最后通过恢复心率的值和以下列表评估测试者的心脏健康程度,并用健康专家的口吻给测试者一些关于心脏健康方面的建议。
------
- =66: 身体年龄比真实年龄小很多

代码覆盖率

姓名名字小姐封面
src/hrm/\_\_init\_\_.py00100%
src/hrm/bt_client.py139596%
src/hrm/ts_db.py41198%
总计180697%

赞助商

特别感谢七牛云提供存储服务。七牛还提供LLM推理服务。

![Qiniu Logo](https://www.qiniu.com)

目录标签

目录标签

Python数据可视化云端部署心率监测本地部署蓝牙技术健康分析医疗设备

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

5

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP