@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 +8 -3
- package/package.json +2 -2
- package/serve.js +8 -3
- package/server.json +2 -2
- package/stdio.js +8 -3
- package/summarize.d.ts +9 -0
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.
|
|
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 = [
|
|
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
|
+
"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.
|
|
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.
|
|
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 = [
|
|
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.
|
|
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.
|
|
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.
|
|
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 = [
|
|
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[];
|