@splice-cad/mcp
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SPLICE_API_KEY | Yes | API key (Account > API Key in Splice) | |
| SPLICE_API_URL | Yes | Splice backend URL | |
| SPLICE_BRIDGE_PORT | No | WebSocket bridge port (default: 9876) | 9876 |
| SPLICE_BRIDGE_SECRET | No | Shared secret for WS auth (auto-generated) |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_connectorsA | Search the Splice connector parts database. Only use this when the user asks you to find a part in the database, or when you need a sourcePartId for linking. For most cases, prefer creating BOM entries directly with the MPN/manufacturer you already know (from datasheets, user input, or web research). Supports fuzzy queries like "molex 24 pin male". |
| search_wiresA | Search the Splice wire parts database. Only use when the user asks to find a wire in the database. For most cases, create wire BOM entries directly with gauge/color you already know. Supports "22 awg red", "18 awg black white stripe". |
| search_cablesA | Search the Splice cable parts database. Only use when the user asks to find a cable in the database. For most cases, create cable BOM entries directly. Supports "4 core shielded 20 awg", "belden 2 conductor". |
| get_partB | Get full details for a specific part by ID, including its specification (pin count, gauge, etc.). |
| create_componentA | Create a component in the Splice parts database with full specs, images, and pin labels. Use lookup_part first to get image/datasheet URLs. Categories: "connector" (default), "circuit_breaker", "fuse", "relay", "contactor", "switch", "push_button", "motor", "pcb", "power_supply", "battery", "diode", "fan", "timer", "inductor", "capacitor", "resistor", "transformer", "solar_cell", "inverter", "flying_lead", "splice", "terminal_point", "other". |
| get_category_templatesA | Get default properties, specs, and SVG templates for all component categories (fuse, relay, circuit breaker, etc.). Use this to discover what category-specific fields are available when creating components. |
| lookup_partA | Look up a real-world part on DigiKey by MPN. Returns image URL, datasheet URL, specs, and parameters. Use this to enrich components before creating them with create_component. |
| create_cableA | Create a custom multi-conductor cable in the parts database. Use when a cable is not found via search — e.g. from a datasheet. Returns a part ID for BOM entries. |
| list_projectsA | List all projects owned by the authenticated user. |
| create_projectA | Create a new Splice project. Returns the project ID and details. |
| get_projectA | Get a project with its plan and assembly list. |
| get_planA | Get PlanData for a project. WARNING: Can be very large for complex plans. PREFER get_plan_summary to understand plan state. Use node_ids/link_ids to fetch specific elements instead of the full plan. |
| save_planA | Save (overwrite) the PlanData JSON for a project. The plan_data must be a complete, valid PlanData object. Read the plan_schema resource first to understand the structure. Use get_plan to fetch the current state before modifying. |
| get_plan_summaryA | PREFERRED way to read plan state. Returns components (with positions, pins, connection status, MPN), bundles, conductors, branch points, unconnected pins, and warnings. Much smaller than get_plan — use this first, only fetch full plan if you need raw data for specific elements. |
| validate_planA | Validate a project's plan for structural issues: orphan nodes, dangling conductors, missing parts, invalid references, mating compatibility, terminal point wiring, and shape/category consistency. Returns structured JSON with warnings array. |
| generate_assemblyA | Generate a harness assembly from a plan by selecting which nodes and bundles to include. Returns the created harness ID. The assembly appears in Splice as an editable harness linked to the project. |
| list_harnessesA | List all legacy harnesses owned by the authenticated user. These are standalone harnesses not associated with a project. |
| create_harnessA | Create a new legacy harness. Provide the full WorkingHarness JSON with BOM and connection data. Read the harness_schema resource first. Returns the harness with harness_id and revision_id set. |
| get_harnessA | Load a legacy harness with its full BOM (hydrated parts) and connection data. Use this to inspect or modify an existing harness. |
| save_harnessA | Save (overwrite) a legacy harness. The harness_data must include harness_id and revision_id from the loaded harness. Use get_harness first to load current state, modify it, then save. |
| get_harness_summaryA | Get a structured summary of a legacy harness: connectors, wires, cables, connections, and validation warnings. More concise than get_harness. |
| is_bridge_connectedA | Check which browser tabs are connected via the WebSocket bridge. Returns connected namespaces — project: for plans, harness: for assemblies. Use the namespace value with execute_command/get_live_state to target a specific tab. |
| execute_commandA | Execute a single command through the live WebSocket bridge. Works for both plan mode (project:* namespace) and assembly/harness mode (harness:* namespace). PREFER execute_commands (plural) for batching — much faster. Canvas updates immediately, action added to undo history. |
| execute_commandsA | PREFERRED over execute_command. Execute multiple commands in a single call — much faster than calling execute_command repeatedly. All commands run atomically and undo as one action. Works for both plan (project:) and assembly (harness:) namespaces. |
| undoA | Undo the last command in the Splice frontend. |
| redoB | Redo the last undone command in the Splice frontend. |
| get_live_stateB | Get or set live frontend state. Reflects all unsaved changes, including for assemblies (harness:* namespace). Use setComponentState to update the Component Creator form fields. |
| describe_commandA | Look up the exact params keys a bridge command accepts (for execute_command/execute_commands). Use this whenever unsure what params a command needs — the keys are NOT always the same as the constructor parameter names. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| plan-live | Work on the plan currently open in the browser via the live WebSocket bridge. Changes appear on the canvas instantly with full undo/redo. |
| assembly-live | Work on an assembly (harness) currently open in the browser via the live WebSocket bridge. Add parts, create connections, edit wires, and rearrange the schematic in real-time. |
| component-creator-live | Work in the Component Creator page via the live WebSocket bridge. Create or edit a component with SVG graphics, pin placement, and specs in real-time. |
| api-mode | Work with Splice via the REST API — no browser connection needed. Create projects, build plans, search parts, manage harnesses, and generate assemblies. |
| build-harness | Build a complete cable harness from a description or datasheet (REST API mode) |
| create-component | Create a rich component with specs, image, and pin labels (REST API mode) |
| review-live-plan | Connect to the open browser tab, read the live plan state, and suggest improvements (Plan Live Bridge mode) |
| cleanup-layout | Read the current plan layout and reorganize overlapping or poorly spaced components (Plan Live Bridge mode) |
| import-from-spreadsheet | Build a harness from a wiring schedule spreadsheet (REST API mode) |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| plan_schema | JSON schema and documentation for Splice PlanData. Read this before constructing plans with save_plan. |
| component_creator_schema | Schema and examples for creating components with SVG graphics via the Component Creator bridge. Read this before using setComponentState. |
| harness_schema | JSON schema and documentation for Splice legacy WorkingHarness. Read this before constructing harnesses with save_harness. |
| plan_examples | Cookbook of real-world cable harness patterns with complete, valid PlanData JSON. Copy and adapt these patterns to build harnesses. |
| bridge_commands | Authoritative list of every bridge command and the exact params keys it accepts (execute_command/execute_commands). Read this before sending commands — param key names differ from constructor parameter names for many commands. |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/splice-cad/splice-cad-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server