Extract the context_memberships_url from the LTI 1.3 id_token NRPS claim after a valid launch
Make an authenticated GET request using the LTI Advantage access token obtained from the platform's OAuth 2.0 token endpoint
Set the Accept header to application/vnd.ims.lti-nrps.v2.membershipcontainer+json
Parse the members array from the response body
Check for a Link response header with rel=next; if present, follow that URL for the next page using the same access token
Continue until no rel=next Link header is returned, then merge all members arrays
Known gotchas
Access tokens for LTI Advantage services are short-lived; cache and reuse within the expiry window but do not hardcode TTLs — read the expires_in value from the token response
The membership container may omit users whose status is Inactive; if you need inactive members, check whether the platform supports a status query parameter
Do not use the id_token's roles claim as a substitute for NRPS data; NRPS returns per-member roles which may differ from the launching user's roles
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp