fix(agent-run): resolve MCP paths correctly from bundled worker
Memind CI / Test, build, and release guards (push) Successful in 4m10s

Agent-run-worker bundles under scripts/, so fallback MCP resolution pointed
at scripts/tkmind-excel-mcp.mjs and broke Goose session startup on H5 image
tasks. Pin MEMIND_PORTAL_H5_ROOT to the repo root and honor TKMIND_EXCEL_MCP_SERVER_PATH.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
john
2026-08-31 19:32:39 +08:00
parent 334b78a7df
commit 61eebb44ec
3 changed files with 56 additions and 1 deletions
+41
View File
@@ -10,6 +10,7 @@ import {
normalizeCapabilityPatch,
resolveMindSearchMcpEndpoint,
resolveExcelMcpServerPath,
resolveExcelMcpOverridePath,
resolveMindSearchMcpServerPath,
resolveSandboxMcpNodeExecPath,
resolveSandboxMcpServerPath,
@@ -710,3 +711,43 @@ test('Excel analyst uses the container-visible bundled MCP directory', () => {
const extension = policy.extensionOverrides.find((ext) => ext.name === 'tkmind-excel');
assert.equal(extension.args[0], '/opt/portal/tkmind-excel-mcp.mjs');
});
test('resolveExcelMcpOverridePath prefers GOOSED then TKMIND env', () => {
assert.equal(
resolveExcelMcpOverridePath({
GOOSED_EXCEL_MCP_SERVER_PATH: '/opt/goosed/tkmind-excel-mcp.mjs',
TKMIND_EXCEL_MCP_SERVER_PATH: '/opt/tkmind/tkmind-excel-mcp.mjs',
}),
'/opt/goosed/tkmind-excel-mcp.mjs',
);
assert.equal(
resolveExcelMcpOverridePath({
TKMIND_EXCEL_MCP_SERVER_PATH: '/Users/john/Project/Memind/tkmind-excel-mcp.mjs',
}),
'/Users/john/Project/Memind/tkmind-excel-mcp.mjs',
);
});
test('Excel analyst honors TKMIND_EXCEL_MCP_SERVER_PATH override', () => {
const previous = process.env.TKMIND_EXCEL_MCP_SERVER_PATH;
process.env.TKMIND_EXCEL_MCP_SERVER_PATH = '/srv/memind/tkmind-excel-mcp.mjs';
try {
const policy = buildAgentExtensionPolicy(
{
...DEFAULT_USER_CAPABILITIES,
excel_analysis: true,
},
{
sandboxMcp: {
serverPath: '/Users/john/Project/Memind/mindspace-sandbox-mcp.mjs',
workspaceRoot: '/Users/john/Project/Memind/MindSpace/user-1',
},
},
);
const extension = policy.extensionOverrides.find((ext) => ext.name === 'tkmind-excel');
assert.equal(extension.args[0], '/srv/memind/tkmind-excel-mcp.mjs');
} finally {
if (previous === undefined) delete process.env.TKMIND_EXCEL_MCP_SERVER_PATH;
else process.env.TKMIND_EXCEL_MCP_SERVER_PATH = previous;
}
});