Repository navigation
A 32K local model drove REA over MCP: 3 of 3 with 10 tools #3098
CassieFox23
started this conversation in
Show and tell
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
TL;DR: A local 27B model with a 32K window drove REA over MCP and got the right answer 3 times out of 3. It worked only when the model saw about 10 tools. With the full tool list, nothing fits. The tool families in PR #3026 shrink the list a lot. A client-side allowlist on top makes it fit.
Why this matters
REA's full tool list is far too big for most local models. That has been the wall for local AI. I wanted to know what it takes to get under it.
What I ran
Qwen/Qwen3.8-27B. The GGUF is the GSQ-RCO IQ3_XXS quant fromISTA-DASLab/Qwen3.8-27B-GSQ-RCO-GGUF. It is not the OrcaRouter fine-tune.REA_MCP_TOOL_FAMILIES.check_tokenand say what the function does."Results
session,direct+ compactEach good run took about 80 seconds. Each made the same four calls: open the file, find the function, decompile it, close. All three found the string and explained the check.
The size of each part
I used the model's own tokenizer. I counted only what a model sees of each tool: its name, description and input schema.
sessiononlysessiononly, compactsession,native, compactopen_binarylives insession. So any setup that can open a file starts near 15K tokens, even with compact schemas. Four heavy compare tools make up over half ofsession's bytes. The decompile and string tools sit indirect, notnative.What worked
Families on the REA side, then an allowlist in OpenCode's
toolsmap:{ "rea_*": false, "rea_open_binary": true, "rea_close_binary": true, "rea_binary_session": true, "rea_list_procedures": true, "rea_search_procedures": true, "rea_procedure_pseudo_code": true, "rea_list_strings": true, "rea_search_strings": true, "rea_xrefs": true, "rea_procedure_references": true }OpenCode drops the tools you switch off. I checked the request body: 62 tools without the allowlist, 10 with it.
Not run
sessionfamily, or a tool allowlist inside REA. Either would help clients that have no tool filter, but I haven't tried them.Thanks, 0xLLVEL, for the tool families PR. Thanks, morluto, for wanting REA to run well on local models.
Edit (2026-10-14): added where the model files come from.
Test setup
How I counted
llama-tokenizewith the model's vocabulary only.🤖 Generated with Claude Code (Sonnet 5.5, verified by Opus 5.5) 🦊
All reactions