Serial Log Tools is a VS Code extension that adds serial debugging tools to Copilot Chat agent mode without using an MCP server.
It is designed for device-side validation workflows such as:
- sending AT commands to a modem or module
- capturing boot logs over UART
- waiting for a known serial pattern such as
READY or BOOT OK
- saving TX/RX logs to
.txt files for validation records
Features
- List available serial ports
- Capture serial logs from a selected port
- Wait for a serial pattern with timeout support
- Send command data before capture or waiting
- Save logs to
.txt files with timestamp, device name, TX, and RX sections
- Use the tools directly from Copilot Chat in Agent mode
Requirements
- VS Code 1.100 or later
- GitHub Copilot Chat with Agent mode enabled
- Node.js installed on the machine
- A local
serial-log-mcp tool directory with dependencies installed
Setup
Install dependencies for the tool directory:
cd D:\tools\serial-log-mcp
npm install
Install the extension .vsix or publish it to the Visual Studio Marketplace.
In VS Code settings, set serialLogTools.rootPath to the absolute path of the tool directory.
Default:
D:\tools\serial-log-mcp
How To Use
- Open Copilot Chat
- Switch to Agent mode
- Enable the serial tools in the tool picker
- Ask using natural language
Example prompts:
List available serial ports and tell me which one looks like the device.
Send AT*READVER\r\n to COM30 at 115200 baud, wait 300ms, capture 3 seconds of logs, and tell me the firmware version.
Wait on COM30 for READY with a 20 second timeout and save the captured log to a text file.
Saved logs include metadata and formatted TX/RX sections, for example:
---------- TX (Sent Command) ----------
TX [19:13:36.237] | AT*READVER\r\n
---------- RX (Received Data) ---------
RX [19:13:36.276] | *READVER:
RX [19:13:36.288] | OK
Settings
Absolute path to the serial-log-mcp tool directory. The extension runs:
npx tsx src/cli.ts
from that directory.
Packaging
cd D:\tools\serial-log-mcp\vscode-extension
npm install
npm run build
npm run package
Notes Before Marketplace Publishing
- Replace the
publisher value in package.json with your actual Marketplace publisher ID
- Add your repository URL if you want Marketplace source links
- Add a real license file before public publishing