# inbody-api-mcp

Reads InBody profile and scan data through MCP, including body fat, muscle mass and water. Use it when an agent needs access to your measurements.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 14
- Author: rwestergren
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/rwestergren/inbody-api-mcp
- Updated: 2026-06-19
- HTML: https://affpapa.org/en/nevibecode/mcp/inbody-api-mcp

## What it does

inbody-api-mcp connects to the REST service used by the InBody mobile app and exposes body-composition records to MCP clients. Its tools return the user profile, scan count, chronological scan summaries and the full metrics for one scan, including water, fat, BMI, muscle data and segmental impedance.

The server signs in with the registration phone number, password and country code. It resolves the regional API host and renews authentication after the JWT expires. Install `uv` first; the process is started on demand with `uvx` and communicates through stdio only.

This is a read-only connection: it has no write or delete operations. The login ID must be the registration phone number as digits only, without a country prefix or `+`; an email address will fail authentication.

## Requirements
- Needs: Python and uv (commands run via uvx)
- Environment variables: `INBODY_LOGIN_ID`, `INBODY_LOGIN_PW`, `INBODY_COUNTRY_CODE` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add --env INBODY_LOGIN_ID=<INBODY_LOGIN_ID> --env INBODY_LOGIN_PW=<INBODY_LOGIN_PW> --env INBODY_COUNTRY_CODE=<INBODY_COUNTRY_CODE> --transport stdio inbody-api-mcp -- uvx inbody-api-mcp
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from inbody-api-mcp <command>

### Codex

**Platform CLI**
```bash
codex mcp add inbody-api-mcp --env INBODY_LOGIN_ID=<INBODY_LOGIN_ID> --env INBODY_LOGIN_PW=<INBODY_LOGIN_PW> --env INBODY_COUNTRY_CODE=<INBODY_COUNTRY_CODE> -- uvx inbody-api-mcp
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from inbody-api-mcp <command>

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "inbody-api-mcp": {
            "command": "uvx",
            "args": [
                "inbody-api-mcp"
            ],
            "env": {
                "INBODY_LOGIN_ID": "<INBODY_LOGIN_ID>",
                "INBODY_LOGIN_PW": "<INBODY_LOGIN_PW>",
                "INBODY_COUNTRY_CODE": "<INBODY_COUNTRY_CODE>"
            }
        }
    }
}
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from inbody-api-mcp <command>

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "inbody-api-mcp": {
            "type": "stdio",
            "command": "uvx",
            "args": [
                "inbody-api-mcp"
            ],
            "env": {
                "INBODY_LOGIN_ID": "<INBODY_LOGIN_ID>",
                "INBODY_LOGIN_PW": "<INBODY_LOGIN_PW>",
                "INBODY_COUNTRY_CODE": "<INBODY_COUNTRY_CODE>"
            }
        }
    }
}
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from inbody-api-mcp <command>

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add -e INBODY_LOGIN_ID=<INBODY_LOGIN_ID> -e INBODY_LOGIN_PW=<INBODY_LOGIN_PW> -e INBODY_COUNTRY_CODE=<INBODY_COUNTRY_CODE> inbody-api-mcp uvx inbody-api-mcp
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from inbody-api-mcp <command>

## When to use it
- read an InBody profile from an agent
- inspect a chronological scan history
- retrieve the full metrics for one scan
- review body fat, BMI and muscle measurements

## Example prompts
- Use `get_profile` to show my InBody profile and baseline measurements.
- List my recent InBody scans with weight, BMI, body-fat percentage and muscle mass.
- Retrieve the full details for the selected scan, including water and impedance data.

## Similar
- [MCP Toolbox for Databases](https://affpapa.org/en/nevibecode/mcp/googleapis-mcp-toolbox-for-databases.md) — MCP server · ★ 16717
- [PostHog MCP Server](https://affpapa.org/en/nevibecode/mcp/posthog-mcp-server.md) — MCP server · ★ 40409
- [OpenWork MCP Gateway](https://affpapa.org/en/nevibecode/mcp/openwork-mcp-gateway.md) — MCP server · ★ 24242
- [Keploy](https://affpapa.org/en/nevibecode/mcp/keploy.md) — MCP server · ★ 18727
- [Nhost](https://affpapa.org/en/nevibecode/mcp/nhost.md) — MCP server · ★ 9366
- [basebalance.cloud — x402 RPC & MCP gateway](https://affpapa.org/en/nevibecode/mcp/basebalancecloud-x402-rpc-mcp-gateway.md) — MCP server · ★ 7506

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
