three.ws Tutor
io.github.nirholasPublished by GitHub account nirholasv0.1.2Updated Oct 24, 2026
Read a Pay-As-You-Learn tutoring session's itemized tab and close it for an attested invoice.
Overview
Reads a three.ws Pay-As-You-Learn tutoring session's itemized tab and closes it to seal an attested invoice.
- What you can do
- Read a session's itemized running tab by session ID: line items with question, level, tokens and cost, plus status and running total
- Close a session to finalize it, returning the itemized total and a SHA-256 attestation that locks further billing
- When to use it
- Use it when you work with three.ws Pay-As-You-Learn tutoring sessions and want an assistant to check what has been billed so far or to end a session and obtain its attested invoice.
- Requirements
- Node.js 20 or newer, run via npx or a local install. Network access to the three.ws API, configurable through THREE_WS_BASE (default and THREE_WS_TIMEOUT_MS (default 20000). No API key or signer; sessions are addressed by an opaque session ID.
Installation
In SourceWeft
- Open three.ws Tutor in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
@three-ws/tutor-mcp
Manage a Pay-As-You-Learn tutoring session from any AI agent — read its itemized running tab and close it for an attested invoice.
[npm] [license] [node] [MCP Registry] [three.ws]
A Model Context Protocol server that exposes the three.ws Pay-As-You-Learn tutor ledger over stdio. Read a tutoring session's itemized tab — one line item per answered question, with per-item cost and a running total — and close the session to seal an attested invoice.
The tutor bills per answered question; this server's tools are free. Viewing the running tab and closing the session never charge the learner — a learner must never pay to see what they owe or to end the session. Sessions are addressed by an opaque sessionId, so no API key and no signer are required — point THREE_WS_BASE at a deployment and go.
Install
Or run with npx (no install):
Quick start
Claude Code, one line:
Claude Desktop / Cursor (claude_desktop_config.json or mcp.json):
Inspect the surface with the MCP Inspector:
Tools
Both tools are free and move no funds: the per-question answers are the paid action (handled elsewhere). load_session reads live data — the tab grows as questions are billed, so it is not idempotent. close_session mutates state (open → closed) but is itself idempotent: re-closing returns the same itemized total.
Input parameters
load_session — sessionId (required, ≤100 chars).
close_session — sessionId (required, ≤100 chars).
Example
A sessionId with no stored history returns an empty open session (questionCount: 0) rather than an error — an honest "nothing billed yet", not a failure.
Requirements
- Node.js >= 20.
- Network access to
https://three.ws(or your ownTHREE_WS_BASE).
Environment variables
Links
- Homepage: https://three.ws
- Changelog: https://three.ws/changelog
- Issues: https://github.com/nirholas/three.ws/issues
- License: Apache-2.0, see LICENSE
Part of the three.ws SDK suite — 3D AI agents, on-chain identity, and agent payments.
Website · Changelog · GitHub
Source: packages/tutor-mcp/README.md at commit c8f2cde
Tools
0Version history
2- v0.1.2LatestOct 10, 2026
- v0.1.1Sep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts