@tensor-cad/mcp 0.1.3 → 0.1.4

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/index.js CHANGED
@@ -550,7 +550,7 @@ import { McpServer as McpServer2 } from "@modelcontextprotocol/server";
550
550
  // packages/mcp/package.json
551
551
  var package_default = {
552
552
  name: "@tensor-cad/mcp",
553
- version: "0.1.3",
553
+ version: "0.1.4",
554
554
  description: "Model Context Protocol server for TensorCAD: design, validate, analyze and generate LLM architectures from an agent",
555
555
  mcpName: "io.github.filip-pajalic/tensorcad",
556
556
  type: "module",
@@ -1520,6 +1520,7 @@ function catalogEntry(def) {
1520
1520
  type: def.type,
1521
1521
  kind: def.kind,
1522
1522
  category: def.category,
1523
+ name: def.docs.name ?? def.type,
1523
1524
  summary: def.docs.summary ?? "",
1524
1525
  refs: def.docs.refs ?? [],
1525
1526
  params: def.paramOrder.map((name) => catalogParam(name, def.params[name])),
@@ -1558,7 +1559,10 @@ function allCatalogEntries() {
1558
1559
  }
1559
1560
  function catalogText(entries) {
1560
1561
  return entries.map((e) => {
1561
- const lines = [`${e.type} (${e.kind}/${e.category})`, ` ${e.summary}`];
1562
+ const lines = [
1563
+ e.name && e.name !== e.type ? `${e.type} — ${e.name} (${e.kind}/${e.category})` : `${e.type} (${e.kind}/${e.category})`,
1564
+ ` ${e.summary}`
1565
+ ];
1562
1566
  if (e.formula)
1563
1567
  lines.push(` formula: ${e.formula}`);
1564
1568
  if (e.params.length > 0) {
@@ -2117,6 +2121,7 @@ ${outlineText(outline)}`, {
2117
2121
  type: z3.string(),
2118
2122
  kind: z3.string(),
2119
2123
  category: z3.string(),
2124
+ name: z3.string().describe("What a drawing calls this block."),
2120
2125
  summary: z3.string(),
2121
2126
  formula: z3.string().optional(),
2122
2127
  refs: z3.array(z3.string()),
@@ -2143,7 +2148,7 @@ ${outlineText(outline)}`, {
2143
2148
  return false;
2144
2149
  if (!q)
2145
2150
  return true;
2146
- const hay = `${e.type} ${e.category} ${e.summary} ${e.formula ?? ""}`.toLowerCase();
2151
+ const hay = `${e.type} ${e.name} ${e.category} ${e.summary} ${e.formula ?? ""}`.toLowerCase();
2147
2152
  return hay.includes(q);
2148
2153
  });
2149
2154
  const blocks = matched.slice(0, limit ?? 20);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tensor-cad/mcp",
3
- "version": "0.1.3",
3
+ "version": "0.1.4",
4
4
  "description": "Model Context Protocol server for TensorCAD: design, validate, analyze and generate LLM architectures from an agent",
5
5
  "mcpName": "io.github.filip-pajalic/tensorcad",
6
6
  "type": "module",
@@ -25,7 +25,7 @@
25
25
  },
26
26
  "dependencies": {
27
27
  "@modelcontextprotocol/server": "^2.0.0",
28
- "@tensor-cad/engine": "0.1.3",
28
+ "@tensor-cad/engine": "0.1.4",
29
29
  "ws": "^8.21.3",
30
30
  "zod": "^4.2.0"
31
31
  },
package/serve.js CHANGED
@@ -550,7 +550,7 @@ import { McpServer as McpServer2 } from "@modelcontextprotocol/server";
550
550
  // packages/mcp/package.json
551
551
  var package_default = {
552
552
  name: "@tensor-cad/mcp",
553
- version: "0.1.3",
553
+ version: "0.1.4",
554
554
  description: "Model Context Protocol server for TensorCAD: design, validate, analyze and generate LLM architectures from an agent",
555
555
  mcpName: "io.github.filip-pajalic/tensorcad",
556
556
  type: "module",
@@ -1520,6 +1520,7 @@ function catalogEntry(def) {
1520
1520
  type: def.type,
1521
1521
  kind: def.kind,
1522
1522
  category: def.category,
1523
+ name: def.docs.name ?? def.type,
1523
1524
  summary: def.docs.summary ?? "",
1524
1525
  refs: def.docs.refs ?? [],
1525
1526
  params: def.paramOrder.map((name) => catalogParam(name, def.params[name])),
@@ -1558,7 +1559,10 @@ function allCatalogEntries() {
1558
1559
  }
1559
1560
  function catalogText(entries) {
1560
1561
  return entries.map((e) => {
1561
- const lines = [`${e.type} (${e.kind}/${e.category})`, ` ${e.summary}`];
1562
+ const lines = [
1563
+ e.name && e.name !== e.type ? `${e.type} — ${e.name} (${e.kind}/${e.category})` : `${e.type} (${e.kind}/${e.category})`,
1564
+ ` ${e.summary}`
1565
+ ];
1562
1566
  if (e.formula)
1563
1567
  lines.push(` formula: ${e.formula}`);
1564
1568
  if (e.params.length > 0) {
@@ -2117,6 +2121,7 @@ ${outlineText(outline)}`, {
2117
2121
  type: z3.string(),
2118
2122
  kind: z3.string(),
2119
2123
  category: z3.string(),
2124
+ name: z3.string().describe("What a drawing calls this block."),
2120
2125
  summary: z3.string(),
2121
2126
  formula: z3.string().optional(),
2122
2127
  refs: z3.array(z3.string()),
@@ -2143,7 +2148,7 @@ ${outlineText(outline)}`, {
2143
2148
  return false;
2144
2149
  if (!q)
2145
2150
  return true;
2146
- const hay = `${e.type} ${e.category} ${e.summary} ${e.formula ?? ""}`.toLowerCase();
2151
+ const hay = `${e.type} ${e.name} ${e.category} ${e.summary} ${e.formula ?? ""}`.toLowerCase();
2147
2152
  return hay.includes(q);
2148
2153
  });
2149
2154
  const blocks = matched.slice(0, limit ?? 20);
package/server.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
3
3
  "name": "io.github.filip-pajalic/tensorcad",
4
4
  "description": "Design transformer LLM architectures and report their parameters, FLOPs, memory and cost",
5
- "version": "0.1.3",
5
+ "version": "0.1.4",
6
6
  "repository": {
7
7
  "url": "https://github.com/Filip-Pajalic/TensorCAD",
8
8
  "source": "github",
@@ -14,7 +14,7 @@
14
14
  "registryType": "npm",
15
15
  "registryBaseUrl": "https://registry.npmjs.org",
16
16
  "identifier": "@tensor-cad/mcp",
17
- "version": "0.1.3",
17
+ "version": "0.1.4",
18
18
  "runtimeHint": "npx",
19
19
  "transport": {
20
20
  "type": "stdio"
package/stdio.js CHANGED
@@ -552,7 +552,7 @@ import { McpServer as McpServer2 } from "@modelcontextprotocol/server";
552
552
  // packages/mcp/package.json
553
553
  var package_default = {
554
554
  name: "@tensor-cad/mcp",
555
- version: "0.1.3",
555
+ version: "0.1.4",
556
556
  description: "Model Context Protocol server for TensorCAD: design, validate, analyze and generate LLM architectures from an agent",
557
557
  mcpName: "io.github.filip-pajalic/tensorcad",
558
558
  type: "module",
@@ -1522,6 +1522,7 @@ function catalogEntry(def) {
1522
1522
  type: def.type,
1523
1523
  kind: def.kind,
1524
1524
  category: def.category,
1525
+ name: def.docs.name ?? def.type,
1525
1526
  summary: def.docs.summary ?? "",
1526
1527
  refs: def.docs.refs ?? [],
1527
1528
  params: def.paramOrder.map((name) => catalogParam(name, def.params[name])),
@@ -1560,7 +1561,10 @@ function allCatalogEntries() {
1560
1561
  }
1561
1562
  function catalogText(entries) {
1562
1563
  return entries.map((e) => {
1563
- const lines = [`${e.type} (${e.kind}/${e.category})`, ` ${e.summary}`];
1564
+ const lines = [
1565
+ e.name && e.name !== e.type ? `${e.type} — ${e.name} (${e.kind}/${e.category})` : `${e.type} (${e.kind}/${e.category})`,
1566
+ ` ${e.summary}`
1567
+ ];
1564
1568
  if (e.formula)
1565
1569
  lines.push(` formula: ${e.formula}`);
1566
1570
  if (e.params.length > 0) {
@@ -2119,6 +2123,7 @@ ${outlineText(outline)}`, {
2119
2123
  type: z3.string(),
2120
2124
  kind: z3.string(),
2121
2125
  category: z3.string(),
2126
+ name: z3.string().describe("What a drawing calls this block."),
2122
2127
  summary: z3.string(),
2123
2128
  formula: z3.string().optional(),
2124
2129
  refs: z3.array(z3.string()),
@@ -2145,7 +2150,7 @@ ${outlineText(outline)}`, {
2145
2150
  return false;
2146
2151
  if (!q)
2147
2152
  return true;
2148
- const hay = `${e.type} ${e.category} ${e.summary} ${e.formula ?? ""}`.toLowerCase();
2153
+ const hay = `${e.type} ${e.name} ${e.category} ${e.summary} ${e.formula ?? ""}`.toLowerCase();
2149
2154
  return hay.includes(q);
2150
2155
  });
2151
2156
  const blocks = matched.slice(0, limit ?? 20);
package/summarize.d.ts CHANGED
@@ -91,6 +91,15 @@ export interface CatalogEntry {
91
91
  type: string;
92
92
  kind: string;
93
93
  category: string;
94
+ /**
95
+ * What a drawing calls this block.
96
+ *
97
+ * The editor has printed it since M7 and an agent could not see it, so the
98
+ * two were describing one design in two vocabularies: the human's screen
99
+ * said "grouped-query attention" and the assistant only ever knew
100
+ * `gqa_attention`. Falls back to the type, so it is always something to say.
101
+ */
102
+ name: string;
94
103
  summary: string;
95
104
  formula?: string;
96
105
  refs: string[];