We tested whether an open model can drive the MCP server and produce a company report at the quality of our Claude-written desk notes. One can: gpt-oss-120b. It runs for about a penny a report hosted, or free on hardware we can build.
Raul's challenge: our single-name desk notes (like the Lucid note Claude produced) are excellent, and we want to mass-produce them — one per new SEC filing, peer sets, on demand. Generating those on a frontier model at that volume is cost-prohibitive. So: is there a cheaper or local model that can connect to our MCP server and write them at the same quality? If yes, the model we need decides the machine Adrian builds.
Same setup for every model: one agent loop wired to the full 112-tool ARGOS MCP catalog, the same company (Lucid / LCID), the same instruction to gather and write a desk note. Each output was judged against the Claude reference on four things — did it gather the right data, get the numbers faithfully, build the real thesis, and calibrate (no confident guessing). The last one is where it lives or dies: these reports get forwarded to clients, so a single confident falsehood fails the job.
Four open models, ranked by how close they got. The Claude desk note is the target, not a contestant.
| Model | Runs on | Gathering | Faithfulness | Got the thesis | Verdict |
|---|---|---|---|---|---|
| Claude desk notethe target | hosted | — | Clean | Full — incl. the intraday crash | TARGET |
| qwen3-30BMoE · our current model | 2× RX 6800 (today) | Strong | Invented a CEO, an impossible P/E, a "biotech" signal | Missed | FAILS |
| Llama-3.3-70Bdense | 4-card class | Weak — 1 tool call | Invented the holders (Vanguard, BlackRock) | Missed | FAILS |
| gpt-oss-20Breasoning MoE | 2× RX 6800 (today) | Best of the small | No wild errors, but confabulated exec names | Missed the PIF control story | FALLS SHORT |
| gpt-oss-120Breasoning MoE · ~117B | 6× RX 6800 / hosted | Strong & precise | Zero hallucinations | Got it — PIF control + class action | CLEARS IT |
The finding that surprised us: it's capability, not size.
The dense 70B was worse than our 30B — it made one tool call and invented the shareholders. Writing these reports is an agentic task, and the smaller models all share one fatal habit: when the data is thin, they fill the gap with a confident falsehood. That's exactly what disqualifies a report you forward to a client. gpt-oss-120b is the first model that simply doesn't do it.
On Lucid, the 120b independently found what every smaller model missed: the 56.9% controlling stake held by Ayar / Saudi PIF (via the 13D), the securities class-action deadline, Uber's 11.5%, and every figure correct — with real filing citations and no invented facts. The one thing it lacked versus Claude's note was the intraday-crash lead, and that's a data gap, not a model gap: that number lives in our options/price store, which isn't wired into the MCP yet. Connect that feed and the two are hard to tell apart.
The model question is answered — gpt-oss-120b does the job. That opens three ways to run it, and the test unlocked all of them. They're not exclusive; you can start on one and move to another.
Ship on hosted gpt-oss-120b now (Option A) — it works today, costs pennies, and lets projects start generating reports this week. In parallel, green-light Adrian's 6-card box (Option B) as the durable, private, zero-cost home once volume justifies it. The two aren't a fork; hosted is the on-ramp while the machine gets built.
Next data step, independent of the model: wire the options / price store into the MCP so the reports can lead with live price action — the last gap between gpt-oss-120b and the Claude note.