@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) |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| 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 findings — each with a machine code, severity, involved node/conductor/link/mate IDs, and (where applicable) a suggestedFix — so an agent can triage or auto-resolve them. |
| 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. Object params of a known PlanData type (e.g. |
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