Give your AI agent live posture context—locally.

Pelion Posture ships a Model Context Protocol server, so Claude Code, Cursor and other MCP clients can read what your neck is doing while you work. It speaks stdio only, opens no port, makes no network request, and stays off until you switch it on.

  • Local stdio
  • No listening port
  • Off by default
  • No camera images
Download Pelion →

How it fits together

  1. 1Pelion PostureEstimates your posture on-device while it runs.
  2. 2Current snapshotA single private file on your Mac, rewritten at most once a second.
  3. 3Bundled MCP serverA small executable your client launches on demand. Reads the snapshot; opens no port.
  4. 4Your AI clientClaude Code, Cursor or any MCP client, over stdio.

Nothing in that chain leaves your Mac. The snapshot holds one instant — no images, no history — and is deleted when you switch MCP off.

The measured product walkthrough shows this boundary visually and publishes the five-run MCP timing data.

Set it up

Pelion must be installed and running, with the switch on in Settings → MCP. Then point your client at the bundled executable.

Claude Code

Terminal
claude mcp add pelion-posture -- "/Applications/PelionPosture.app/Contents/MacOS/pelion-posture-mcp"

Cursor, or any other MCP client

mcp.json
{
  "mcpServers": {
    "pelion-posture": {
      "command": "/Applications/PelionPosture.app/Contents/MacOS/pelion-posture-mcp"
    }
  }
}

The executable lives inside the app bundle, so it updates when the app does. If your client requires the path to be quoted, keep the quotes — several Pelion builds have lived at paths containing a space.

Resources

All 7 are free to read. Each returns JSON.

MCP resources
URINameWhat it returns
posture://currentCurrent postureLive neck load, tilt and zone (honest unknowns)
posture://todayToday summaryMonitored time, healthy %, peak, nudges
posture://fatigueFatigueFatigue index, headroom, budget, ETA to high
posture://settingsSettingsRead-only settings summary
posture://frameDerived frameFull gated derived frame (DIY)
posture://buckets/{date}5-minute bucketsBucket5m array for a date or 'today' (DIY)
posture://configTuning configTunables, ranges, pending requests (DIY)

Tools

10 tools in total: 3 that return data, 2 that file a request you approve in the app, and 5 agent behaviour tools that ship with Pro and are not open yet. Calling a gated tool returns a structured error explaining why, so your agent can tell you rather than failing silently.

MCP tools and their availability
ToolAvailabilityBehaviour
get_current_postureFreeRead posture://current (live load, tilt, zone; honest unknowns)
get_posture_summaryFreeRead posture://today + posture://fatigue merged
get_tuningFreeRead posture://config (tunables, ranges, pending requests)
request_tuning_changeFree · needs your approvalRequest a tuning change (lands in the user-approval inbox)
reset_tuningFree · needs your approvalRequest resetting a key (or all) to default (user-approval inbox)
pause_monitoringPro · not open yetPause monitoring (gated: Pelion Pro — not open yet)
resume_monitoringPro · not open yetResume monitoring (gated: Pelion Pro — not open yet)
send_posture_nudgePro · not open yetSend an agent nudge (gated: Pelion Pro — not open yet)
set_focus_sessionPro · not open yetSet a focus session (gated: Pelion Pro — not open yet)
start_relief_sessionPro · not open yetStart a relief session (gated: Pelion Pro — not open yet)

Prompts to try

Each of these uses only the free reading capabilities above.

Check posture://current and tell me in one line what my neck is carrying right now.

Keep an eye on posture://fatigue while we work. If fatigue crosses 80, say so once and suggest I step away for a minute.

Read posture://today and summarise how my posture went: monitored time, healthy percentage, and when my worst moment was.

Read posture://buckets/today and tell me which hour of the day my neck load was highest.

Privacy and lifecycle

  • Off by default. While off, the app writes no readings to disk and the server refuses every request.
  • The snapshot is a private file readable only by your macOS user, holding one instant — no images, no raw sensor values, no history.
  • A reading older than ten seconds is treated as absent, so your agent never gets a stale number presented as current.
  • Switching MCP off deletes the file. Quitting Pelion leaves a final marker containing no readings.
  • The server makes no network request and opens no port. It is launched by your client and talks to it over stdio.

Full detail is in the privacy policy.

If something is not working

MCP troubleshooting
What you seeWhat it means
app_not_runningPelion is quit, paused, or its last reading is more than ten seconds old. Launch the app and make sure monitoring is active.
server_disabledThe MCP switch is off. Turn it on in Settings → MCP; the app starts writing the snapshot again immediately.
pro_requiredYou called one of the agent behaviour tools. Those ship with Pelion Pro, which is not open yet — the error's explanation says so, so your agent can pass it on.
Client cannot find the executableCheck the path matches your installed app exactly and is quoted if it contains a space. The server only exists inside the app bundle, so it must be installed first.
invalid_tuningA tuning request used a key outside the allowed list, or a value outside its safe range. The error carries the permitted range.

Versions

This page describes MCP protocol version 2025-06-18 as shipped in Pelion Posture 0.1.1. The capability tables above are checked against a recorded transcript from the shipped server, so they cannot drift from what you actually get. The verified changelog ties that public version label to the exact downloadable artifact.

MCP questions

Does the MCP server send my posture data anywhere?

No. The server makes no network request of any kind and listens on no port — it only reads a local file and answers the client that launched it. What your own AI client then does with the data is governed by that client, not by Pelion.

Is it on by default?

No. The MCP server is off until you switch it on in Settings → MCP. While it is off, the app writes no readings to disk at all.

Which tools are free?

3 tools return data directly and 2 file a tuning request that you approve inside the app — 5 free tools in total, plus all 7 resources. The 5 agent behaviour tools ship with Pelion Pro, which is not open, so the server declines them with a structured pro_required error.

Can an agent change my settings?

Only with your explicit approval, and only for algorithm tuning values. A tuning tool writes a request that the app shows you; nothing changes until you approve it, values are clamped to safe ranges, and every change is visible and resettable in Settings → MCP. The server never writes your posture data or settings directly.

Does it work on an Intel Mac?

The app itself is universal, but the bundled MCP executable is built for Apple Silicon and Intel only. On an Intel Mac the app runs normally; the MCP server is the part that will not.

Why does it say the app is not running?

The server reads a snapshot that Pelion refreshes about once a second. If that reading is more than ten seconds old — because the app is quit, paused or was never launched — the server reports that the app is not running rather than handing your agent a stale number.

Version 0.1.1 · 16.4 MB · macOS 14+