Skip to content

feat: add harness support to gcp-mcp-setup skill - #46

Merged
palladius merged 10 commits into
gemini-cli-extensions:mainfrom
antoinemerc:feature/260702-mercant-onemcp-copilot
Jul 16, 2026
Merged

feat: add harness support to gcp-mcp-setup skill#46
palladius merged 10 commits into
gemini-cli-extensions:mainfrom
antoinemerc:feature/260702-mercant-onemcp-copilot

Conversation

@antoinemerc

@antoinemerc antoinemerc commented Jul 3, 2026

Copy link
Copy Markdown
Contributor

This requires #44 to be merged first since it expand on copilot support

Add Copilot CLI harness support to  gcp-mcp-setup skill:

  • --harness {gemini,antigravity,copilot}  flag on both  setup_onemcp.py  and  verify_setup.py 
  • Harness registry pattern with embedded format builders for easy extensibility
  • copilot mcp list  used for verification, matching how  gemini -p "/mcp list"  works for Gemini
  • Centralised  run_command()  wrapper for Windows  .cmd  CLI compatibility
  • MCP Setup marked tested (✅) for Copilot CLI in README

MERCIER-PRONCHERY, ANTOINE added 5 commits July 2, 2026 15:45
- Add .copilot-plugin/plugin.json and marketplace.json
- Add install-copilot / install-copilot-persistent justfile recipes
- Fix justfile Windows compatibility (set windows-shell)
- Document Copilot CLI install in INSTALL.md and README.md
- Add --harness flag to setup_onemcp.py and verify_setup.py
- Harness registry with embedded format builders (setup)
- Harness MCP list command registry (verify)
- Centralise subprocess calls via run_command() for Windows .cmd compat
- Bump MCP Setup Copilot CLI to tested (✅) in README
@antoinemerc

Copy link
Copy Markdown
Contributor Author

Linked Issue: #47

@palladius

Copy link
Copy Markdown
Collaborator

Wow, this is quite complex!

@gemini PTAL at this PR. I just did a minor merge with README which conflicted with the recent PR #44 . I'm particularly interested if this new code risks to break previous Gemini CLI / Antigravity mechanisms, while introducing copilot compatibility.

os.path.expanduser("~/.gemini/antigravity/mcp_config.json"),
os.path.join(os.getcwd(), ".gemini", "config", "mcp_config.json"),
os.path.expanduser("~/.gemini/config/mcp_config.json")
os.path.expanduser("~/.gemini/config/mcp_config.json"),

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

@antoinemerc Thank you for introducing harness registry. We needed some central place for this pieces of information. Can we re-use it here?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Yes, re-using and centralizing the path is better. I'll go a step further and centralize harness specific configuration into a single module

This way, harness support involve defining:

  • a set of local/gloabl path
  • an mcp format builder function
  • any harness specific command that is needed

It lives in gcp-mcp-setup but can easily be moved elsewhere if harness specific support is needed in other skills

MERCIER-PRONCHERY, ANTOINE added 4 commits July 7, 2026 11:28
…y.py

Introduce harness_registry.py as the single source of truth for
harness-specific configuration as suggested in PR comment

- Add HarnessName(str, Enum), HarnessCommand(str, Enum), and HarnessConfig
  frozen dataclass with .paths(scope)
- HARNESS_REGISTRY controls config file paths, MCP entry builders, and CLI
  commands in both scripts; adding a new harness is a single registry entry
- Fix Windows encoding errors when output is piped by adding UTF-8 reconfigure
  on stdout/stderr and explicit encoding='utf-8' in subprocess calls
@antoinemerc

Copy link
Copy Markdown
Contributor Author

This has become a bit bigger of a refactor than I originally intended!
I tested both copilot and agy support (I cant test gemini cli since I cant even log in anymore, I get a "this client is no longer supported" error) but please test it on your environment since I'm on windows

@palladius

Copy link
Copy Markdown
Collaborator

LGTM! Thanks Antoine!
When I pronounce your name I cant but think of this amazing actor: https://villains.fandom.com/wiki/Antwan_Hovachelik

@palladius
palladius merged commit afdef02 into gemini-cli-extensions:main Jul 16, 2026
14 checks passed
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