Commit Graph

3 Commits

Author SHA1 Message Date
Tom
9d344c95a5 fix: use local system time in MCP server log (was UTC/ISO) 2026-03-07 14:57:41 +01:00
ByteBard
70c0be6fd0 Fix MCP protocol compliance and Windows compatibility
This commit fixes two critical issues for MCP STDIO transport:

1. Logger fix (src/logger.ts) - CRITICAL MCP protocol compliance
   - Change all log levels to use console.error() (stderr) exclusively
   - Previous code sent info/debug logs to stdout via console.log()
   - MCP protocol uses stdout for JSON-RPC messages
   - Logging to stdout corrupts protocol communication
   - Impact: Prevents intermittent MCP failures from log pollution

2. Windows compatibility fix (src/index.ts)
   - Remove import.meta.url conditional check that fails on Windows
   - Path separator differences (forward slash vs backslash) cause
     the file:// URL comparison to fail
   - Server now runs main() unconditionally as intended
   - Impact: Reliable server startup on Windows

Changes:
- src/logger.ts: Use console.error() for all log levels
- src/index.ts: Remove 'if (import.meta.url === ...)' check
- src/index.ts: Add explanatory comment about Windows issue

Tested on Windows 11 with KiCAD 9.0.6.
Integration tests confirm 36KB logs to stderr, 0 bytes to stdout.

Fixes: MCP protocol corruption, Windows startup failures
2025-11-18 17:29:21 -05:00
KiCAD MCP Bot
e4c7119c51 feat: Week 1 complete - Linux support + IPC API prep
🎉 Major v2.0 rebuild kickoff - Week 1 accomplished!

## Highlights

### Cross-Platform Support 🌍
-  Linux primary platform (Ubuntu/Debian tested)
-  Windows fully supported
-  macOS experimental support
-  Platform-agnostic path handling (XDG spec)
-  Auto-detection of KiCAD installation

### Infrastructure 🏗️
-  GitHub Actions CI/CD pipeline
-  Pytest framework with 20+ tests
-  Pre-commit hooks (Black, MyPy, ESLint)
-  Automated Linux installation script
-  Enhanced npm scripts

### IPC API Migration Prep 🚀
-  Comprehensive migration plan (30 pages)
-  Backend abstraction layer (800+ lines)
-  Factory pattern with auto-detection
-  SWIG backward compatibility wrapper
-  IPC backend skeleton ready

### Documentation 📚
-  Updated README (Linux installation)
-  CONTRIBUTING.md guide
-  Linux compatibility audit
-  IPC API migration plan
-  Session summaries
-  Platform-specific config templates

## Files Changed

- 27 files created
- ~3,000 lines of code/docs
- 8 comprehensive documentation pages
- 20+ unit tests
- 5 abstraction layer modules

## Next Steps

- Week 2: IPC API migration (project.py → component.py → routing.py)
- Migrate from deprecated SWIG to official IPC API
- JLCPCB/Digikey integration prep

🤖 Generated with Claude Code
https://claude.com/claude-code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-25 20:48:00 -04:00