Skip to content

Conversation

@Barneyjm
Copy link
Contributor

No description provided.

claude and others added 4 commits January 1, 2026 14:31
This enables Claude (or other LLMs) to control the UltraLog GUI in real-time:

Architecture:
- GUI runs an IPC server on localhost (port 52384) that receives commands
- ultralog-mcp binary acts as MCP server, bridging Claude <-> GUI via TCP
- User starts UltraLog GUI, then configures Claude Desktop to use ultralog-mcp

MCP Tools available to Claude:
- get_state: View loaded files, selected channels, cursor position
- load_file/close_file: Manage ECU log files
- list_channels: See available channels in a file
- select_channel/deselect_channel: Control chart display
- get_channel_data/get_channel_stats: Analyze channel data
- create_computed_channel: Define virtual channels with formulas
- evaluate_formula: Test formulas without creating permanent channels
- set_time_range/set_cursor: Navigate the timeline
- play/pause/stop: Control playback
- find_peaks: Detect local maxima in channels
- correlate_channels: Calculate Pearson correlation
- show_scatter_plot/show_chart: Switch visualization modes

New modules:
- src/ipc/: IPC protocol and TCP server for GUI
- src/mcp/: MCP server implementation using rmcp crate
- src/bin/ultralog_mcp.rs: MCP server binary entry point
Changes the MCP server architecture so UltraLog GUI embeds and
launches the MCP server itself. Claude Desktop now connects via:
http://localhost:52453/mcp

Key changes:
- Switch from stdio to streamable HTTP transport (rmcp 0.12)
- Add axum for HTTP routing, tokio for async runtime
- Embed MCP server in GUI lifecycle (starts on app launch)
- Remove separate ultralog-mcp binary
- Port 52453 = 5-2-4-5-3, a nod to I5 engine firing order 1-2-4-5-3
  (in dynamic port range 49152-65535 for OS compatibility)
- Add McpServerHandle for clean shutdown
CI was only running on pushes to main/master but not dev.
Added dev to push triggers to ensure CI runs on all primary branches.
@SomethingNew71 SomethingNew71 force-pushed the claude/ultralog-mcp-server-N7FKw branch from d497608 to 9e8ec26 Compare January 1, 2026 19:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants