@myvillage/cli 1.48.3 → 1.48.5
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/package.json
CHANGED
|
@@ -118,9 +118,21 @@ export async function getMCPTools(agentDir, agentConfig) {
|
|
|
118
118
|
? arg.replace(/\$\{(\w+)\}/g, (_, name) => process.env[name] || '')
|
|
119
119
|
: arg,
|
|
120
120
|
);
|
|
121
|
+
// On Windows, npx/node/uvx live behind .cmd/.bat shims that a bare
|
|
122
|
+
// spawn() can't resolve (PATHEXT is applied by the shell, not by
|
|
123
|
+
// spawn) — which surfaces as "spawn npx ENOENT". Route the command
|
|
124
|
+
// through `cmd /c` so the shell resolves the real executable for any
|
|
125
|
+
// command, not just npx.
|
|
126
|
+
const isWindows = process.platform === 'win32';
|
|
127
|
+
const stdioCommand = isWindows
|
|
128
|
+
? (process.env.ComSpec || 'cmd')
|
|
129
|
+
: server.command;
|
|
130
|
+
const stdioArgs = isWindows
|
|
131
|
+
? ['/c', server.command, ...resolvedArgs]
|
|
132
|
+
: resolvedArgs;
|
|
121
133
|
const stdioTransport = new Experimental_StdioMCPTransport({
|
|
122
|
-
command:
|
|
123
|
-
args:
|
|
134
|
+
command: stdioCommand,
|
|
135
|
+
args: stdioArgs,
|
|
124
136
|
env: { ...process.env, ...resolveEnvVars(server.env || {}) },
|
|
125
137
|
});
|
|
126
138
|
client = await withTimeout(
|
|
@@ -120,10 +120,15 @@ function starterEnvFile() {
|
|
|
120
120
|
'# environment of every MCP subprocess it spawns. Use it for tokens, API',
|
|
121
121
|
'# keys, and any other secret your tools (or remote MCPs) need.',
|
|
122
122
|
'#',
|
|
123
|
-
'# Examples:',
|
|
124
|
-
'#
|
|
125
|
-
'# GMAIL_TOKEN=xxxxxxxxxxxx',
|
|
123
|
+
'# Examples (the curated recipes — install with `myvillage agent add-mcp`):',
|
|
124
|
+
'# GITHUB_PERSONAL_ACCESS_TOKEN=ghp_xxxxxxxxxxxx',
|
|
126
125
|
'# SLACK_BOT_TOKEN=xoxb-xxxxxxxxxxxx',
|
|
126
|
+
'# SLACK_TEAM_ID=T01234567',
|
|
127
|
+
'# TWILIO_ACCOUNT_SID=ACxxxxxxxxxxxx',
|
|
128
|
+
'# TWILIO_API_KEY=SKxxxxxxxxxxxx',
|
|
129
|
+
'# TWILIO_API_SECRET=xxxxxxxxxxxx',
|
|
130
|
+
'#',
|
|
131
|
+
'# Gmail uses file-based auth (~/.gmail-mcp/credentials.json), no env var needed.',
|
|
127
132
|
'#',
|
|
128
133
|
'# This file is plaintext — keep it out of version control.',
|
|
129
134
|
'',
|