Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 1 addition & 3 deletions app/_components/toolkit-docs/components/toolkit-page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -234,9 +234,7 @@ function BreadcrumbBar({
}) {
return (
<nav className="mb-6 flex flex-wrap items-center gap-2 text-muted-foreground text-sm">
<a className="hover:text-brand-accent" href="/en/resources">
Resources
</a>
<span>Resources</span>
<span className="text-muted-foreground/40">›</span>
<a className="hover:text-brand-accent" href="/en/resources/integrations">
Integrations
Expand Down
6 changes: 3 additions & 3 deletions app/en/get-started/about-arcade/page.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -43,19 +43,19 @@ With Arcade, developers can now create agents that can _act as the end users of

## Auth permissions and scopes

Each tool in Arcade's MCP servers has a set of required permissions - or, more commonly referred to in OAuth 2.0, **scopes**. For example, the [`Gmail.SendEmail`](/resources/integrations/productivity/gmail#gmailsendemail) tool requires the [`https://www.googleapis.com/auth/gmail.send`](https://developers.google.com/identity/protocols/oauth2/scopes#gmail) scope.
Each tool in Arcade's MCP servers has a set of required permissions - or, more commonly referred to in OAuth 2.0, **scopes**. For example, the [`Gmail.SendEmail`](/en/resources/integrations/productivity/gmail#gmailsendemail) tool requires the [`https://www.googleapis.com/auth/gmail.send`](https://developers.google.com/identity/protocols/oauth2/scopes#gmail) scope.

A scope is what the user has authorized someone else (in this case, the AI agent) to do on their behalf. In any OAuth 2.0-compatible service, each kind of action requires a different set of permissions. This gives the user fine-grained control over what data third-party services can access and what actions they can take in their accounts.

When an agent calls a tool, if the user has not granted the required permissions, Arcade Engine will automatically prompt the user to authorize the tool and coordinate the OAuth 2.0 flow with the service provider.

## How to implement OAuth 2.0-authorized tool calling

To learn how Arcade authorizes actions (tools) through OAuth 2.0 and how to implement auth flow, check out [Authorized Tool Calling](/guides/tool-calling/custom-apps/auth-tool-calling).
To learn how Arcade authorizes actions (tools) through OAuth 2.0 and how to implement auth flow, check out [Authorized Tool Calling](/en/guides/tool-calling/custom-apps/auth-tool-calling).

## Tools that don't require authorization

Some tools, like [`GoogleSearch.Search`](/resources/integrations/search/google_search#googlesearchsearch), allow AI agents to retrieve information or perform actions without needing user-specific authorization.
Some tools, like [`GoogleSearch.Search`](/en/resources/integrations/search/google_search#googlesearchsearch), allow AI agents to retrieve information or perform actions without needing user-specific authorization.

<Tabs items={["Python", "JavaScript"]} storageKey="preferredLanguage">
<Tabs.Tab>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ You will build an AG2 agent that uses Arcade tools to help users with Gmail and
<GuideOverview.Prerequisites>

- <DashboardLink path="register" />
- [Obtain an Arcade API key](/get-started/setup/api-keys)
- [Obtain an Arcade API key](/en/get-started/setup/api-keys)
- The [`uv` package manager](https://docs.astral.sh/uv/)

</GuideOverview.Prerequisites>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ You will build a CrewAI agent that uses Arcade tools to help users with Gmail an
<GuideOverview.Prerequisites>

- <DashboardLink path="register" />
- [Obtain an Arcade API key](/get-started/setup/api-keys)
- [Obtain an Arcade API key](/en/get-started/setup/api-keys)
- The [`uv` package manager](https://docs.astral.sh/uv/)

</GuideOverview.Prerequisites>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ description: "Integrate Arcade tools with Google ADK agents"
Choose your language to set up Arcade with Google ADK:

- **[Python setup](/en/get-started/agent-frameworks/google-adk/setup-python)** - Build an agent with Arcade tools using the `google-adk-arcade` package
- **[TypeScript setup](/get-started/agent-frameworks/google-adk/setup-typescript)** - Build an agent with Arcade tools using `@arcadeai/arcadejs`
- **[TypeScript setup](/en/get-started/agent-frameworks/google-adk/setup-typescript)** - Build an agent with Arcade tools using `@arcadeai/arcadejs`

## What you can build

Expand All @@ -24,4 +24,4 @@ With Arcade and Google ADK, your agents can:
- Search the web and extract content
- Access 7,000+ other integrations

Browse the [full MCP server catalog](/resources/integrations) to see all available tools.
Browse the [full MCP server catalog](/en/resources/integrations) to see all available tools.
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ uv add arcadepy google-adk

Provide your Arcade and Google API keys. You can store it in environment variables or directly in your code:

> Need an Arcade API key? Visit the [Get an API key](/get-started/setup/api-keys) page to create one.
> Need an Arcade API key? Visit the [Get an API key](/en/get-started/setup/api-keys) page to create one.

Create a new file called `.env` and add the following environment variables:

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ Build an agent that uses Arcade tools to help users with Gmail and Slack
<GuideOverview.Prerequisites>

- <DashboardLink path="register" />
- [Obtain an Arcade API key](/get-started/setup/api-keys)
- [Obtain an Arcade API key](/en/get-started/setup/api-keys)
- [Node.js](https://nodejs.org/) 18+ (includes npm) or [Bun](https://bun.sh/)
- A [Gemini API key](https://aistudio.google.com/apikey)

Expand Down Expand Up @@ -494,4 +494,4 @@ main().catch(console.error);

- Add more tools by modifying `MCP_SERVERS` and `INDIVIDUAL_TOOLS`
- Build multi-agent systems with different Arcade tools
- Explore [creating custom tools](/guides/create-tools/tool-basics/build-mcp-server) with the Arcade Tool SDK
- Explore [creating custom tools](/en/guides/create-tools/tool-basics/build-mcp-server) with the Arcade Tool SDK
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ In this guide, we'll show you how to authorize LangChain tools like the `GmailTo

### Prerequisites

- [Obtain an Arcade API key](/get-started/setup/api-keys)
- [Obtain an Arcade API key](/en/get-started/setup/api-keys)

### Install the required packages

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ description: "Integrate Arcade tools with LangChain agents"

Choose your language to set up Arcade with LangChain:

- **[Python setup](/get-started/agent-frameworks/langchain/use-arcade-with-langchain-py)** - Build an agent with Arcade tools using `langchain-arcade`
- **[TypeScript setup](/get-started/agent-frameworks/langchain/use-arcade-with-langchain-ts)** - Build an agent with Arcade tools using `@arcadeai/arcadejs`
- **[Python setup](/en/get-started/agent-frameworks/langchain/use-arcade-with-langchain-py)** - Build an agent with Arcade tools using `langchain-arcade`
- **[TypeScript setup](/en/get-started/agent-frameworks/langchain/use-arcade-with-langchain-ts)** - Build an agent with Arcade tools using `@arcadeai/arcadejs`

## What you can build

Expand All @@ -24,8 +24,8 @@ With Arcade and LangChain, your agents can:
- Search the web and extract content
- Access 7,000+ other integrations

Browse the [full MCP server catalog](/resources/integrations) to see all available tools.
Browse the [full MCP server catalog](/en/resources/integrations) to see all available tools.

## Advanced topics

- **[Authorizing existing tools](/get-started/agent-frameworks/langchain/auth-langchain-tools)** - Add Arcade authorization to your existing LangChain tools
- **[Authorizing existing tools](/en/get-started/agent-frameworks/langchain/auth-langchain-tools)** - Add Arcade authorization to your existing LangChain tools
6 changes: 3 additions & 3 deletions app/en/get-started/agent-frameworks/mastra/page.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -230,7 +230,7 @@ You might select your tools individually for a few reasons:
* **Cost** Each tool's schema consumes tokens. Loading all Gmail tools (~20 tools) uses more tokens than loading just the 3 you need. This matters for rate limits and cost.

<Callout type="info">
Browse the [complete MCP server catalog](/resources/integrations) to see available servers and their tools.
Browse the [complete MCP server catalog](/en/resources/integrations) to see available servers and their tools.
</Callout>

##### Arcade SDK functions
Expand Down Expand Up @@ -625,12 +625,12 @@ export const mastra = new Mastra({

## Next steps

- **Add more tools**: Browse the [tool catalog](/resources/integrations) and add tools for GitHub, Notion, Linear, and more.
- **Add more tools**: Browse the [tool catalog](/en/resources/integrations) and add tools for GitHub, Notion, Linear, and more.
- **Schedule your workflow**: Use a cron job or [Mastra's scheduling](https://mastra.ai/docs/workflows/scheduling) to run your email digest every morning.
- **Deploy to production**: Follow Mastra's [deployment guides](https://mastra.ai/docs/deployment/overview) to deploy your agent and workflows.

<Callout type="info">
**Building a multi-user app?** This tutorial uses a single `ARCADE_USER_ID` for simplicity. For production apps where each user needs their own OAuth tokens, see [Secure auth for production](/guides/user-facing-agents/secure-auth-production) to learn how to dynamically pass user IDs and handle per-user authorization.
**Building a multi-user app?** This tutorial uses a single `ARCADE_USER_ID` for simplicity. For production apps where each user needs their own OAuth tokens, see [Secure auth for production](/en/guides/user-facing-agents/secure-auth-production) to learn how to dynamically pass user IDs and handle per-user authorization.
</Callout>

## Complete code
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ The [OpenAI Agents SDK](https://openai.github.io/openai-agents-python/) provides

Choose your language to set up Arcade with OpenAI Agents:

- **[Python setup](/get-started/agent-frameworks/openai-agents/setup-python)** - Build a CLI agent with Arcade tools using the `agents-arcade` package
- **[TypeScript setup](/get-started/agent-frameworks/openai-agents/setup-typescript)** - Build an agent with Arcade tools using `@arcadeai/arcadejs`
- **[Python setup](/en/get-started/agent-frameworks/openai-agents/setup-python)** - Build a CLI agent with Arcade tools using the `agents-arcade` package
- **[TypeScript setup](/en/get-started/agent-frameworks/openai-agents/setup-typescript)** - Build an agent with Arcade tools using `@arcadeai/arcadejs`

## What you can build

Expand All @@ -24,4 +24,4 @@ With Arcade and OpenAI Agents, your agents can:
- Search the web and extract content
- Access 7,000+ other integrations

Browse the [full MCP server catalog](/resources/integrations) to see all available tools.
Browse the [full MCP server catalog](/en/resources/integrations) to see all available tools.
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ You will implement a CLI agent that can use Arcade tools to help the user with t
<GuideOverview.Prerequisites>

- <DashboardLink path="register" />
- [Obtain an Arcade API key](/get-started/setup/api-keys)
- [Obtain an Arcade API key](/en/get-started/setup/api-keys)
- The [`uv` package manager](https://docs.astral.sh/uv/)

</GuideOverview.Prerequisites>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ Build an agent that uses Arcade tools to help users with Gmail and Slack
<GuideOverview.Prerequisites>

- <DashboardLink path="register" />
- [Obtain an Arcade API key](/get-started/setup/api-keys)
- [Obtain an Arcade API key](/en/get-started/setup/api-keys)
- [Node.js](https://nodejs.org/) 18+ (includes npm) or [Bun](https://bun.sh/)

</GuideOverview.Prerequisites>
Expand Down Expand Up @@ -395,5 +395,5 @@ main().catch(console.error);

- Add more tools by modifying `MCP_SERVERS` and `INDIVIDUAL_TOOLS`
- Build a web interface using frameworks like Next.js or Express
- See the [Vercel AI SDK tutorial](/get-started/agent-frameworks/vercelai) or [TanStack AI tutorial](/get-started/agent-frameworks/tanstack-ai) for complete web chatbot examples
- Explore [creating custom tools](/guides/create-tools/tool-basics/build-mcp-server) with the Arcade Tool SDK
- See the [Vercel AI SDK tutorial](/en/get-started/agent-frameworks/vercelai) or [TanStack AI tutorial](/en/get-started/agent-frameworks/tanstack-ai) for complete web chatbot examples
- Explore [creating custom tools](/en/guides/create-tools/tool-basics/build-mcp-server) with the Arcade Tool SDK
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ Integrate Arcade's tool-calling capabilities into an application that uses an LL
<GuideOverview.Prerequisites>

- An <SignupLink linkLocation="docs:call-tools-directly">Arcade account</SignupLink>
- An [Arcade API key](/get-started/setup/api-keys)
- An [Arcade API key](/en/get-started/setup/api-keys)
- An [OpenRouter API key](https://openrouter.ai/docs/guides/overview/auth/provisioning-api-keys)
- The [`uv` package manager](https://docs.astral.sh/uv/getting-started/installation/)

Expand Down Expand Up @@ -106,7 +106,7 @@ OPENROUTER_MODEL=YOUR_OPENROUTER_MODEL
The `ARCADE_USER_ID` is the email address you used to sign up for Arcade. When
your app is ready for production, you can set this dynamically based on your
app's auth system. Learn more about how to achieve secure auth in production
[here](/guides/user-facing-agents/secure-auth-production).
[here](/en/guides/user-facing-agents/secure-auth-production).
</Callout>

<Callout type="info">
Expand Down Expand Up @@ -329,8 +329,8 @@ With the selection of tools above, you should be able to get the agent to effect

## Next Steps

- Learn more about using Arcade with a [framework](/get-started/agent-frameworks) or [MCP client](/get-started/mcp-clients).
- Learn more about how to [build your own MCP Servers](/guides/create-tools/tool-basics/build-mcp-server).
- Learn more about using Arcade with a [framework](/en/get-started/agent-frameworks) or [MCP client](/en/get-started/mcp-clients).
- Learn more about how to [build your own MCP Servers](/en/guides/create-tools/tool-basics/build-mcp-server).

## Example code

Expand Down
4 changes: 2 additions & 2 deletions app/en/get-started/agent-frameworks/springai/page.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -442,8 +442,8 @@ curl -X POST http://localhost:8080/api/chat \

## Next steps

1. **Add more tools**: Browse the [MCP server catalog](/resources/integrations) and add `@Tool` methods for GitHub, Google Docs, Notion, and more.
2. **Add user authentication**: In production, resolve `userId` from your authentication system instead of a static configuration property. See [Secure auth in production](/guides/user-facing-agents/secure-auth-production) for best practices.
1. **Add more tools**: Browse the [MCP server catalog](/en/resources/integrations) and add `@Tool` methods for GitHub, Google Docs, Notion, and more.
2. **Add user authentication**: In production, resolve `userId` from your authentication system instead of a static configuration property. See [Secure auth in production](/en/guides/user-facing-agents/secure-auth-production) for best practices.
3. **Stream responses**: Replace `.call()` with `.stream()` on the `ChatClient` to stream responses using [Server-Sent Events](https://docs.spring.io/spring-ai/reference/api/chatclient.html#_streaming_responses).

## Complete code
Expand Down
6 changes: 3 additions & 3 deletions app/en/get-started/agent-frameworks/tanstack-ai/page.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -355,7 +355,7 @@ export const Route = createFileRoute("/api/chat")({

<Callout type="info">
You can mix MCP servers (which give you all their tools) with individual
tools. Browse the [complete MCP server catalog](/resources/integrations) to
tools. Browse the [complete MCP server catalog](/en/resources/integrations) to
see what's available.
</Callout>

Expand Down Expand Up @@ -695,9 +695,9 @@ On first use, you'll see an authorization button. Click it to connect your Gmail

## Next steps

1. **Add more tools**: Browse the [MCP server catalog](/resources/integrations) and add tools for GitHub, Notion, Linear, and more.
1. **Add more tools**: Browse the [MCP server catalog](/en/resources/integrations) and add tools for GitHub, Notion, Linear, and more.
2. **Try different providers**: Swap `@tanstack/ai-openai` for `@tanstack/ai-anthropic` or `@tanstack/ai-gemini` to use different AI models.
3. **Add user authentication**: In production, get `userId` from your auth system instead of environment variables. See [Secure your server](/guides/create-tools/secure-your-server) for best practices.
3. **Add user authentication**: In production, get `userId` from your auth system instead of environment variables. See [Secure your server](/en/guides/create-tools/secure-your-server) for best practices.
4. **Deploy your chatbot**: TanStack Start supports deployment to Vercel, Netlify, Cloudflare, and Node.js servers.

## Complete code
Expand Down
6 changes: 3 additions & 3 deletions app/en/get-started/agent-frameworks/vercelai/page.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -171,7 +171,7 @@ IMPORTANT: When calling tools, if an argument is optional, do not set it. Never

<Callout type="info">
You can mix MCP servers (which give you all their tools) with individual
tools. Browse the [complete MCP server catalog](/resources/integrations) to
tools. Browse the [complete MCP server catalog](/en/resources/integrations) to
see what's available.
</Callout>

Expand Down Expand Up @@ -596,8 +596,8 @@ On first use, you'll see an authorization button. Click it to connect your Gmail

## Next steps

1. **Add more tools**: Browse the [MCP server catalog](/resources/integrations) and add tools for GitHub, Notion, Linear, and more.
2. **Add user authentication**: In production, get `userId` from your auth system instead of environment variables. See [Secure your server](/guides/create-tools/secure-your-server) for best practices.
1. **Add more tools**: Browse the [MCP server catalog](/en/resources/integrations) and add tools for GitHub, Notion, Linear, and more.
2. **Add user authentication**: In production, get `userId` from your auth system instead of environment variables. See [Secure your server](/en/guides/create-tools/secure-your-server) for best practices.
3. **Deploy to Vercel**: Push your chatbot to GitHub and [deploy to Vercel](https://vercel.com/docs/deployments/overview) with one click. Add your environment variables in the Vercel dashboard.

## Complete code
Expand Down
4 changes: 2 additions & 2 deletions app/en/get-started/mcp-clients/claude-code/page.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@ Connect Claude Code to an Arcade MCP Gateway using the Arcade Headers authentica
<GuideOverview.Prerequisites>

1. Create an <SignupLink linkLocation="docs:claude-code-client">Arcade account</SignupLink>
2. Get an [Arcade API key](/get-started/setup/api-keys)
3. Create an [Arcade MCP Gateway](/guides/mcp-gateways) and select the tools you want to use
2. Get an [Arcade API key](/en/get-started/setup/api-keys)
3. Create an [Arcade MCP Gateway](/en/guides/mcp-gateways) and select the tools you want to use

</GuideOverview.Prerequisites>
</GuideOverview>
Expand Down
4 changes: 2 additions & 2 deletions app/en/get-started/mcp-clients/claude-desktop/page.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -44,8 +44,8 @@ Connect Claude Desktop to an Arcade MCP Gateway.
<GuideOverview.Prerequisites>

1. Create an <SignupLink linkLocation="docs:claude-desktop-client">Arcade account</SignupLink>
2. Get an [Arcade API key](/get-started/setup/api-keys)
3. Create an [Arcade MCP Gateway](/guides/mcp-gateways) and select the tools you want to use
2. Get an [Arcade API key](/en/get-started/setup/api-keys)
3. Create an [Arcade MCP Gateway](/en/guides/mcp-gateways) and select the tools you want to use

</GuideOverview.Prerequisites>

Expand Down
4 changes: 2 additions & 2 deletions app/en/get-started/mcp-clients/copilot-studio/page.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,8 @@ Connect Microsoft Copilot Studio to an Arcade MCP Gateway.

1. A Microsoft 365 subscription with access to Copilot Studio
2. Create an <SignupLink linkLocation="docs:copilot-studio-client">Arcade account</SignupLink>
3. Get an [Arcade API key](/get-started/setup/api-keys)
4. Create an [Arcade MCP Gateway](/guides/mcp-gateways) and select the tools you want to use
3. Get an [Arcade API key](/en/get-started/setup/api-keys)
4. Create an [Arcade MCP Gateway](/en/guides/mcp-gateways) and select the tools you want to use

</GuideOverview.Prerequisites>

Expand Down
4 changes: 2 additions & 2 deletions app/en/get-started/mcp-clients/cursor/page.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@ Connect Cursor to an Arcade MCP Gateway.
<GuideOverview.Prerequisites>

1. Create an <SignupLink linkLocation="docs:claude-desktop-client">Arcade account</SignupLink>
2. Get an [Arcade API key](/get-started/setup/api-keys)
3. Create an [Arcade MCP Gateway](/guides/mcp-gateways) and select the tools you want to use
2. Get an [Arcade API key](/en/get-started/setup/api-keys)
3. Create an [Arcade MCP Gateway](/en/guides/mcp-gateways) and select the tools you want to use

</GuideOverview.Prerequisites>

Expand Down
2 changes: 1 addition & 1 deletion app/en/get-started/mcp-clients/page.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,6 @@ import { MCPClientGrid } from "./mcp-client-grid";

# Connect to MCP Clients

You can connect [Arcade MCP servers](/resources/integrations) to MCP-compatible clients and development environments to unlock powerful flows for your agents.
You can connect [Arcade MCP servers](/en/resources/integrations) to MCP-compatible clients and development environments to unlock powerful flows for your agents.

<MCPClientGrid />
Loading
Loading