Skip to content

Add Goose MCP client detection and configuration support#3189

Closed
Kvadratni wants to merge 1 commit intoJetBrains:masterfrom
Kvadratni:add-goose-mcp-detection
Closed

Add Goose MCP client detection and configuration support#3189
Kvadratni wants to merge 1 commit intoJetBrains:masterfrom
Kvadratni:add-goose-mcp-detection

Conversation

@Kvadratni
Copy link
Copy Markdown

Summary

This PR adds support for detecting and configuring the Goose AI assistant as an MCP client in IntelliJ IDEA.

Changes

  • Added GooseClient class to handle Goose's YAML-based configuration format
  • Implemented detection of Goose config at:
    • macOS/Linux: ~/.config/goose/config.yaml
    • Windows: %APPDATA%/goose/config.yaml
  • Added YAML parsing logic to check for jetbrains2 extension presence and enabled status
  • Implemented configure() method to add/update jetbrains2 extension in YAML config
  • Added Goose to MCPClientNames enum and detection flow

Technical Details

Unlike other MCP clients that use JSON configuration, Goose uses YAML format with an extensions section. The implementation:

  • Reads and writes YAML configuration without requiring additional dependencies
  • Checks for the jetbrains2 extension in the extensions section
  • Adds or updates the extension with proper STDIO settings when configuring
  • Returns empty map for readMcpServers() since Goose doesn't use JSON mcpServers structure

Testing

  • Verified detection works when Goose config directory exists
  • Tested configuration adds/updates the jetbrains2 extension correctly
  • Ensured no impact on existing MCP client detection

Related

  • Similar to existing support for Cursor, VSCode, Claude, etc.
  • Follows the same pattern but adapted for YAML configuration format

@Kvadratni Kvadratni marked this pull request as draft August 15, 2025 17:25
- Added GooseClient class to handle Goose's YAML-based configuration
- Implemented detection of Goose config at ~/.config/goose/config.yaml (macOS/Linux) and %APPDATA%/goose/config.yaml (Windows)
- Added YAML parsing logic to check for jetbrains2 extension presence and enabled status
- Implemented configure() method to add/update jetbrains2 extension in YAML config
- Added Goose to MCPClientNames enum and detection flow
- Goose uses YAML format instead of JSON, so readMcpServers() returns empty map
- Configuration modifies the extensions section of config.yaml to add jetbrains2 with proper STDIO settings
@nerzhulart
Copy link
Copy Markdown
Collaborator

Hi, thanks a lot for your contribution and for taking the time to add Goose support!
At the moment, there is a product decision to keep the list of supported MCP clients limited to those already included, and we don’t plan to expand it in IntelliJ IDEA itself.
Sorry that you’ve already spent time on this - if you’d like, you could instead open a PR to introduce an extension point and implement Goose support as a separate plugin.

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.

2 participants