{
  "$comment": "Machine-readable description of Marrow's MCP surface. Not a registry manifest: Marrow's server runs on a user's own phone or hardware, so there is no hosted endpoint to point a client at. Generated by hand from ios/HealthBridge/Sync/AgentServer.swift; keep it in step with that file.",
  "name": "marrow",
  "title": "Marrow (Apple Health)",
  "description": "Read-only access to a user's Apple Health data: 174 metrics, workouts and a food diary, served from their own iPhone or their own server.",
  "homepage": "https://skeletonarmy.tech/",
  "documentation": "https://skeletonarmy.tech/mcp",
  "vendor": "Skeleton Army",
  "license": "proprietary",
  "status": "beta",
  "protocol": {
    "name": "Model Context Protocol",
    "version": "2025-06-18",
    "transport": "streamable-http",
    "rpc": "json-rpc-2.0",
    "auth": {
      "type": "bearer",
      "header": "Authorization",
      "note": "Token is generated in the app and shown as a QR code or a copyable config block. There is no account and no OAuth."
    }
  },
  "endpoints": [
    {
      "mode": "on-device",
      "url": "http://<phone-ip>:21212/mcp",
      "availability": "while the app is running, on the local network or tailnet",
      "note": "Off by default. The user turns it on in Settings."
    },
    {
      "mode": "self-hosted",
      "url": "http://<server-ip>:8800/mcp",
      "availability": "24/7",
      "note": "A single Python stdlib file mirroring the phone's data. Put it behind HTTPS (tailscale serve) before reaching it off-LAN."
    },
    {
      "mode": "relay",
      "url": "https://<your-gateway>/agent/mcp",
      "availability": "24/7",
      "note": "Serves the same mirror when the phone is asleep."
    }
  ],
  "tools": [
    {
      "name": "health_summary",
      "readOnly": true,
      "description": "Recent days across activity, heart, sleep and nutrition."
    },
    {
      "name": "list_metrics",
      "readOnly": true,
      "description": "Every metric being tracked, with units and coverage."
    },
    {
      "name": "metric_daily",
      "readOnly": true,
      "description": "Daily values for any metric, up to 400 days."
    },
    {
      "name": "metric_samples",
      "readOnly": true,
      "description": "Raw records with timestamps and source devices."
    },
    {
      "name": "workouts",
      "readOnly": true,
      "description": "Workouts including set-by-set strength detail."
    },
    {
      "name": "nutrition_log",
      "readOnly": true,
      "description": "Food diary with the full nutrient breakdown."
    }
  ],
  "writes": false,
  "cost": "free",
  "requires": [
    "iOS 17+",
    "Apple Health"
  ],
  "registry": {
    "name": "tech.skeletonarmy/marrow",
    "url": "https://registry.modelcontextprotocol.io",
    "pypi": "marrow-mcp",
    "source": "https://github.com/DukeAidanHall/marrow-mcp"
  }
}
