Splice Cad Mcp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Splice Cad Mcp (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
<p align="center"> <img src="https://splice-cad.com/icons/bundle-icon.svg" alt="Splice CAD" width="80" /> </p>
MCP server for Splice CAD cable assembly and wiring harness design tool. Lets AI agents search parts, build harness plans, create components with rich specs, and generate manufacturing documentation.
Works with Claude Code, ChatGPT, Cursor, Windsurf, Codex CLI, and any MCP-compatible client.
Beta — Splice CAD is currently in beta. Request access to get started.
From npm (coming soon):
npx @splice-cad/mcpFrom source:
git clone https://github.com/splice-cad/splice-cad-mcp.git
cd splice-cad-mcp
npm install
npm run buildThen point your MCP config to the built file:
"command": "node",
"args": ["/path/to/splice-cad-mcp/dist/index.js"]Requirements:
Claude Code (one command):
claude mcp add splice-cad -e SPLICE_API_URL=https://splice-cad.com -e SPLICE_API_KEY=your-key -- npx @splice-cad/mcpFor other tools, see the setup sections below.
// ~/.claude/mcp.json
{
"mcpServers": {
"splice-cad": {
"command": "npx",
"args": ["@splice-cad/mcp"],
"env": {
"SPLICE_API_URL": "https://splice-cad.com",
"SPLICE_API_KEY": "your-api-key"
}
}
}
}Auto-approve all tools:
claude config add permissions.allow "mcp__splice-cad__*"// .cursor/mcp.json
{
"mcpServers": {
"splice-cad": {
"command": "npx",
"args": ["@splice-cad/mcp"],
"env": {
"SPLICE_API_URL": "https://splice-cad.com",
"SPLICE_API_KEY": "your-api-key"
}
}
}
}// ~/.windsurf/mcp.json
{
"mcpServers": {
"splice-cad": {
"command": "npx",
"args": ["@splice-cad/mcp"],
"env": {
"SPLICE_API_URL": "https://splice-cad.com",
"SPLICE_API_KEY": "your-api-key"
}
}
}
}In ChatGPT settings, add an MCP server:
npx @splice-cad/mcpSPLICE_API_URL=https://splice-cad.com, SPLICE_API_KEY=your-keyimport openai
response = openai.responses.create(
model="gpt-4.1",
input="Build me a 4-pin Deutsch DT connector harness",
tools=[{
"type": "mcp",
"server_label": "splice-cad",
"server_url": "npx @splice-cad/mcp",
"require_approval": "never",
"headers": {
"SPLICE_API_URL": "https://splice-cad.com",
"SPLICE_API_KEY": "your-api-key"
}
}]
)codex --mcp splice-cad="npx @splice-cad/mcp"| Variable | Required | Description |
|---|---|---|
SPLICE_API_URL | Yes | Splice backend URL |
SPLICE_API_KEY | Yes | API key (Account > API Key in Splice) |
SPLICE_BRIDGE_PORT | No | WebSocket bridge port (default: 9876) |
SPLICE_BRIDGE_SECRET | No | Shared secret for WS auth (auto-generated) |
Set the agent's operating mode — which tools to use, which to avoid, and the correct workflow:
| Prompt | Mode | Description |
|---|---|---|
plan-live | WebSocket | Work on a plan open in the browser — live canvas updates with undo/redo |
component-creator-live | WebSocket | Work in the Component Creator — update form, specs, SVG, and pins in real-time |
api-mode | REST API | No browser needed — create projects, build plans, search parts, manage harnesses |
Step-by-step workflows that include their operating context:
| Prompt | Mode | Description |
|---|---|---|
build-harness | API | Build a complete cable harness from a description or datasheet |
create-component | API | Create a part with specs, image, pin labels from an MPN or datasheet |
review-live-plan | Live | Connect via WebSocket, read live plan state, suggest improvements |
cleanup-layout | Live | Read component positions and reorganize for better layout |
import-from-spreadsheet | API | Build a harness from a CSV/Excel wiring schedule |
| Tool | Description |
|---|---|
search_connectors | Fuzzy search ("molex 4 pin", "deutsch dt") |
search_wires | Fuzzy search ("22 awg red") |
search_cables | Fuzzy search ("4 core shielded") |
get_part | Full part details by ID |
create_component | Create with images, specs, SVG, pin labels |
create_cable | Create multi-conductor cable |
lookup_part | DigiKey lookup (images, datasheets, specs) |
get_category_templates | Default specs per component category |
| Tool | Description |
|---|---|
list_projects | List user's projects |
create_project | Create new project |
get_project | Get project with plan and assemblies |
get_plan | Get plan data (filterable) |
save_plan | Save PlanData JSON (auto-corrects colors) |
get_plan_summary | Components, pins, connections, warnings |
validate_plan | Check for structural issues |
generate_assembly | Generate harness from plan selection |
| Tool | Description |
|---|---|
list_harnesses | List standalone harnesses |
create_harness | Create from WorkingHarness JSON |
get_harness | Load with hydrated BOM |
save_harness | Save modified harness |
get_harness_summary | Compact summary |
| Tool | Description |
|---|---|
is_bridge_connected | Check connected browser tabs |
execute_command | Single command (live canvas update) |
execute_commands | Batch (atomic, single undo) |
undo / redo | Undo/redo in browser |
get_live_state | Query live state (plan, component, SVG) |
| URI | Description |
|---|---|
splice://schema/plan-data | PlanData JSON schema + behavioral rules |
splice://schema/harness-data | WorkingHarness schema |
splice://examples/plans | Real-world harness patterns |
See [EXAMPLES.md](EXAMPLES.md) for detailed walkthroughs including:
There are two communication paths — one to the Splice cloud, one entirely local:
Single agent (default — embedded bridge):
┌──────────────┐ stdio ┌──────────────────┐
│ AI Agent │◄────────────►│ MCP Server │
│ (Claude, │ │ (splice-cad) │
│ Cursor, │ │ │
│ ChatGPT) │ │ ┌────────────┐ │
└──────────────┘ │ │ WS Bridge │ │
│ │ :9876 │ │
│ └─────┬──────┘ │
└────────┼─────────┘
│ WebSocket (localhost)
┌────────▼─────────┐
│ Splice Browser │──── HTTPS ───► splice-cad.com
│ Tab │
└──────────────────┘Multi-agent (standalone splice-bridge):
Agent A Agent B
│ │
MCP Server A MCP Server B (both connect as WS clients)
│ │
└──── splice-bridge ────┘ ← Rust binary on :9876
│
┌──────┴──────┐
Tab 1 (proj A) Tab 2 (proj B)These make HTTPS requests to the Splice API at splice-cad.com. Your API key authenticates each request. Data travels over the internet. These work without a browser open.
These communicate entirely on your local machine:
localhost:9876No data leaves your machine for live bridge commands. The WebSocket connection is localhost only — it never touches the internet. The Splice CAD cloud is not involved in live command execution.
For running multiple agents on different projects simultaneously, use the standalone splice-bridge router:
Agent A (Claude Code) Agent B (Cursor)
│ │
MCP Server A MCP Server B
│ │
└────────── splice-bridge ─────┘ ← standalone Rust binary
│
┌──────────┴──────────┐
│ │
Browser Tab 1 Browser Tab 2
(project:abc) (project:xyz)The MCP server automatically detects if splice-bridge is already running on the bridge port. If so, it connects as a WebSocket client instead of starting its own embedded server. No configuration change needed — just start splice-bridge before launching your agents.
See the splice-bridge README for installation and usage.
| Action | Path | Data leaves machine? |
|---|---|---|
| Search parts | HTTPS → splice-cad.com | Yes |
| Save/load plan | HTTPS → splice-cad.com | Yes |
| Create component | HTTPS → splice-cad.com | Yes |
execute_command (live) | WebSocket → localhost:9876 | No |
get_live_state (live) | WebSocket → localhost:9876 | No |
undo / redo (live) | WebSocket → localhost:9876 | No |
Your Splice API key authenticates all REST API calls. It is:
Never commit your API key to git. Use environment variables or a local config file.
The WebSocket bridge runs on localhost only:
127.0.0.1, not 0.0.0.0~/.splice-bridge.json. The browser must send this secret to authenticate. This prevents other local processes from sending commands.SPLICE_BRIDGE_PORT if 9876 conflicts with another serviceThrough the MCP tools, the agent can:
The agent cannot:
npm install
npm run buildSPLICE_FRONTEND_PATH=/path/to/splice/frontend npm run build:fullMIT
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.