Skip to content

[GRO-303] DO NOT MERGE ME docs(agent-plugin): add install guides for the Arcade agent plugin - #1175

Draft
teallarson wants to merge 11 commits into
mainfrom
teal/gro-303-add-arcade-plugin-install-guides-to-docsarcadedev
Draft

[GRO-303] DO NOT MERGE ME docs(agent-plugin): add install guides for the Arcade agent plugin#1175
teallarson wants to merge 11 commits into
mainfrom
teal/gro-303-add-arcade-plugin-install-guides-to-docsarcadedev

Conversation

@teallarson

@teallarson teallarson commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

Closes GRO-303.

Adds a Get Started section for installing Arcade through the agent plugin, sourced from docs/install/* and docs/support-matrix.md in the arcade-plugin repo.

Pages

app/en/get-started/agent-plugin/, placed second in Get Started because it's the only path where nothing has to be set up before you install. An Arcade account is still required; the difference is that the link your agent hands you on its first app task creates it, so signup happens at the moment of use rather than up front.

  • Overview — the one-command install, --target variants, dry run, then per-agent verification in tabs (Cursor, Claude Code, VS Code, Copilot CLI, Codex), the support matrix, sign-in, and sample prompts
  • Claude Desktop — connector URL, plus the Chat vs. Cowork/Code split
  • Any MCP client — gateway URL for OpenCode and anything else speaking Streamable HTTP
  • From trial to team rollout — your own gateway, a curated tool list, your own end-user identities, then the API and framework path

Tabs rather than a page per client: the per-client content is about eight lines each, and five near-identical pages would rot independently.

The existing MCP Clients guides all assume you want your own gateway and an API key, so each one now has a callout pointing trial users at the plugin, and the plugin pages link back for anyone who needs their own tool list and identities.

The URL is a variable

lib/agent-plugin.ts holds two constants:

export const AGENT_PLUGIN_GATEWAY_URL = "https://api.bosslevel.dev/mcp/all-optimized";
export const AGENT_PLUGIN_REPO = "ArcadeAI/arcade-plugin";

Everything else derives from those — the install commands, and the Cursor and VS Code one-click links, whose base64 and percent-encoded configs are built at compile time rather than pasted. The generated Cursor link came out byte-identical to the hand-written one in the plugin repo.

Pages reference them as {{ARCADE_PLUGIN_GATEWAY_URL}} and friends. lib/remark-substitute.ts resolves those in prose, inline code, fenced code blocks, and link targets. Unknown tokens pass through, so the {{client_id}} placeholders on the auth-provider pages still work.

Two notes for whoever maintains this:

  • The plugin also rewrites the raw source string, not just the AST. Nextra exports that separately and it feeds the copy-page button and the markdown this site serves to agents. Without it, agents read the literal token while humans read the URL.
  • pnpm build caches compiled MDX. After changing a constant, rm -rf .next or the old value survives in the output.

tests/broken-link-check.test.ts now resolves tokens before validating, otherwise it reads a token as a relative path.

Not included

  • The .mcpb for Claude Desktop. No such artifact exists in the plugin repo yet (GRO-302), so the page documents the connector URL only.
  • The mcp-remote sample config, which points at a file inside the private repo.
  • A link to the plugin repo, which would 404 while it's private.

Why this is a draft

npx plugins add ArcadeAI/arcade-plugin does not work for anyone outside the org until the repo goes public, and the gateway constant is still staging. Both are gated on GRO-309. Swap that one line and undraft when the production endpoint and marketing page are ready.

Checks

pnpm build, pnpm lint, and all 881 tests pass. Vale reports 0 errors, 0 warnings, 0 suggestions on the six touched pages it can parse.

Vale can't parse the other four (mcp-clients/cursor, claude-code, claude-desktop, github-copilot), and neither can it parse 33 of the repo's 178 pages. The MDX is valid — mdx2vast reads all of them raw. The trigger is the TokenIgnores backtick pattern in .vale.ini, which blanks inline-code spans and unbalances the JSX. Since Vale aborts the whole run on the first crash, pnpm vale:check never completes. Separate PR; I checked those four files by hand.

🤖 Generated with Claude Code

Adds a Get Started section for installing Arcade through the agent plugin:
an overview with the one-command install and per-agent verification in tabs,
a Claude Desktop connector guide, a tools-only guide for any MCP client, and
a page on what changes when a trial becomes a team rollout.

The existing MCP Clients guides all assume you want your own gateway and an
API key, so each one now points trial users at the plugin, and the plugin
pages point back for anyone who needs their own tool list and identities.

Every install surface resolves from two constants in lib/agent-plugin.ts.
Pages reference them as {{TOKEN}} placeholders and a remark plugin resolves
those in prose, code blocks, and link targets, so the staging gateway URL
becomes a one-line change at launch. The Cursor and VS Code one-click links
are derived from the same URL rather than pasted, and the plugin rewrites
the raw source Nextra exports so the copy-page button and the markdown the
site serves to agents get resolved values too.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@vercel

vercel Bot commented Sep 3, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
docs Ready Ready Preview Sep 3, 2026 11:52pm UTC

Request Review

The pages implied the plugin needs no account at all, conflating "no API
key" with "no signup". An Arcade account is required; what is different
about this path is the timing. You install first, and the link your agent
hands you on its first app task both creates the account and authorizes
the app.

Adds "Claude Desktop" to the Vale vocabulary so the new page title stops
reading as stray capitalization.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@teallarson teallarson changed the title docs(agent-plugin): add install guides for the Arcade agent plugin DO NOT MERGE ME docs(agent-plugin): add install guides for the Arcade agent plugin Sep 3, 2026
… rollout

Corrects the sign-in story. An Arcade gateway authorizes on two layers and
the pages described only one, blurred together: signing in to the gateway
when your client connects, and authorizing each app when a task needs it.
Both are now named, with a link to the existing server-level vs tool-level
explainer, and the pages say plainly that tool calls, tokens, and secrets
route through your own project, isolated from other users of the same
gateway.

Removes "Verify the install per agent". Checking that a plugin loaded is
not something to do before trying it. The parts of that section that were
real install steps (the enable flags, the one-click gateway-only links,
the shared Codex/Copilot directories) moved into Install and a new
Tools only section.

Expands the component list into what each piece does for you, since naming
six things in one paragraph explained none of them.

Reframes the rollout page around the three questions a team has to answer
rather than three things the reader is told they want, with a matching
numbered list up front so the page survives skimming.

Drops "trial" throughout in favor of personal use; nothing here is time
limited.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
teallarson and others added 2 commits September 3, 2026 13:10
…ools-only

Claude Desktop ships as a downloadable .mcpb bundle, so the page now leads
with that download and keeps the custom-connector URL as the by-hand
alternative at the bottom. The bundle URL points at the latest GitHub
release and derives from the repo constant; confirm the asset filename once
a release publishes.

Renames "any MCP client" to "tools only", which is the actual distinction.
The old page sorted clients by whether they support plugins; readers care
whether they want the tools alone or the whole plugin. It now says what you
give up by skipping the skills, commands, and subagent, so the choice is
informed rather than a fallback.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
teallarson and others added 2 commits September 3, 2026 13:22
…s-only

Both pages describe the same thing, the gateway as a plain MCP server with
none of the plugin's skills, commands, or subagent. Sitting them beside
Overview implied they were alternative full installs. They are now children
of a Tools-only MCP server page that carries the shared concept, the
gateway URL, what you give up, and the two-layer sign-in, so each child is
just its install steps.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@teallarson teallarson changed the title DO NOT MERGE ME docs(agent-plugin): add install guides for the Arcade agent plugin [GRO-303] DO NOT MERGE ME docs(agent-plugin): add install guides for the Arcade agent plugin Sep 3, 2026

@torresmateo torresmateo left a comment

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.

I like these docs with a small caveat.

I think we're introducing two things that look very similar to MCP gateways and if you're not deep in the weeds of what's a plugin vs a gateway vs a server things can spiral very quickly.

On the overview page, I think we need a sentence on the plugin overview page that explains what it is as clearly as possible, telling users the things that are bundled at the beginning of that page.


Cursor and VS Code can add the gateway without editing any config:

- **Cursor:** use [this link]({{ARCADE_PLUGIN_CURSOR_INSTALL_LINK}}) for a one-click MCP install.

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.

non-blocking: perhaps we could reuse the component from the dashboard here with the client dropdown and only show the clients that support plugins?


Reload your agent afterwards if it does not pick up the plugin on its own. A couple of agents gate plugins behind a setting. Claude Code may ask you to enable it with `claude plugin`, and VS Code needs `chat.plugins.enabled` set to `true`.

Two things worth knowing if you use more than one agent. Codex and ChatGPT share a plugin directory, so one install covers both. And VS Code can discover a copy installed through GitHub Copilot CLI, so install in one place rather than both.

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.

Suggested change
Two things worth knowing if you use more than one agent. Codex and ChatGPT share a plugin directory, so one install covers both. And VS Code can discover a copy installed through GitHub Copilot CLI, so install in one place rather than both.
If you use more than one agent, you can install the plugin in one place. Codex and ChatGPT share a plugin directory, and VS Code can discover a copy installed through GItHub Copilot CLI.

(not sure if some meaning is lost in my version, feel free to ignore

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.

I think this sentence can just go away.


// todo: claude mcpb instructions

Using a client that does not load plugins? Those connect to the same gateway as a [tools-only MCP server](/get-started/agent-plugin/tools-only).

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.

nit: should we call it "tools-only Arcade bundle" here for consistency?

Comment thread app/en/get-started/agent-plugin/page.mdx Outdated
Comment on lines +85 to +94
| Agent | Tools | Skills | Subagent | Commands | Rule | Hooks |
| -------------------- | :------------: | :----: | :------: | :------: | :--: | :---: | --- | -------------- |
| Cursor | ✅ | 2 | ✅ | 3 | ✅ | ✅ |
| Claude Code | ✅ | 2 | ✅ | 3 | — | ✅ |
| Claude Cowork | ✅ | 2 | ✅ | 3 | — | ✅ |
| GitHub Copilot CLI | ✅ | 2 | ✅ | — | — | — |
| VS Code | ✅ | 2 | — | — | — | — |
| Codex and ChatGPT | ✅ | 2 | — | — | — | — |
| Any other MCP client | ✅ | — | — | — | — | — |
| // | Claude Desktop | ✅ | — | — | — | — | — | TODO: not true |

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.

nit: this table renders as text on the preview

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.

TY! I put a TODO in the middle of hte table and broke it 🤦‍♀️


Here is what each of those is for.

**Commands** are the part you type. `/arcade-status` reports whether the gateway is reachable, whether you have signed in, and which apps you have authorized. `/arcade-connect <app>` authorizes an app on demand, so you are not interrupted mid-task. `/arcade-apps` lists what you have connected and lets you disconnect one.

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.

suggestion: use the style we use on the CLI reference for these commands: https://docs-git-teal-gro-303-add-arcade-plugin-instal-8ebd0e-arcade-ai.vercel.app/en/references/arcade-cli

Comment thread app/en/get-started/agent-plugin/tools-only/page.mdx Outdated
teallarson and others added 2 commits September 3, 2026 19:48
Co-authored-by: Mateo Torres <mateo@arcade.dev>
Co-authored-by: Mateo Torres <mateo@arcade.dev>
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