arcade-mcp/libs/arcade-cli/arcade_cli
Pascal Matthiesen 8f4fb1ad77
feat: added connect cli command (#819)
Summary

- New arcade connect command that logs in, creates/reuses an Arcade
Cloud gateway, and configures your MCP client in one step
- Supports 5 clients: Claude Desktop, Cursor, VS Code, Windsurf, Amazon
Q
- Selection modes: --toolkit, --tool, --preset, --gateway, --all, or
interactive picker
  - Reuses existing gateways when one already covers the requested tools
- Resolves gateway names to slugs (--gateway opencode finds slug
pascal_opencode)
- OAuth auth by default, --api-key fallback with auto-created project
key
  - --slug option to set a custom gateway slug on creation
- Tool catalog cached to ~/.arcade/cache/tools.json (5min TTL, scoped to
org/project)
- Fills in the three previously placeholder configure_*_arcade()
functions
  
  
  ```bash
❯ uv run arcade connect cursor --toolkit x
Fetching tool catalog...

Setting up gateway for toolkits: x

Checking existing gateways...
Found existing gateway: quickstart-x (slug:
gw_3CHqdAlQXSSQ28soevSheOJvXzs)

Configuring cursor to connect to gateway: gw_3CHqdAlQXSSQ28soevSheOJvXzs

Configured Cursor with Arcade gateway 'x'
Gateway URL: https://api.arcade.dev/mcp/gw_3CHqdAlQXSSQ28soevSheOJvXzs
   Config file: /Users/pascal/.cursor/mcp.json
   Restart Cursor for changes to take effect.

Setup complete!
Gateway URL: https://api.arcade.dev/mcp/gw_3CHqdAlQXSSQ28soevSheOJvXzs
   Auth: OAuth (handled by your MCP client)

Try asking your AI assistant:
   - Post a tweet saying 'Hello from Arcade!'
   - Search recent tweets about AI tools
  ```

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Medium Risk**
> Adds a new end-to-end flow that performs OAuth login, calls Arcade
Engine/Coordinator APIs (gateway + API key creation), and writes MCP
client config files, so failures could affect remote resource creation
and local client configuration.
> 
> **Overview**
> Adds a new `arcade connect` CLI command that logs in (if needed),
fetches/caches the user’s tool catalog, creates or reuses an Arcade
Cloud gateway (optionally with a custom `--slug`), and writes the
appropriate MCP client config to point at the gateway.
> 
> Implements real Arcade Cloud gateway configuration for `claude`,
`cursor`, and `vscode` (replacing prior placeholders) and extends
support to **Windsurf** and **Amazon Q**, including optional `--api-key`
mode that auto-creates a project API key and writes it as a `Bearer`
header.
> 
> Refocuses `arcade configure` on *local filesystem* servers (and nudges
remote usage to `connect`), adds toolkit config helpers, expands test
coverage for gateway/toolkit configuration and the new connect flow, and
bumps the package version to `1.14.0`.
> 
> <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit
d9357c144a8bddd05dfb39f9f922f577bdbb8bf0. Bugbot is set up for automated
code reviews on this repo. Configure
[here](https://www.cursor.com/dashboard/bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
2026-04-15 13:16:50 -07:00
..
formatters Fixing bug with multiple providers + stats for multiple runs (#752) 2026-02-09 14:25:28 -03:00
templates Add [tool.uv] exclude-newer config to arcade new's full template (#809) 2026-04-08 11:54:12 -07:00
usage [TOO-326] Windows papercuts (#768) 2026-02-25 13:18:16 -03:00
__init__.py 🏗️ Restructure: Multi-Package Architecture + uv Migration (#412) 2025-06-11 16:48:17 -07:00
authn.py [TOO-326] Windows papercuts (#768) 2026-02-25 13:18:16 -03:00
config.py [TOO-326] Windows papercuts (#768) 2026-02-25 13:18:16 -03:00
configure.py feat: added connect cli command (#819) 2026-04-15 13:16:50 -07:00
connect.py feat: added connect cli command (#819) 2026-04-15 13:16:50 -07:00
console.py [TOO-326] Windows papercuts (#768) 2026-02-25 13:18:16 -03:00
constants.py feat: Support multiple orgs & projects in Arcade CLI (#717) 2025-12-11 12:58:55 -08:00
deploy.py Suppress 500 during deployment warm-up period (#810) 2026-04-07 11:51:40 -07:00
display.py [TOO-326] Windows papercuts (#768) 2026-02-25 13:18:16 -03:00
evals_runner.py Fixing bug with multiple providers + stats for multiple runs (#752) 2026-02-09 14:25:28 -03:00
main.py feat: added connect cli command (#819) 2026-04-15 13:16:50 -07:00
new.py arcade new <name> --full generates an MCPApp (#787) 2026-03-05 17:50:10 -08:00
org.py [TOO-326] Windows papercuts (#768) 2026-02-25 13:18:16 -03:00
project.py [TOO-326] Windows papercuts (#768) 2026-02-25 13:18:16 -03:00
secret.py [TOO-326] Windows papercuts (#768) 2026-02-25 13:18:16 -03:00
server.py [TOO-326] Windows papercuts (#768) 2026-02-25 13:18:16 -03:00
show.py CLI Usage (#593) 2025-10-03 10:15:08 -07:00
update.py Add background update check & notification for arcade CLI (#800) 2026-04-02 11:30:55 -07:00
utils.py Improve .env discovery (#737) 2026-02-25 23:20:28 -08:00