Multifactor Hardware Engineering
AI-powered hardware engineering document analysis — query schematics, datasheets, and BOMs with natural language using local RAG via MCP.

What is this extension?
This extension integrates the mfcli MCP server into VS Code, enabling AI assistants (GitHub Copilot, Claude, Cline) to query your local hardware engineering knowledge base — including processed schematics, datasheets, BOMs, and netlists — using natural language.
🔒 All processing is local — your documents and data never leave your machine.
Features
🔌 MCP Server Integration (VS Code 1.99+)
The extension registers the mfcli-mcp MCP server with VS Code's native MCP system. Once mfcli is installed and your documents are processed, AI assistants automatically have access to three tools:
| Tool |
Description |
query_local_rag |
Semantic search across processed hardware documents using ChromaDB RAG |
list_indexed_documents |
List available indexed PDF documents with section catalog |
slice_document_pdf |
Extract specific sections from PDFs as rendered page images (preserves tables/diagrams) |
💬 Example Queries (in GitHub Copilot Chat)
What is the operating voltage range for the MCU?
What debug pins are available on this board?
Find all components rated for automotive temperature range.
What are the known errata for this microcontroller?
Compare the schematic BOM with the CSV BOM.
🛠️ Command Palette Commands
Access via Ctrl+Shift+P → type MFCLI:
- MFCLI: Check Installation Status — verify mfcli is installed correctly
- MFCLI: Run Doctor — run a full system health check
- MFCLI: Initialize Project — set up mfcli in the current workspace folder
- MFCLI: Run Document Pipeline — process hardware documents in the current project
- MFCLI: Configure API Keys — interactive API key setup wizard
- MFCLI: Open Installation Guide — open the online installation guide
📊 Status Bar
A status bar item shows the installation status at a glance:
$(circuit-board) MFCLI — mfcli is installed and ready
$(circuit-board) MFCLI ⚠ — mfcli not found, click to see installation instructions
Prerequisites
This extension requires mfcli to be installed separately:
- Python 3.12 — Download
- pipx — recommended for isolated installation
- API Keys — OpenAI (for embeddings), Google Gemini, LlamaParse
Installation
Step 1: Install the VS Code Extension
Install from the VS Code Marketplace:
- Open VS Code
- Go to Extensions (
Ctrl+Shift+X)
- Search for "Multifactor Hardware Engineering"
- Click Install
Step 2: Install mfcli
Windows (PowerShell):
iwr -useb https://raw.githubusercontent.com/MultifactorAI/multifactor-adk-backend/main/install.ps1 | iex
macOS / Linux:
curl -fsSL https://raw.githubusercontent.com/MultifactorAI/multifactor-adk-backend/main/install.sh | bash
Or install manually with pipx:
pipx install mfcli
mfcli configure
This launches an interactive wizard to set up your API keys.
Step 4: Initialize and Process Your Hardware Project
cd /path/to/your/hardware/project
mfcli init
# Place your design files (PDFs, schematics, BOMs) into multifactor/design/
mfcli run
Step 5: Restart VS Code
Reload VS Code to activate the MCP server. The status bar will show $(circuit-board) MFCLI when ready.
Usage
Once configured, simply ask your AI assistant questions about your hardware documents:
In GitHub Copilot Chat:
@workspace What MCU is used on this board and what are its voltage specs?
In Cline or Claude:
Query the local RAG for "MSPM0L130x power management" in project "my_board"
The MCP server will return relevant document chunks from your processed schematics, datasheets, and BOMs.
Supported Document Types
- PDF — Schematics, datasheets, MCU documentation, errata sheets
- KiCad — Schematic files (
.kicad_sch), netlists (.net, .cir)
- EDIF — Electronic Design Interchange Format netlists
- PADS — PADS ASCII netlist format
- CSV — Bill of Materials files
Configuration
| Setting |
Default |
Description |
mfcli.mfcliMcpCommand |
"mfcli-mcp" |
Path to mfcli-mcp executable (if not in PATH) |
mfcli.showInstallationNotifications |
true |
Show warnings if mfcli is not installed |
Custom Executable Path
If mfcli-mcp is not in your PATH (common with pipx on some systems), set the full path:
Windows:
{
"mfcli.mfcliMcpCommand": "C:\\Users\\<user>\\.local\\bin\\mfcli-mcp"
}
macOS/Linux:
{
"mfcli.mfcliMcpCommand": "/home/<user>/.local/bin/mfcli-mcp"
}
Troubleshooting
"mfcli-mcp not found"
The extension registers the MCP server but requires mfcli to be installed separately.
# Verify installation
mfcli --help
mfcli-mcp --help
# If not found, reinstall
pipx install mfcli
# Ensure pipx bin directory is in PATH
pipx ensurepath
Then restart VS Code.
MCP server not appearing in GitHub Copilot
- Ensure VS Code is version 1.99 or later
- Run
MFCLI: Check Installation Status from the Command Palette
- Restart VS Code after installing mfcli
- Check VS Code output panel for errors: View → Output → Multifactor Hardware Engineering
"ChromaDB not found" error
You need to process documents first:
cd /path/to/hardware/project
mfcli init
mfcli run
Full system diagnostics
mfcli doctor
Architecture
VS Code Extension (this)
└── Declares mfcli-mcp MCP server via contributes.mcp
mfcli-mcp (installed via pipx)
├── FastMCP server (stdio transport)
├── Tools:
│ ├── query_local_rag → ChromaDB semantic search
│ ├── list_indexed_documents → PDF catalog
│ └── slice_document_pdf → PDF section rendering
└── Data:
└── ChromaDB (local, ~/.local/share/Multifactor/chromadb/)
Privacy & Security
- ✅ Fully local — all document processing happens on your machine
- ✅ No telemetry — no usage data is collected by this extension
- ✅ No external servers — your documents are never transmitted anywhere
- ⚠️ API keys required — OpenAI (embeddings), Google Gemini, LlamaParse keys are used for initial document processing and are stored locally in
~/Multifactor/.env
Links
License
MIT — see LICENSE