Odel
rightos sdk

rightos sdk

Local
@suomimasudaTypeScriptMITUpdated 2 days ago

RightOS MCP: privacy-first QR queue/EV/pickup. 18 tools, no end-user PII.

RightOS SDKs

ci

Official SDKs for RightOS — privacy-preserving rights verification infrastructure by I-S3 (Japan).

RightOS turns queues, reservations, EV charging, and package pickup into digital QR tickets ("Right Tokens"). It verifies that a valid right is present — never who the person is. No names, phone numbers, or birthdates are required from end users.

RightOS is not a taxi or ride-hailing service. It does not arrange vehicles, set fares, assign drivers, or broker dispatch.

SDKs

LayerQuestionPackages
RightOSWhat may be done?@i-s3/rightos · @i-s3/rightos-mcp
RightFlowWhat should happen next?@i-s3/rightflow · @i-s3/rightflow-mcp
ExecutionHow is it done?your systems

RightOS / RightFlow SDKs install via package managers (or download the thin client files).

LanguagePackageSingle fileRequirements
TypeScripttypescript/@i-s3/rightosrightos.tsNode.js ≥ 18 or a modern browser
Pythonpython/rightos-sdkrightos.pyPython ≥ 3.9, standard library only
TypeScriptrightflow/@i-s3/rightflowrightflow.tsNode.js ≥ 18 or a modern browser

RightFlow is coordination beside RightOS — not a redesign. No money, marketplace, dispatch, or robot control in the core.

MCP servers (for AI agents)

mcp/@i-s3/rightos-mcp: rights tools (issue / verify / transfer).

rightflow-mcp/@i-s3/rightflow-mcp: coordination tools (tasks / actors / proposals / transitions). Separate from RightOS MCP.

{
  "mcpServers": {
    "rightos": {
      "command": "npx",
      "args": ["-y", "@i-s3/rightos-mcp"],
      "env": { "RIGHTOS_API_KEY": "rk_live_..." }
    },
    "rightflow": {
      "command": "npx",
      "args": ["-y", "@i-s3/rightflow-mcp"],
      "env": { "RIGHTOS_API_KEY": "rk_live_..." }
    }
  }
}

Quick example (TypeScript)

import { RightOS } from "@i-s3/rightos";

const client = new RightOS({ apiKey: "rk_live_..." });
const [location] = await client.listLocations();
const issued = await client.issueToken({ locationId: location.id, title: "Queue ticket" });
// Hand issued.walletUrl (QR page) to your customer
const outcome = await RightOS.verify(issued.token.id, issued.verificationCode);
// outcome.result === "success"

Quick example (Python)

from rightos import RightOS

client = RightOS(api_key="rk_live_...")
location = client.list_locations()[0]
issued = client.issue_token(location_id=location["id"], title="Queue ticket")
outcome = RightOS().verify_token(issued["token"]["id"], issued["verificationCode"])
# outcome["result"] == "success"

Resources

Privacy & security design

  • The verification code is handed to the holder exactly once; the server stores only its SHA-256 hash.
  • Transfers use re-keying: a new code is issued and the old one is invalidated immediately.
  • QR codes contain only the tokenId and verificationCode — no personal data.
  • Paid transfers and auctions are not offered.

License

MIT © I-S3 Inc.