StartupBros-com

Renpho MCP Server

Community StartupBros-com
Updated

MCP server that provides access to body composition data from Renpho smart scales. Query your weight, body fat, muscle mass, and other health metrics directly from Claude, Cursor, or any MCP-compatible client.

Renpho MCP Server

A Model Context Protocol (MCP) server that provides access to body composition data from Renpho smart scales. Query your weight, body fat, muscle mass, and other health metrics directly from Claude, Cursor, or any MCP-compatible client.

Features

  • Body Composition Data: Weight, BMI, body fat %, muscle mass, water %, bone mass, visceral fat, metabolic age, BMR, and more
  • Weight Trends: Track changes over customizable time periods (7-365 days)
  • Health Classifications: Automatic BMI, body fat, and visceral fat category assessments
  • Measurement History: Access historical measurements with date filtering
  • Multi-table discovery: Scans all linked Renpho scale tables instead of assuming the first discovered scale-user ID is always correct
  • Sync diagnostics: Inspect linked scale-user IDs, hidden measurements, and likely delayed Wi-Fi sync situations
  • Secure: Credentials stored as environment variables, never logged

Requirements

  • Node.js 18+
  • A Renpho Health account with connected smart scale
  • Important: This works with the Renpho Health app (blue icon), not the legacy Renpho app

Installation

git clone https://github.com/StartupBros/renpho-mcp-server.git
cd renpho-mcp-server
npm install
npm run build

Configuration

Create a .env file (or set environment variables):

[email protected]
RENPHO_PASSWORD=your-password

Claude Code

Add to your MCP settings (~/.claude/settings.json or project .claude/settings.json):

{
  "mcpServers": {
    "renpho": {
      "command": "node",
      "args": ["/path/to/renpho-mcp-server/dist/index.js"],
      "env": {
        "RENPHO_EMAIL": "[email protected]",
        "RENPHO_PASSWORD": "your-password"
      }
    }
  }
}

Claude Desktop

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "renpho": {
      "command": "node",
      "args": ["/path/to/renpho-mcp-server/dist/index.js"],
      "env": {
        "RENPHO_EMAIL": "[email protected]",
        "RENPHO_PASSWORD": "your-password"
      }
    }
  }
}

Available Tools

Tool Description
get_latest_measurement Most recent body composition reading selected for the current user
get_body_composition Detailed composition with health classifications
get_weight_trend Weight change analysis over N days
get_measurements Historical measurements with date filtering
get_current_user User profile information
get_scale_users Linked scale-user IDs and Renpho table mappings
get_sync_diagnostics Debug hidden/delayed measurements across linked scale users
refresh_data Clear caches and force a fresh Renpho session
health_check Verify API connection status

Example Usage

Once configured, ask Claude:

  • "What's my current weight and body composition?"
  • "Show my weight trend over the last 90 days"
  • "How has my body fat percentage changed this year?"
  • "Get my last 10 measurements"
  • "Show my Renpho scale user IDs"
  • "Run sync diagnostics for the last 7 days"
  • "Refresh Renpho data and re-check my latest measurement"

Technical Notes

  • Uses the Renpho Health API (cloud.renpho.com), not the legacy API
  • Implements AES-128-ECB encryption for API communication
  • Handles JavaScript BigInt precision for large user IDs
  • Scans all discovered Renpho scale tables and scale-user IDs before selecting measurements for the current user
  • Includes a sync diagnostics tool to surface measurements associated with linked scale users but not currently selected for the logged-in user
  • Caches authentication tokens (50 min) and measurements (5 min) to reduce API calls

Known Wi-Fi Scale Sync Caveat

Some Wi-Fi scales appear to upload measurements that are not immediately bound to the expected Renpho user until the mobile app performs additional sync logic. This server now helps debug that state with get_scale_users, get_sync_diagnostics, and refresh_data, but the exact server-side binding call used by the app is still being investigated.

Privacy

  • Credentials are only used to authenticate with Renpho's API
  • No data is stored permanently or sent to third parties
  • All communication uses HTTPS

Credits

API reverse engineering based on RenphoGarminSync-CLI by forkerer.

License

MIT

MCP Server ยท Populars

MCP Server ยท New