Skip to content

feat(mcp): default new agent installs to the remote CLI proxy - #1094

Merged
codyde merged 2 commits into
masterfrom
cody/mcp-default-remote-proxy
Aug 13, 2026
Merged

feat(mcp): default new agent installs to the remote CLI proxy#1094
codyde merged 2 commits into
masterfrom
cody/mcp-default-remote-proxy

Conversation

@codyde

@codyde codyde commented Aug 12, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • New agent installs now default to the remote CLI proxy (railway mcp proxymcp.railway.com, auth via railway login):
    • railway setup agent -y / non-TTY setup
    • railway mcp install (no flags)
    • curl -fsSL agents.railway.com | sh / install.sh --agents
  • Interactive setup picker lists Remote first as the default option.
  • Escape hatches:
    • --local → old in-process railway mcp
    • --oauth → plain https://mcp.railway.com (editor OAuth)
    • --remote kept as a compatibility alias of the new default
  • Re-run behavior: if a user already has local MCP configured and re-runs setup agent / mcp install, their railway entry is updated to the proxy. That migration-on-rerun is intentional for this phase.
  • Not in this PR: bare railway mcp still runs the local server. Users who never re-run setup/install keep local until the later runtime default flip.

Why

Canary the remote-proxy path on new installs and voluntary re-runs before flipping bare railway mcp for everyone.

Test plan

  • cargo test commands::setup::tests
  • cargo test from_flags_defaults_to_remote_proxy
  • cargo test mcp_install_subcommand
  • cargo test setup_agent_subcommand
  • Fresh $HOME: railway setup agent -y writes args: ["mcp","proxy"]
  • Existing local entry + mcp install / setup agent -y migrates to proxy
  • railway mcp install --local still writes local args: ["mcp"]
  • --local conflicts with --remote / --oauth
  • Smoke agents.sh / install.sh --agents against a current CLI binary

Non-interactive setup (`railway setup agent -y`, agents.sh, install
--agents) and bare `railway mcp install` now configure
`railway mcp proxy` by default. Keep `--remote` as a compatibility
alias, add `--local` to opt back into the in-process server, and leave
bare `railway mcp` unchanged for existing configs.
@codyde codyde added the release/minor Author minor release label Aug 12, 2026
Pass --remote on non-interactive agents setup when the binary supports
it so older CLIs still land on the proxy. Clarify --remote/--oauth/--local
help text, warn when --remote is ignored with --oauth, and start the
interactive MCP picker on the Remote default.
@codyde

codyde commented Aug 13, 2026

Copy link
Copy Markdown
Collaborator Author

Follow-up commit addresses the open pressure-test items on the CLI side:

  1. Installer version skew — non-interactive install.sh --agents now probes setup agent --help and passes --remote when supported (unless --local).
  2. Flag semantics — help text clarifies --oauth is editor OAuth (not proxy), --remote is a default alias and ignored with --oauth, with a runtime warning if both are passed.
  3. Interactive default — MCP transport picker starts on Remote (index 0).

Mono agents.md docs lag remains a separate follow-up.

@codyde
codyde merged commit 29d52bf into master Aug 13, 2026
7 checks passed
@codyde
codyde deleted the cody/mcp-default-remote-proxy branch August 13, 2026 00:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release/minor Author minor release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant