{
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "name": "fit.nlight/nlight-fit",
  "title": "nLight.fit Health Record",
  "description": "Read-only Model Context Protocol access to one nLight.fit member's own health record.",
  "version": "1.0.0",
  "websiteUrl": "https://nlight.fit/docs/mcp",
  "remotes": [
    {
      "type": "streamable-http",
      "url": "https://nlight.fit/api/mcp",
      "headers": [
        {
          "name": "Authorization",
          "description": "Bearer token with the `read` scope. NOT needed to connect: `initialize`, `server/discover`, `ping` and `tools/list` are answered without it, so a client can complete the handshake and enumerate the tools first. Supply it to call a tool, and to receive the catalog described against the member's own columns. Obtain one through OAuth 2.1 with PKCE - the authorization server is advertised at /.well-known/oauth-authorization-server - or mint one in Settings.",
          "isRequired": false,
          "isSecret": true
        }
      ]
    }
  ],
  "_meta": {
    "fit.nlight": {
      "serverInfo": {
        "name": "routine-tracker",
        "title": "Routine Tracker Health Data",
        "version": "1.0.0"
      },
      "longDescription": "Read-only access to an nLight.fit member's health record: the daily commitment ledger, WHOOP recovery and sleep, bloodwork biomarkers, methylation genetics, computed correlations and narrative summaries.",
      "transport": "streamable-http",
      "protocolVersions": {
        "latest": "2026-07-28",
        "supported": [
          "2026-07-28",
          "2025-11-25",
          "2025-06-18",
          "2025-03-26"
        ]
      },
      "capabilities": {
        "tools": {
          "listChanged": false
        },
        "prompts": {
          "listChanged": false
        }
      },
      "toolCount": 18,
      "toolNames": [
        "get_streak",
        "get_metric_data",
        "get_day_details",
        "list_columns",
        "get_recovery_context",
        "analyze_strain_balance",
        "get_correlations",
        "analyze_relationship",
        "get_lab_data",
        "get_methylation_data",
        "get_supplements",
        "get_daily_features",
        "list_metrics",
        "get_correlation_edges",
        "get_user_facts",
        "get_insights",
        "get_summaries",
        "get_profile"
      ],
      "readOnly": true,
      "authorization": {
        "type": "oauth2.1",
        "scopesSupported": [
          "read"
        ],
        "dynamicClientRegistration": true,
        "pkceRequired": true,
        "protectedResourceMetadata": "https://nlight.fit/.well-known/oauth-protected-resource",
        "authorizationServerMetadata": "https://nlight.fit/.well-known/oauth-authorization-server",
        "anonymousMethods": [
          "initialize",
          "server/discover",
          "ping",
          "tools/list"
        ],
        "documentation": "https://nlight.fit/docs/clients"
      },
      "sandbox": {
        "url": "https://nlight.fit/api/sandbox",
        "authenticationRequired": false,
        "description": "The same tools against a synthetic member record. No account or token needed.",
        "documentation": "https://nlight.fit/docs/sandbox",
        "verify": {
          "method": "POST",
          "headers": {
            "Content-Type": "application/json"
          },
          "body": {
            "jsonrpc": "2.0",
            "id": 1,
            "method": "tools/list"
          }
        }
      },
      "pricing": {
        "freeTier": true,
        "currency": "USD",
        "tiers": [
          {
            "name": "Free",
            "price": 0,
            "interval": "none",
            "description": "The ledger, WHOOP sync, CSV import and export, charts, the nightly correlation engine, and coaching over roughly the last two months of history. Includes API and MCP access."
          },
          {
            "name": "Member",
            "price": 50,
            "interval": "year",
            "description": "Coaching over the full history at maximum reasoning effort, hybrid retrieval, an extra tool round, and Mission Analysis. Tax inclusive. Does not change what the API exposes."
          }
        ],
        "selfServeCredentials": true,
        "credentialSteps": [
          {
            "step": "register",
            "description": "Create an account. Open signup - one call, no approval, no email loop - and the response carries a session token, so the next request can be authenticated.",
            "endpoint": "/api/auth",
            "method": "POST",
            "action": "register",
            "humanInvolved": false
          },
          {
            "step": "mint-token",
            "description": "Exchange that session for a long-lived API token with the `read` scope. This is the credential an MCP client presents. A member can do the same from Settings.",
            "endpoint": "/api/tokens",
            "method": "POST",
            "action": "create",
            "humanInvolved": false
          },
          {
            "step": "call",
            "description": "Present the token as a Bearer credential on the MCP endpoint.",
            "endpoint": "/api/mcp",
            "method": "POST",
            "humanInvolved": false
          }
        ],
        "delegatedAccess": {
          "description": "For a third-party client reading a member's record rather than its own: OAuth 2.1 with PKCE and dynamic client registration. The member approves a consent screen, which is the point at which a person decides to share their own medical record.",
          "registration": "/api/oauth/register",
          "authorization": "/api/oauth/authorize",
          "token": "/api/oauth/token",
          "humanApprovesAccess": true
        },
        "approvalRequired": false,
        "sandboxRequiresNoAccount": true,
        "documentation": "https://nlight.fit/docs/membership"
      },
      "cli": {
        "name": "nlight-fit",
        "registry": "npm",
        "install": "npm install -g nlight-fit",
        "runWithoutInstalling": "npx nlight-fit tools",
        "packageUrl": "https://www.npmjs.com/package/nlight-fit",
        "binary": "nlight",
        "registryPublished": false,
        "installFromTarball": "npm install -g https://nlight.fit/cli/nlight-fit-latest.tgz",
        "tarball": "https://nlight.fit/cli/nlight-fit-latest.tgz",
        "documentation": "https://nlight.fit/docs/cli"
      },
      "documentation": {
        "overview": "https://nlight.fit/docs/mcp",
        "tools": "https://nlight.fit/docs/mcp-tools",
        "clients": "https://nlight.fit/docs/clients",
        "errors": "https://nlight.fit/docs/errors",
        "developers": "https://nlight.fit/docs/developers",
        "membership": "https://nlight.fit/docs/membership",
        "openapi": "https://nlight.fit/openapi.json",
        "llmsTxt": "https://nlight.fit/llms.txt"
      },
      "publisher": {
        "name": "nLight.fit",
        "url": "https://nlight.fit",
        "email": "Austin@nLight.fit"
      }
    }
  }
}