Manual · Appendix
Questions developers ask
Twenty short questions with honest answers about determinism, scope, keys, limits, browsers, offline use, DAWs, the pedal, logging, support and what is public about what comes next.
Updated Oct 2, 2026
Short answers for developers on the application programming interface, API from here on, and the Model Context Protocol server, MCP.
Why not just ask the model?
Because the model predicts tokens and harmony is arithmetic over pitch classes. A fluent wrong voicing looks right to anyone who does not play. THIRI computes the notes; the model keeps the conversation. Measured on 1 October 2026 on one cue, Gemini 3.1 Pro alone put 82 to 85 percent of its melody notes on chord tones. With THIRI’s analysis in the prompt it reached 86 to 90 percent, and the scorer marked no note as outside the chord or its THIRI chord scale. THIRI changed the colour, not the correctness. See Google models.
Is it deterministic?
Yes. There is no sampling and no model in the loop. The same request returns the same bytes, so you can snapshot responses as golden files. Only a grid change alters an answer, and those are marked Engine on the changelog. The C++ port inside the plugin is pinned to the JavaScript engine by golden vectors: 16,353 in the published engine, 23,859 on the current plugin branch. Two caveats. An unknown style on /v2/voicing falls back to the default without an error. And conduct once ignored an explicit mode.
Does it do melody or rhythm?
Harmony is the product. conduct is the exception: it returns four lanes of timed note events at 480 ticks per quarter note, including a pattern lane and a drum lane, plus a MIDI file, Musical Instrument Digital Interface. The Helix arpeggiator on this site turns voicings into motion. A rules-based melody generator exists as a research experiment on one cue, not as a public tool, see Google models.
Can it render audio?
The engine never does. It returns notes; something else plays them. On this site the Conductor instrument renders with Csound in the browser. POST /v2/render exists behind the conductor MCP server and runs Csound server-side, but the API page marks it not yet stable for third parties.
What does a free key get?
All five calls, over the REST endpoints and the MCP server. 1,000 calls a calendar month, 60 a minute, one active key, no card. Over quota is a hard stop with 429 quota_exceeded until the first of the month.
What do the paid plans add?
Theory Pro: 10,000 calls a month, 120 a minute, two active keys, $5 a month at the founder rate. Developer: 100,000 calls a month, 300 a minute, ten keys, $20 a month at the founder rate. Licence: 1,000,000 calls a month, 1,000 a minute, 25 keys, $1,200 a year, for commercial use of the MCP server. The founder rates are locked for life for anyone who subscribes by 31 December 2026. Plans are bought on the keys page and paid by card; the account’s keys move to the new limits within a minute. Every tier is a hard cap. T.H.I.R.I. Builders on Skool is the community and does not change a key’s limits.
Is there a rate limit?
Three. Per key per minute, 30 free and 300 Builder, returning 429 rate_limited. Per IP, a flood throttle that normal use never meets. Per month, the quota above. Successful /v2 calls count; 4xx responses do not. Every response carries X-Quota-Limit and X-Quota-Used.
Can I call it from a browser?
Only from an allowlisted origin. In the worker source, cloned 23 July 2026, the cross-origin resource sharing list, CORS, holds four THIRI hosts; the deployed worker, dated 1 September, was not re-read, so treat the list as unverified. A page on your own domain is blocked either way, and a key in client code is visible to anyone. Put a small server-side proxy in front. The API page says this site’s instruments do that; the Helix client source disagrees, posting straight to chords.thiri.ai with the key in session storage, allowed because build.thiri.ai is on the list. Conductor’s keyless plays do use the proxy, at /api/play/.
Is the engine open source?
The MCP server is source-available: github.com/BluesPrince/thiri-mcp, PolyForm Noncommercial 1.0.0 for recent releases and MIT for earlier ones. The measurement harness thiri-meets-elk is MIT. The engine itself is not published. Results are public, the API is key-gated, and the derivation is sealed. See licences.
Can I run it offline?
Not today. The local MCP package speaks to your client over standard input and output, then calls chords.thiri.ai with your key. The plugin and the pedal compile the engine in and need no network, but neither has a public download yet. Helix, Band Studio and the sequencers on this site keep working without a key through a local chord parser, which is not the full engine. Conductor has no local fallback and needs the network, through your key or the site’s shared-key proxy.
Which DAWs?
One digital audio workstation, DAW, has a confirmation on record: Ableton Live 11.3.43 ran the THIRI VST3, Steinberg’s plugin format, on a live saxophone on 2026-09-26. The hackathon demo in August ran the same desktop plugin in Live. Every automated test runs under Elk’s host, Sushi. Routing rules and the typed chart are in Ableton Live, plugins and DAWs.
What about the pedal?
HORN SXTN on the Elk Audio Stomp is a working prototype, not a product. Measured on the board as fractions of the 1.333 ms block: five voices at 0.592 average and 0.788 worst block, 0.005 per added voice. The team took first place in the Elk Audio challenge and second in Roland Project LYDIA at the MUTEK Montréal hackathon, 22 to 23 August 2026. The board measurements came afterwards. See On the pedal.
How do I report a wrong voicing?
Send the endpoint or tool, the exact request body, the response with its code, the time in UTC, your key prefix and never the full key, and what you expected musically. “C13 should keep E and B♭” gets fixed faster than “wrong voicing”. Server bugs go to the GitHub issues of thiri-mcp. Engine answers go to the Builders room, where people who play can argue the voicing.
Does it log my queries?
Yes, and the terms say so. Usage logs, meaning volumes, latency and error rates, are kept per key. Request bodies are stored to improve the chord vocabulary. Do not put secrets in a chord name.
What languages?
Any language that can send an HTTP POST with a JSON body, JavaScript Object Notation. The docs carry curl, Node and Python. The MCP package needs Node.js for npx. Chord symbols are standard jazz notation, flats as b and sharps as #. Keys are tonics; a mode goes in as its parent key.
Can agents use it in n8n?
Yes. n8n-nodes-thiri 0.1.0 is a community node, published 15 June 2026 per the npm registry. The install page says it exposes all five endpoints and works as a tool for n8n AI Agents; that is unverified against the package source. Install it under Settings, Community Nodes, then add a THIRI API credential holding your key.
Where is the changelog?
At /docs/changelog/, newest first, with release dates from the npm registry. Releases are tagged on GitHub. Pin a version in production: npx -y @bluesprincemedia/thiri-mcp@0.5.3.
How do I get support?
The Skool community is the fastest answer and where outages are posted first. Email gets a reply within a business day on Builder; the address is on the support page. A 20-minute call books at /book. The health endpoint is GET https://chords.thiri.ai/health. A public status page is on the roadmap.
How fast is the hosted MCP?
About a tenth of a second from a laptop. Six calls per tool in September 2026 gave medians of 106 ms for analyze_chord and 105 ms for generate_voicing. A figure of “under 40 ms” has circulated; it is plausibly server-side compute, not what a client sees.
What is coming next?
Only what is public. The changelog’s unreleased entry lists the developer site rebuild, a play space per instrument, case studies for the pedal and the scoring work, this manual in Markdown and PDF, and the Get Started Guide delivered after sign-in. A signed plugin download is on the list, per the licence table in licences, not a dated roadmap. Larger tiers are not published.
Next
Appendix: licences and hand-off rules →
What is open, what is source-available, what is private, and the rules for sound libraries and other people's work when THIRI output ships in a product or a film.