Repository navigation
v2.14.1
Fixed: MCP tool calls no longer hang on large logs
If you drive UltraLog from Claude Desktop, evaluate_formula and get_channel_data would hang
forever on any log over roughly 22,000 rows — no result and no error, just silence until you gave
up. Smaller logs worked fine, which made it look like a slowdown rather than a hard failure.
The cause was response size. Both tools returned one entry per log record, and MCP clients discard
any single response over 1 MiB inside their decoder without reporting anything. A 178,000-row
session produced several megabytes, so the reply was dropped in transit and nothing ever came back.
Responses are now bounded. A 500,000-row log returns in well under a second.
What changed
- Series are downsampled for transport.
evaluate_formulaandget_channel_datareturn 2,000
samples by default and take a newmax_pointsargument for up to 10,000. Downsampling uses the
same LTTB algorithm as the chart, so peaks and dropouts survive rather than being skipped past.
For full resolution, narrow the window withstart_time/end_time. - Responses say what you got. Every reply now carries
total_samplesanddownsampled, so a
reduced series is never mistaken for a complete one. - Statistics are still exact. Min, max, mean, median and standard deviation are computed over
every record in range — not over the samples that came back. find_peaksreports its cap. It returns at most 500 peaks, selected by prominence and listed
chronologically, and now includestotal_peaksandtruncated. Previously a capped list was
indistinguishable from a complete one, so counting events off it gave exactly 500 every time.- Oversized replies error instead of hanging. Anything still too large to deliver comes back as
a clear message namingmax_pointsand the time range.
Also fixed
- A log with ragged rows — where some rows are missing a column — could crash UltraLog when that
channel was requested over MCP. It's now reported as an error instead.
Parsing, the GUI and ECU format support are unchanged. If you don't use the Claude Desktop
integration, the ragged-log crash fix is the only thing here that affects you.
Installation
macOS
- Download the appropriate
.dmgfile for your Mac:- Intel Mac:
ultralog-macos-intel.dmg - Apple Silicon (M1/M2/M3/M4):
ultralog-macos-arm64.dmg
- Intel Mac:
- Open the DMG and drag UltraLog to your Applications folder
- Launch UltraLog from Applications. The app is signed and notarized by Apple, so it opens without a Gatekeeper warning.
Windows
- Download
ultralog-windows.zip - Extract the zip file
- Run
ultralog-windows.exe
Linux
- Download
ultralog-linux.tar.gz - Extract:
tar -xzf ultralog-linux.tar.gz - Run:
./ultralog-linux
What's Changed
🔄 Other Changes
- fix(mcp): bound tool response size so large logs return instead of hanging by @SomethingNew71 in #89
Full Changelog: v2.14.0...v2.14.1