create-mcp-use-app 2.0.0-beta.1 → 2.0.0-beta.2
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
CHANGED
package/dist/index.js
CHANGED
|
@@ -1346,7 +1346,7 @@ function parseCli(argv) {
|
|
|
1346
1346
|
install: { type: "boolean" },
|
|
1347
1347
|
skills: { type: "boolean" },
|
|
1348
1348
|
dev: { type: "boolean" },
|
|
1349
|
-
|
|
1349
|
+
"sdk-version": { type: "string" },
|
|
1350
1350
|
yarn: { type: "boolean" },
|
|
1351
1351
|
npm: { type: "boolean" },
|
|
1352
1352
|
pnpm: { type: "boolean" },
|
|
@@ -1366,7 +1366,7 @@ function parseCli(argv) {
|
|
|
1366
1366
|
install,
|
|
1367
1367
|
skills,
|
|
1368
1368
|
dev: values.dev,
|
|
1369
|
-
|
|
1369
|
+
sdkVersion: values["sdk-version"],
|
|
1370
1370
|
yarn: values.yarn,
|
|
1371
1371
|
npm: values.npm,
|
|
1372
1372
|
pnpm: values.pnpm
|
|
@@ -1539,32 +1539,13 @@ function renderLogo() {
|
|
|
1539
1539
|
var packageJson = JSON.parse(
|
|
1540
1540
|
readFileSync2(join3(__dirname, "../package.json"), "utf-8")
|
|
1541
1541
|
);
|
|
1542
|
-
function getCurrentPackageVersions(isDevelopment = false,
|
|
1543
|
-
|
|
1544
|
-
|
|
1545
|
-
if (isDevelopment) {
|
|
1546
|
-
versions["mcp-use"] = "workspace:*";
|
|
1547
|
-
} else if (useCanary) {
|
|
1548
|
-
versions["mcp-use"] = "canary";
|
|
1549
|
-
} else {
|
|
1550
|
-
versions["mcp-use"] = "latest";
|
|
1551
|
-
}
|
|
1552
|
-
} catch (error) {
|
|
1553
|
-
if (process.env.NODE_ENV === "development") {
|
|
1554
|
-
console.warn(
|
|
1555
|
-
"\u26A0\uFE0F Could not read workspace package versions, using defaults"
|
|
1556
|
-
);
|
|
1557
|
-
console.warn(
|
|
1558
|
-
` Error: ${error instanceof Error ? error.message : String(error)}`
|
|
1559
|
-
);
|
|
1560
|
-
if (error instanceof Error && error.stack) {
|
|
1561
|
-
console.warn(` Stack: ${error.stack}`);
|
|
1562
|
-
}
|
|
1563
|
-
}
|
|
1542
|
+
function getCurrentPackageVersions(isDevelopment = false, sdkVersion) {
|
|
1543
|
+
if (isDevelopment) {
|
|
1544
|
+
return { "mcp-use": "workspace:*" };
|
|
1564
1545
|
}
|
|
1565
|
-
return
|
|
1546
|
+
return { "mcp-use": sdkVersion ?? "latest" };
|
|
1566
1547
|
}
|
|
1567
|
-
function processTemplateFile(filePath, versions, isDevelopment = false
|
|
1548
|
+
function processTemplateFile(filePath, versions, isDevelopment = false) {
|
|
1568
1549
|
const content = readFileSync2(filePath, "utf-8");
|
|
1569
1550
|
let processedContent = content;
|
|
1570
1551
|
for (const [packageName, version] of Object.entries(versions)) {
|
|
@@ -1574,24 +1555,20 @@ function processTemplateFile(filePath, versions, isDevelopment = false, useCanar
|
|
|
1574
1555
|
version
|
|
1575
1556
|
);
|
|
1576
1557
|
}
|
|
1558
|
+
const mcpUseVersion = isDevelopment ? "workspace:*" : versions["mcp-use"] || "latest";
|
|
1577
1559
|
if (isDevelopment) {
|
|
1578
1560
|
processedContent = processedContent.replace(
|
|
1579
1561
|
/"mcp-use": "\^[^"]+"/,
|
|
1580
1562
|
'"mcp-use": "workspace:*"'
|
|
1581
1563
|
);
|
|
1582
|
-
} else
|
|
1564
|
+
} else {
|
|
1583
1565
|
processedContent = processedContent.replace(
|
|
1584
1566
|
/"mcp-use": "workspace:\*"/,
|
|
1585
|
-
`"mcp-use": "
|
|
1567
|
+
`"mcp-use": "${mcpUseVersion}"`
|
|
1586
1568
|
);
|
|
1587
1569
|
processedContent = processedContent.replace(
|
|
1588
1570
|
/"mcp-use": "\^[^"]+"/,
|
|
1589
|
-
`"mcp-use": "
|
|
1590
|
-
);
|
|
1591
|
-
} else {
|
|
1592
|
-
processedContent = processedContent.replace(
|
|
1593
|
-
/"mcp-use": "workspace:\*"/,
|
|
1594
|
-
`"mcp-use": "${versions["mcp-use"] || "latest"}"`
|
|
1571
|
+
`"mcp-use": "${mcpUseVersion}"`
|
|
1595
1572
|
);
|
|
1596
1573
|
}
|
|
1597
1574
|
return processedContent;
|
|
@@ -1779,7 +1756,7 @@ function validateTemplateName(template) {
|
|
|
1779
1756
|
}
|
|
1780
1757
|
return resolvedTemplate;
|
|
1781
1758
|
}
|
|
1782
|
-
async function copyTemplate(projectPath, template, versions, isDevelopment = false
|
|
1759
|
+
async function copyTemplate(projectPath, template, versions, isDevelopment = false) {
|
|
1783
1760
|
const repoInfo = parseGitHubRepoUrl(template);
|
|
1784
1761
|
if (repoInfo) {
|
|
1785
1762
|
const tempDir = mkdtempSync(join3(tmpdir(), "create-mcp-use-app-"));
|
|
@@ -1789,8 +1766,7 @@ async function copyTemplate(projectPath, template, versions, isDevelopment = fal
|
|
|
1789
1766
|
tempDir,
|
|
1790
1767
|
projectPath,
|
|
1791
1768
|
versions,
|
|
1792
|
-
isDevelopment
|
|
1793
|
-
useCanary
|
|
1769
|
+
isDevelopment
|
|
1794
1770
|
);
|
|
1795
1771
|
} finally {
|
|
1796
1772
|
try {
|
|
@@ -1832,11 +1808,10 @@ async function copyTemplate(projectPath, template, versions, isDevelopment = fal
|
|
|
1832
1808
|
templatePath,
|
|
1833
1809
|
projectPath,
|
|
1834
1810
|
versions,
|
|
1835
|
-
isDevelopment
|
|
1836
|
-
useCanary
|
|
1811
|
+
isDevelopment
|
|
1837
1812
|
);
|
|
1838
1813
|
}
|
|
1839
|
-
function copyDirectoryWithProcessing(src, dest, versions, isDevelopment
|
|
1814
|
+
function copyDirectoryWithProcessing(src, dest, versions, isDevelopment) {
|
|
1840
1815
|
const entries = readdirSync3(src, { withFileTypes: true });
|
|
1841
1816
|
for (const entry of entries) {
|
|
1842
1817
|
if (entry.name === ".git") {
|
|
@@ -1847,19 +1822,12 @@ function copyDirectoryWithProcessing(src, dest, versions, isDevelopment, useCana
|
|
|
1847
1822
|
const destPath = join3(dest, destName);
|
|
1848
1823
|
if (entry.isDirectory()) {
|
|
1849
1824
|
mkdirSync(destPath, { recursive: true });
|
|
1850
|
-
copyDirectoryWithProcessing(
|
|
1851
|
-
srcPath,
|
|
1852
|
-
destPath,
|
|
1853
|
-
versions,
|
|
1854
|
-
isDevelopment,
|
|
1855
|
-
useCanary
|
|
1856
|
-
);
|
|
1825
|
+
copyDirectoryWithProcessing(srcPath, destPath, versions, isDevelopment);
|
|
1857
1826
|
} else if (entry.name === "package.json" || entry.name.endsWith(".json")) {
|
|
1858
1827
|
const processedContent = processTemplateFile(
|
|
1859
1828
|
srcPath,
|
|
1860
1829
|
versions,
|
|
1861
|
-
isDevelopment
|
|
1862
|
-
useCanary
|
|
1830
|
+
isDevelopment
|
|
1863
1831
|
);
|
|
1864
1832
|
writeFileSync2(destPath, processedContent);
|
|
1865
1833
|
} else {
|
|
@@ -1946,7 +1914,7 @@ Options:
|
|
|
1946
1914
|
--no-skills Skip installing skills
|
|
1947
1915
|
--no-git Skip initializing a git repository
|
|
1948
1916
|
--dev Use workspace dependencies for development
|
|
1949
|
-
--
|
|
1917
|
+
--sdk-version <version> Pin mcp-use to an npm version or dist-tag (e.g. canary, 1.34.0)
|
|
1950
1918
|
--yarn Use yarn as package manager
|
|
1951
1919
|
--npm Use npm as package manager
|
|
1952
1920
|
--pnpm Use pnpm as package manager
|
|
@@ -1968,11 +1936,15 @@ async function main() {
|
|
|
1968
1936
|
listTemplates();
|
|
1969
1937
|
return;
|
|
1970
1938
|
}
|
|
1971
|
-
if (options.dev && options.
|
|
1972
|
-
console.error(red("\u274C Cannot use --dev and --
|
|
1939
|
+
if (options.dev && options.sdkVersion) {
|
|
1940
|
+
console.error(red("\u274C Cannot use --dev and --sdk-version together"));
|
|
1973
1941
|
console.error(yellow(" Please choose only one dependency mode"));
|
|
1974
1942
|
process.exit(1);
|
|
1975
1943
|
}
|
|
1944
|
+
if (options.sdkVersion !== void 0 && !options.sdkVersion.trim()) {
|
|
1945
|
+
console.error(red("\u274C --sdk-version requires a non-empty value"));
|
|
1946
|
+
process.exit(1);
|
|
1947
|
+
}
|
|
1976
1948
|
let projectName = initialProjectName;
|
|
1977
1949
|
let selectedTemplate = options.template;
|
|
1978
1950
|
const interactive = isInteractive();
|
|
@@ -2059,14 +2031,8 @@ async function main() {
|
|
|
2059
2031
|
}
|
|
2060
2032
|
console.log(cyan(`\u{1F680} Creating MCP server "${displayName}"...`));
|
|
2061
2033
|
const validatedTemplate = validateTemplateName(selectedTemplate);
|
|
2062
|
-
const versions = getCurrentPackageVersions(options.dev, options.
|
|
2063
|
-
await copyTemplate(
|
|
2064
|
-
projectPath,
|
|
2065
|
-
validatedTemplate,
|
|
2066
|
-
versions,
|
|
2067
|
-
options.dev,
|
|
2068
|
-
options.canary
|
|
2069
|
-
);
|
|
2034
|
+
const versions = getCurrentPackageVersions(options.dev, options.sdkVersion);
|
|
2035
|
+
await copyTemplate(projectPath, validatedTemplate, versions, options.dev);
|
|
2070
2036
|
updatePackageJson(projectPath, packageName);
|
|
2071
2037
|
updateIndexTs(projectPath, packageName);
|
|
2072
2038
|
let install = options.install;
|
|
@@ -2168,8 +2134,8 @@ async function main() {
|
|
|
2168
2134
|
console.log(
|
|
2169
2135
|
yellow("\u{1F527} Development mode: Using workspace dependencies")
|
|
2170
2136
|
);
|
|
2171
|
-
} else if (options.
|
|
2172
|
-
console.log(cyan(
|
|
2137
|
+
} else if (options.sdkVersion) {
|
|
2138
|
+
console.log(cyan(`\u{1F4CC} Using mcp-use@${options.sdkVersion}`));
|
|
2173
2139
|
}
|
|
2174
2140
|
console.log("");
|
|
2175
2141
|
console.log(bold("\u{1F4C1} Project structure:"));
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mcp-use server",
|
|
3
3
|
"type": "module",
|
|
4
|
+
"engines": {
|
|
5
|
+
"node": ">=22.22.2"
|
|
6
|
+
},
|
|
4
7
|
"version": "1.0.0",
|
|
5
8
|
"description": "Blank mcp-use server",
|
|
6
9
|
"author": "",
|
|
@@ -23,7 +26,7 @@
|
|
|
23
26
|
"mcp-use": "workspace:*"
|
|
24
27
|
},
|
|
25
28
|
"devDependencies": {
|
|
26
|
-
"@types/node": "^
|
|
27
|
-
"typescript": "7.0.
|
|
29
|
+
"@types/node": "^22.20.0",
|
|
30
|
+
"typescript": "^7.0.2"
|
|
28
31
|
}
|
|
29
32
|
}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mcp-use server",
|
|
3
3
|
"type": "module",
|
|
4
|
+
"engines": {
|
|
5
|
+
"node": ">=22.22.2"
|
|
6
|
+
},
|
|
4
7
|
"version": "1.0.0",
|
|
5
8
|
"description": "MCP server with a standard MCP Apps view",
|
|
6
9
|
"author": "",
|
|
@@ -26,14 +29,14 @@
|
|
|
26
29
|
},
|
|
27
30
|
"dependencies": {
|
|
28
31
|
"mcp-use": "workspace:*",
|
|
29
|
-
"react": "^19.2.
|
|
30
|
-
"react-dom": "^19.2.
|
|
32
|
+
"react": "^19.2.7",
|
|
33
|
+
"react-dom": "^19.2.7",
|
|
31
34
|
"zod": "^4.4.3"
|
|
32
35
|
},
|
|
33
36
|
"devDependencies": {
|
|
34
|
-
"@types/node": "^
|
|
37
|
+
"@types/node": "^22.20.0",
|
|
35
38
|
"@types/react": "^19.2.17",
|
|
36
39
|
"@types/react-dom": "^19.2.3",
|
|
37
|
-
"typescript": "7.0.
|
|
40
|
+
"typescript": "^7.0.2"
|
|
38
41
|
}
|
|
39
42
|
}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mcp-use server",
|
|
3
3
|
"type": "module",
|
|
4
|
+
"engines": {
|
|
5
|
+
"node": ">=22.22.2"
|
|
6
|
+
},
|
|
4
7
|
"version": "1.0.0",
|
|
5
8
|
"description": "MCP server with starter tools, resources, and prompts",
|
|
6
9
|
"author": "",
|
|
@@ -27,7 +30,7 @@
|
|
|
27
30
|
"zod": "^4.4.3"
|
|
28
31
|
},
|
|
29
32
|
"devDependencies": {
|
|
30
|
-
"@types/node": "^
|
|
31
|
-
"typescript": "7.0.
|
|
33
|
+
"@types/node": "^22.20.0",
|
|
34
|
+
"typescript": "^7.0.2"
|
|
32
35
|
}
|
|
33
36
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "create-mcp-use-app",
|
|
3
|
-
"version": "2.0.0-beta.
|
|
3
|
+
"version": "2.0.0-beta.2",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Create MCP-Use apps with one command",
|
|
6
6
|
"author": "mcp-use, Inc.",
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
"README.md"
|
|
34
34
|
],
|
|
35
35
|
"engines": {
|
|
36
|
-
"node": "
|
|
36
|
+
"node": ">=22.22.2"
|
|
37
37
|
},
|
|
38
38
|
"dependencies": {},
|
|
39
39
|
"devDependencies": {
|