fix: scope MCP project memory to workspace root#6
Open
caipira113 wants to merge 1 commit into
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
${workspaceFolder}into the MCP server asSUPERMEMORY_WORKSPACE_ROOT.process.cwd()as a fallback for non-Cursor or unresolved variable cases.Why
Cursor can spawn plugin/global MCP servers with
process.cwd()set to the user's home directory instead of the active workspace. When the MCP server usesprocess.cwd()to derive the project container tag, different projects can write to the same project container.I observed this with two separate git projects,
tessellaandvibefolio, where MCP-saved project memories were both stored in the same container:cursor_project_76b5f714a5f645a1That tag is derived from
/home/iris, not from either project's git root.A temporary debug MCP server confirmed that:
process.cwd()was/home/irisfor multiple workspace windows.${workspaceFolder}resolved correctly per window:/home/iris/Workspace/tessella/home/iris/Workspace/vibefolioUsing
${workspaceFolder}keeps MCP project memory scoped to the actual workspace, matching the session hooks' existing behavior of usingworkspace_roots[0].Reference: https://cursor.com/docs/mcp#config-interpolation
Test plan
python3 -m json.tool .mcp.jsonpython3 -m json.tool .cursor/mcp.jsonbun install --frozen-lockfilebun run typecheckbun run buildSUPERMEMORY_WORKSPACE_ROOTis set:/home/iris/Workspace/tessella->cursor_project_0c98f8e4016b9d7b/home/iris/Workspace/vibefolio->cursor_project_6bcaea3f70809028SUPERMEMORY_WORKSPACE_ROOTis not set:/home/iris->cursor_project_76b5f714a5f645a1