Skip to content

Comments

feat: add MCP server support for user-home relative editor config paths and Windsurf editor#7470

Open
arturaz wants to merge 5 commits intoscalameta:mainfrom
arturaz:improvement/windsurf-mcp-server-support
Open

feat: add MCP server support for user-home relative editor config paths and Windsurf editor#7470
arturaz wants to merge 5 commits intoscalameta:mainfrom
arturaz:improvement/windsurf-mcp-server-support

Conversation

@arturaz
Copy link
Contributor

@arturaz arturaz commented May 15, 2025

No description provided.

@arturaz arturaz changed the title feat: add MCP server support for user-home relative editor config paths and Windsurf editor draft: feat: add MCP server support for user-home relative editor config paths and Windsurf editor May 15, 2025
@arturaz arturaz changed the title draft: feat: add MCP server support for user-home relative editor config paths and Windsurf editor feat: add MCP server support for user-home relative editor config paths and Windsurf editor May 15, 2025
extends Editor(
name = "Cursor",
settingsPath = ".cursor/",
settingsPath = SettingsPath.UserHomeRelative(".cursor/"),
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It was on purpose set up in the workspace, not globally. A user may have multiple Metals projects open, each with a separate Metals server started. So the Metals MCP server really works per project (workspace).

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@arturaz Doesn't Windsurf support also workspace mcp settings? My note above also applies to Windsurf.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, the cursor change was fat-fingered here, fixed in ae9de82

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As for windsurf, I've asked it in their discord, but no response so far, so I presume no? At least neither of these work:

  • project/.codeium/windsurf/mcp_config.json
  • project/.codeium/windsurf/mcp.json
  • project/.windsurf/mcp_config.json
  • project/.windsurf/mcp.json

Copy link
Member

@kasiaMarek kasiaMarek May 15, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I know, but isn't the Windsurf MCP config still global? Isn't there a way to add an MCP server per workspace for Windsurf? I received the answer when writing the question :).

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, windsurf MCP config is global. I am not aware of a way to make it per-project.

Copy link
Contributor Author

@arturaz arturaz May 15, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@arturaz
Copy link
Contributor Author

arturaz commented May 15, 2025

I've tested it out, MCP server is added automatically and works.

image

@kasiaMarek
Copy link
Member

I'm hesitant if we should merge this. It seems that currently there is no way to enable/disable an MCP plugin in windsurf per workspace. Adding Metals MCP server globally will allow to use only a single workspace with Metals MCP at a time, leaving behind a stale/misleading configuration.

@arturaz
Copy link
Contributor Author

arturaz commented Jul 11, 2025

Had an idea: what if we would disambiguate the metals MCP server by giving them names that are full paths to the project?

Then when updating the file we could remove stale entries by checking if the path on disk still exists.

@tgodzik
Copy link
Contributor

tgodzik commented Jul 12, 2025

That might work I guess 🤔

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants