@vcad/mcp 0.10.0-main.95 → 0.10.0-main.96
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/index.mjs +123 -8
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -6,4 +6,4 @@ vcad's MCP server as a self-contained bundle (server + BRep kernel WASM).
|
|
|
6
6
|
{ "mcpServers": { "vcad": { "command": "npx", "args": ["-y", "@vcad/mcp"] } } }
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Built from
|
|
9
|
+
Built from a0671ca49eaf507c48cb4e456b41c67326dc9ab3 at 2026-10-18T01:12:01.234Z. Source: https://github.com/ecto/vcad
|
package/index.mjs
CHANGED
|
@@ -32668,7 +32668,11 @@ var init_document_store = __esm({
|
|
|
32668
32668
|
edgeClearance: 0.25,
|
|
32669
32669
|
holeToHole: 0.25,
|
|
32670
32670
|
minAnnularRing: 0.13,
|
|
32671
|
-
minDrill: 0.2
|
|
32671
|
+
minDrill: 0.2,
|
|
32672
|
+
// KiCad's microvia defaults (uvia_min_drill / uvia_min_size).
|
|
32673
|
+
minMicroviaDrill: 0.1,
|
|
32674
|
+
minMicroviaDiameter: 0.2,
|
|
32675
|
+
inferredFloors: []
|
|
32672
32676
|
},
|
|
32673
32677
|
footprints: [],
|
|
32674
32678
|
traces: [],
|
|
@@ -41776,6 +41780,23 @@ var init_CHANGELOG = __esm({
|
|
|
41776
41780
|
"kernel"
|
|
41777
41781
|
]
|
|
41778
41782
|
},
|
|
41783
|
+
{
|
|
41784
|
+
id: "2026-10-17-stackup-layer-roles",
|
|
41785
|
+
version: "0.10.0",
|
|
41786
|
+
date: "2026-10-17",
|
|
41787
|
+
category: "feat",
|
|
41788
|
+
title: "Stackup layer roles inferred from pours",
|
|
41789
|
+
summary: "Plane, split-plane and signal roles are inferred from copper pours; DRC reports signals routed on plane layers (enforcement opt-in).",
|
|
41790
|
+
features: [
|
|
41791
|
+
"pcb",
|
|
41792
|
+
"electronics",
|
|
41793
|
+
"routing"
|
|
41794
|
+
],
|
|
41795
|
+
mcpTools: [
|
|
41796
|
+
"run_drc",
|
|
41797
|
+
"set_stackup"
|
|
41798
|
+
]
|
|
41799
|
+
},
|
|
41779
41800
|
{
|
|
41780
41801
|
id: "2026-10-17-pcb-layer-coverage",
|
|
41781
41802
|
version: "0.10.0",
|
|
@@ -41807,6 +41828,59 @@ var init_CHANGELOG = __esm({
|
|
|
41807
41828
|
"ir"
|
|
41808
41829
|
]
|
|
41809
41830
|
},
|
|
41831
|
+
{
|
|
41832
|
+
id: "2026-10-17-pair-router-coupled-legs",
|
|
41833
|
+
version: "0.10.0",
|
|
41834
|
+
date: "2026-10-17",
|
|
41835
|
+
category: "fix",
|
|
41836
|
+
title: "Pair router keeps coupled legs together",
|
|
41837
|
+
summary: "The router no longer rips or shoves one leg of a coupled pair or routes a twin twice; diff-pair gap checks use coupled segments only, matching KiCad.",
|
|
41838
|
+
features: [
|
|
41839
|
+
"pcb",
|
|
41840
|
+
"electronics",
|
|
41841
|
+
"routing"
|
|
41842
|
+
],
|
|
41843
|
+
mcpTools: [
|
|
41844
|
+
"route_nets",
|
|
41845
|
+
"route_diff_pair",
|
|
41846
|
+
"run_drc"
|
|
41847
|
+
]
|
|
41848
|
+
},
|
|
41849
|
+
{
|
|
41850
|
+
id: "2026-10-17-neckdown-and-via-floors",
|
|
41851
|
+
version: "0.10.0",
|
|
41852
|
+
date: "2026-10-17",
|
|
41853
|
+
category: "feat",
|
|
41854
|
+
title: "Per-class neck-down and inferred via floors",
|
|
41855
|
+
summary: "Net classes get a neck-down minimum width; via size floors are inferred from the board with provenance reported.",
|
|
41856
|
+
features: [
|
|
41857
|
+
"pcb",
|
|
41858
|
+
"electronics",
|
|
41859
|
+
"routing"
|
|
41860
|
+
],
|
|
41861
|
+
mcpTools: [
|
|
41862
|
+
"route_nets",
|
|
41863
|
+
"set_design_rules"
|
|
41864
|
+
]
|
|
41865
|
+
},
|
|
41866
|
+
{
|
|
41867
|
+
id: "2026-10-17-microvias",
|
|
41868
|
+
version: "0.10.0",
|
|
41869
|
+
date: "2026-10-17",
|
|
41870
|
+
category: "feat",
|
|
41871
|
+
title: "Microvias as a via type",
|
|
41872
|
+
summary: "Microvias are a first-class via type with KiCad semantics (adjacent-layer span, own size rules), imported and exported faithfully.",
|
|
41873
|
+
features: [
|
|
41874
|
+
"pcb",
|
|
41875
|
+
"electronics",
|
|
41876
|
+
"routing"
|
|
41877
|
+
],
|
|
41878
|
+
mcpTools: [
|
|
41879
|
+
"add_via",
|
|
41880
|
+
"import_kicad",
|
|
41881
|
+
"export_kicad"
|
|
41882
|
+
]
|
|
41883
|
+
},
|
|
41810
41884
|
{
|
|
41811
41885
|
id: "2026-10-17-kicad-import-wildcard-layers",
|
|
41812
41886
|
version: "0.10.0",
|
|
@@ -41841,6 +41915,39 @@ var init_CHANGELOG = __esm({
|
|
|
41841
41915
|
"export_gerber"
|
|
41842
41916
|
]
|
|
41843
41917
|
},
|
|
41918
|
+
{
|
|
41919
|
+
id: "2026-10-17-drc-inner-layers-in7-in8",
|
|
41920
|
+
version: "0.10.0",
|
|
41921
|
+
date: "2026-10-17",
|
|
41922
|
+
category: "fix",
|
|
41923
|
+
title: "DRC sees In7/In8 copper on 10-layer boards",
|
|
41924
|
+
summary: "The DRC copper stack skipped In7Cu/In8Cu, reporting thousands of false disjoint-net fragments on 10-layer boards.",
|
|
41925
|
+
features: [
|
|
41926
|
+
"pcb",
|
|
41927
|
+
"electronics",
|
|
41928
|
+
"routing"
|
|
41929
|
+
],
|
|
41930
|
+
mcpTools: [
|
|
41931
|
+
"run_drc"
|
|
41932
|
+
]
|
|
41933
|
+
},
|
|
41934
|
+
{
|
|
41935
|
+
id: "2026-10-17-diff-pair-si-polish",
|
|
41936
|
+
version: "0.10.0",
|
|
41937
|
+
date: "2026-10-17",
|
|
41938
|
+
category: "feat",
|
|
41939
|
+
title: "Differentiable diff-pair SI polish",
|
|
41940
|
+
summary: "Routed diff pairs are tuned by a tang-based claim compiler with SCO/SQP solvers and mined cuts, improving coupling and skew without breaking connectivity.",
|
|
41941
|
+
features: [
|
|
41942
|
+
"pcb",
|
|
41943
|
+
"electronics",
|
|
41944
|
+
"routing"
|
|
41945
|
+
],
|
|
41946
|
+
mcpTools: [
|
|
41947
|
+
"route_nets",
|
|
41948
|
+
"route_diff_pair"
|
|
41949
|
+
]
|
|
41950
|
+
},
|
|
41844
41951
|
{
|
|
41845
41952
|
id: "2026-10-16-root-cache-rigid-placement",
|
|
41846
41953
|
version: "0.10.0",
|
|
@@ -62127,7 +62234,11 @@ function defaultDesignRules() {
|
|
|
62127
62234
|
edgeClearance: 0.5,
|
|
62128
62235
|
holeToHole: 0.5,
|
|
62129
62236
|
minAnnularRing: 0.15,
|
|
62130
|
-
minDrill: 0.2
|
|
62237
|
+
minDrill: 0.2,
|
|
62238
|
+
// KiCad's microvia defaults (uvia_min_drill / uvia_min_size).
|
|
62239
|
+
minMicroviaDrill: 0.1,
|
|
62240
|
+
minMicroviaDiameter: 0.2,
|
|
62241
|
+
inferredFloors: []
|
|
62131
62242
|
};
|
|
62132
62243
|
}
|
|
62133
62244
|
function stripDocArgs(args) {
|
|
@@ -63628,7 +63739,8 @@ async function routeNets(args, toolCtx) {
|
|
|
63628
63739
|
startLayer: v.start_layer ?? "FCu",
|
|
63629
63740
|
endLayer: v.end_layer ?? "BCu",
|
|
63630
63741
|
net: v.net,
|
|
63631
|
-
source: "autoroute"
|
|
63742
|
+
source: "autoroute",
|
|
63743
|
+
...v.via_type ? { viaType: v.via_type } : {}
|
|
63632
63744
|
});
|
|
63633
63745
|
viasAdded++;
|
|
63634
63746
|
}
|
|
@@ -66819,7 +66931,10 @@ async function describePcb(args) {
|
|
|
66819
66931
|
edgeClearance: dr.edgeClearance,
|
|
66820
66932
|
holeToHole: dr.holeToHole,
|
|
66821
66933
|
minAnnularRing: dr.minAnnularRing,
|
|
66822
|
-
minDrill: dr.minDrill
|
|
66934
|
+
minDrill: dr.minDrill,
|
|
66935
|
+
minMicroviaDrill: dr.minMicroviaDrill,
|
|
66936
|
+
minMicroviaDiameter: dr.minMicroviaDiameter,
|
|
66937
|
+
inferredFloors: dr.inferredFloors
|
|
66823
66938
|
};
|
|
66824
66939
|
const zones = pcb.zones.map((z) => ({
|
|
66825
66940
|
net: z.net,
|
|
@@ -84695,8 +84810,8 @@ var init_server3 = __esm({
|
|
|
84695
84810
|
init_order_feed();
|
|
84696
84811
|
init_animate();
|
|
84697
84812
|
PKG_VERSION = (() => {
|
|
84698
|
-
if ("0.10.0-main.
|
|
84699
|
-
return "0.10.0-main.
|
|
84813
|
+
if ("0.10.0-main.96") {
|
|
84814
|
+
return "0.10.0-main.96";
|
|
84700
84815
|
}
|
|
84701
84816
|
try {
|
|
84702
84817
|
const req = createRequire2(import.meta.url);
|
|
@@ -84705,8 +84820,8 @@ var init_server3 = __esm({
|
|
|
84705
84820
|
return "0.0.0";
|
|
84706
84821
|
}
|
|
84707
84822
|
})();
|
|
84708
|
-
BUILD_SHA = "
|
|
84709
|
-
BUILD_TIME = "2026-10-
|
|
84823
|
+
BUILD_SHA = "a0671ca49eaf507c48cb4e456b41c67326dc9ab3";
|
|
84824
|
+
BUILD_TIME = "2026-10-18T01:12:01.234Z";
|
|
84710
84825
|
SHORT_SHA = BUILD_SHA === "unknown" ? "unknown" : BUILD_SHA.slice(0, 7);
|
|
84711
84826
|
VERSION_WITH_BUILD = SHORT_SHA === "unknown" ? PKG_VERSION : `${PKG_VERSION}+${SHORT_SHA}`;
|
|
84712
84827
|
INSTANCE_ID = randomUUID7().slice(0, 8);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vcad/mcp",
|
|
3
|
-
"version": "0.10.0-main.
|
|
3
|
+
"version": "0.10.0-main.96",
|
|
4
4
|
"description": "vcad MCP server — parametric CAD + PCB design tools for AI agents (self-contained: bundled server + kernel WASM)",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
},
|
|
20
20
|
"homepage": "https://vcad.io",
|
|
21
21
|
"vcadBuild": {
|
|
22
|
-
"sha": "
|
|
23
|
-
"builtAt": "2026-10-
|
|
22
|
+
"sha": "a0671ca49eaf507c48cb4e456b41c67326dc9ab3",
|
|
23
|
+
"builtAt": "2026-10-18T01:12:01.234Z"
|
|
24
24
|
}
|
|
25
25
|
}
|