Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
d1928d2
refactor: reorganize security docs into more logical locations
EricGustin Feb 25, 2026
37a2fef
fix: collapse redirect chain for home/build-tools/secure-your-mcp-server
EricGustin Feb 25, 2026
24edf7c
🤖 Regenerate LLMs.txt
github-actions[bot] Feb 25, 2026
f8067ef
Update app/en/references/changelog/page.mdx
EricGustin Feb 25, 2026
5ad8b43
Regenerate clean markdown files
github-actions[bot] Feb 25, 2026
c856181
Regenerate clean markdown files
github-actions[bot] Feb 25, 2026
54cfcc7
Regenerate clean markdown files
github-actions[bot] Feb 25, 2026
543859a
Regenerate clean markdown files
github-actions[bot] Feb 25, 2026
be9711b
fix: update broken security link in tanstack-ai guide
EricGustin Feb 25, 2026
82b6b07
Regenerate clean markdown files
github-actions[bot] Feb 25, 2026
cbaf661
Regenerate clean markdown files
github-actions[bot] Feb 25, 2026
3281fcd
Regenerate clean markdown files
github-actions[bot] Feb 25, 2026
2d883da
Regenerate clean markdown files
github-actions[bot] Feb 25, 2026
5be2ee5
revert: restore next-env.d.ts to production build path
EricGustin Feb 25, 2026
8bd12be
Regenerate clean markdown files
github-actions[bot] Feb 25, 2026
d45e00a
Regenerate clean markdown files
github-actions[bot] Feb 25, 2026
8c60b12
Regenerate clean markdown files
github-actions[bot] Feb 25, 2026
e453e79
Merge branch 'main' into ericgustin/reorg-security-docs
EricGustin Feb 26, 2026
c3ffdb0
Regenerate clean markdown files
github-actions[bot] Feb 26, 2026
18e0815
Regenerate clean markdown files
github-actions[bot] Feb 26, 2026
e6a110a
Regenerate clean markdown files
github-actions[bot] Feb 26, 2026
0614521
Regenerate clean markdown files
github-actions[bot] Feb 26, 2026
6dc9345
Regenerate clean markdown files
github-actions[bot] Feb 26, 2026
835081f
Regenerate clean markdown files
github-actions[bot] Feb 26, 2026
facb4fc
Regenerate clean markdown files
github-actions[bot] Feb 26, 2026
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
2 changes: 1 addition & 1 deletion app/en/get-started/agent-frameworks/tanstack-ai/page.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -697,7 +697,7 @@ On first use, you'll see an authorization button. Click it to connect your Gmail

1. **Add more tools**: Browse the [MCP server catalog](/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 [Security](/guides/security) for best practices.
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.
4. **Deploy your chatbot**: TanStack Start supports deployment to Vercel, Netlify, Cloudflare, and Node.js servers.

## Complete code
Expand Down
2 changes: 1 addition & 1 deletion app/en/get-started/agent-frameworks/vercelai/page.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -597,7 +597,7 @@ 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 [Security](/guides/security) for best practices.
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.
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
3 changes: 0 additions & 3 deletions app/en/guides/_meta.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,6 @@ export const meta: MetaRecord = {
"deployment-hosting": {
title: "Deployment & hosting",
},
security: {
title: "Security & Compliance",
},
};

export default meta;
3 changes: 3 additions & 0 deletions app/en/guides/create-tools/_meta.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,9 @@ export const meta: MetaRecord = {
title: "Handle errors",
href: "/guides/create-tools/error-handling",
},
"secure-your-server": {
title: "Secure your server",
},
"migrate-toolkits": {
title: "Migrate from toolkits to MCP servers",
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,8 @@ const meta: MetaRecord = {
index: {
title: "Overview",
},
"securing-arcade-mcp": {
title: "Securing Arcade MCP",
},
"secure-your-mcp-server": {
title: "Secure your MCP server",
},
"security-research-program": {
title: "Security research program",
title: "Add Resource Server auth",
},
};

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,4 @@ This approach is ideal when:

Resource Server auth works alongside tool-level authorization. Resource Server auth secures access to the MCP server itself, while tool-level auth enables your tools to access third-party APIs on behalf of the authenticated user.

Learn more about adding front-door OAuth to your MCP server [here](/guides/security/secure-your-mcp-server).

### Client ID Metadata Documents (Coming soon)

Coming soon, you will be able to secure your MCP server using Client ID Metadata Documents (CIMD) for authorization. Learn more about how MCP integrates with OAuth [here](https://blog.modelcontextprotocol.io/posts/client_registration/).
Learn more about adding front-door OAuth to your MCP server [here](/guides/create-tools/secure-your-server/secure-your-mcp-server).
15 changes: 0 additions & 15 deletions app/en/guides/security/page.mdx

This file was deleted.

2 changes: 1 addition & 1 deletion app/en/learn/server-level-vs-tool-level-auth/page.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ Arcade MCP servers support two distinct layers of authorization that work togeth

## Quick Comparison

| Aspect | [Resource Server Auth (Front-Door)](/guides/security/secure-your-mcp-server) | [Tool-Level Authorization](/guides/create-tools/tool-basics/create-tool-auth) |
| Aspect | [Resource Server Auth (Front-Door)](/guides/create-tools/secure-your-server/secure-your-mcp-server) | [Tool-Level Authorization](/guides/create-tools/tool-basics/create-tool-auth) |
| --------------------- | ---------------------------------------------------------------------------- | ----------------------------------------------------------------------------- |
| **What it secures** | Access to your MCP server | Access to third-party APIs |
| **Who authenticates** | The user calling your server | The user's access to external services |
Expand Down
2 changes: 1 addition & 1 deletion app/en/references/changelog/page.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,7 @@ _Here's what's new at Arcade.dev!_

**Arcade MCP Servers**

- `[feature - 🚀]` OAuth authentication for `arcade-mcp` servers. Learn more about it [here](/guides/security/secure-your-mcp-server!
- `[feature - 🚀]` OAuth authentication for `arcade-mcp` servers. Learn more about it [here](/guides/create-tools/secure-your-server/secure-your-mcp-server)
- `[maintenance - 🔧]` Ability to run multiple uvicorn workers
- `[maintenance - 🔧]` Include type annotations for `arcade_mcp_server`

Expand Down
3 changes: 3 additions & 0 deletions app/en/resources/_meta.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,9 @@ export const meta: MetaRecord = {
faq: {
title: "FAQ",
},
"security-research-program": {
title: "Security research program",
},
"contact-us": {
title: "Contact",
},
Expand Down
2 changes: 1 addition & 1 deletion app/en/resources/contact-us/contact-cards.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ export function ContactCards() {
/>
<QuickStartCard
description="Report security vulnerabilities responsibly. Learn about our security research program and disclosure process."
href="/guides/security/security-research-program"
href="/resources/security-research-program"
icon={Shield}
title="Security Research"
/>
Expand Down
25 changes: 24 additions & 1 deletion next.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,28 @@ const nextConfig: NextConfig = withLlmsTxt({
withNextra({
async redirects() {
return [
// Dissolved guides/security section
{
source: "/:locale/guides/security/security-research-program",
destination: "/:locale/resources/security-research-program",
permanent: true,
},
{
source: "/:locale/guides/security/securing-arcade-mcp",
destination: "/:locale/guides/create-tools/secure-your-server",
permanent: true,
},
{
source: "/:locale/guides/security/secure-your-mcp-server",
destination:
"/:locale/guides/create-tools/secure-your-server/secure-your-mcp-server",
permanent: true,
},
{
source: "/:locale/guides/security",
destination: "/:locale/guides/create-tools/secure-your-server",
permanent: true,
},
// Auto-added redirects for deleted pages
{
source: "/:locale/references/mcp/python/transports",
Expand Down Expand Up @@ -396,7 +418,8 @@ const nextConfig: NextConfig = withLlmsTxt({
},
{
source: "/:locale/home/build-tools/secure-your-mcp-server",
destination: "/:locale/guides/security/secure-your-mcp-server",
destination:
"/:locale/guides/create-tools/secure-your-server/secure-your-mcp-server",
permanent: true,
},
{
Expand Down
2 changes: 0 additions & 2 deletions public/_markdown/en/get-started/about-arcade.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,5 @@ const response = await client.tools.execute({
console.log(response.output.value);
```

Last updated on January 30, 2026

[Docs Home](/en/home.md)
[Get an API key](/en/get-started/setup/api-keys.md)
22 changes: 10 additions & 12 deletions public/_markdown/en/get-started/agent-frameworks.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,18 +12,16 @@ These guides are for developers building AI applications who need to connect Arc

## Agent Frameworks

[![Vanilla Python logo](/images/icons/python.svg) Vanilla Python MCP Client](/guides/agent-frameworks/setup-arcade-with-your-llm-python.md)
[![LangChain logo](/images/icons/langchain.svg) LangChain Agent Framework](/guides/agent-frameworks/langchain/use-arcade-tools.md)
[![CrewAI logo](https://avatars.githubusercontent.com/u/170677839?s=200&v=4) CrewAI Agent Framework](/guides/agent-frameworks/crewai/use-arcade-tools.md)
[![OpenAI Agents logo](https://avatars.githubusercontent.com/u/14957082?s=200&v=4) OpenAI Agents Agent Framework](/guides/agent-frameworks/openai-agents/overview.md)
[![Google ADK logo](https://avatars.githubusercontent.com/u/1342004?s=200&v=4) Google ADK Agent Framework](/guides/agent-frameworks/google-adk/overview.md)

[![LangChain logo](/images/icons/langchain.svg) LangChain Agent Framework](/guides/agent-frameworks/langchain/use-arcade-tools.md)
[![Google ADK logo](https://avatars.githubusercontent.com/u/1342004?s=200&v=4) Google ADK Agent Framework](/guides/agent-frameworks/google-adk/overview.md)
[![Mastra logo](/images/icons/mastra.svg) Mastra Agent Framework](/guides/agent-frameworks/mastra/overview.md)
[![Vercel AI logo](/images/icons/vercel.svg) Vercel AI Agent Framework](/guides/agent-frameworks/vercelai.md)

Last updated on January 30, 2026
[![CrewAI logo](https://avatars.githubusercontent.com/u/170677839?s=200&v=4) CrewAI Agent Framework](/en/get-started/agent-frameworks/crewai/use-arcade-tools.md)
[![Google ADK logo](https://avatars.githubusercontent.com/u/1342004?s=200&v=4) Google ADK Agent Framework](/en/get-started/agent-frameworks/google-adk/setup-python.md)
[![LangChain logo](/images/icons/langchain.svg) LangChain Agent Framework](/en/get-started/agent-frameworks/langchain/use-arcade-with-langchain-py.md)
[![OpenAI Agents logo](https://avatars.githubusercontent.com/u/14957082?s=200&v=4) OpenAI Agents Agent Framework](/en/get-started/agent-frameworks/openai-agents/setup-python.md)
[![Vanilla Python logo](/images/icons/python.svg) Vanilla Python MCP Client](/en/get-started/agent-frameworks/setup-arcade-with-your-llm-python.md)

[![LangChain logo](/images/icons/langchain.svg) LangChain Agent Framework](/en/get-started/agent-frameworks/langchain/use-arcade-with-langchain-ts.md)
[![Google ADK logo](https://avatars.githubusercontent.com/u/1342004?s=200&v=4) Google ADK Agent Framework](/en/get-started/agent-frameworks/google-adk/setup-typescript.md)
[![Mastra logo](/images/icons/mastra.svg) Mastra Agent Framework](/en/get-started/agent-frameworks/mastra.md)
[![Vercel AI logo](/images/icons/vercel.svg) Vercel AI Agent Framework](/en/get-started/agent-frameworks/vercelai.md)

[Build an MCP server for custom tools](/en/get-started/quickstarts/mcp-server-quickstart.md)
[Setup Arcade with your LLM (Python)](/en/get-started/agent-frameworks/setup-arcade-with-your-llm-python.md)
Original file line number Diff line number Diff line change
Expand Up @@ -526,7 +526,5 @@ if __name__ == "__main__":



Last updated on February 10, 2026

[Setup Arcade with your LLM (Python)](/en/get-started/agent-frameworks/setup-arcade-with-your-llm-python.md)
[Overview](/en/get-started/agent-frameworks/google-adk/overview.md)
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,5 @@ With Arcade and Google ADK, your can:

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

Last updated on January 30, 2026

[Custom auth flow](/en/get-started/agent-frameworks/crewai/custom-auth-flow.md)
[Setup Arcade tools with CrewAI](/en/get-started/agent-frameworks/crewai/use-arcade-tools.md)
[Setup (Python)](/en/get-started/agent-frameworks/google-adk/setup-python.md)
Original file line number Diff line number Diff line change
Expand Up @@ -734,7 +734,5 @@ if __name__ == '__main__':
asyncio.run(main())
```

Last updated on February 10, 2026

[Overview](/en/get-started/agent-frameworks/google-adk/overview.md)
[Setup (TypeScript)](/en/get-started/agent-frameworks/google-adk/setup-typescript.md)
Original file line number Diff line number Diff line change
Expand Up @@ -476,7 +476,5 @@ main().catch(console.error);
- Explore [creating custom tools](/guides/create-tools/tool-basics/build-mcp-server.md)
with the Arcade SDK

Last updated on February 10, 2026

[Setup (Python)](/en/get-started/agent-frameworks/google-adk/setup-python.md)
[Overview](/en/get-started/agent-frameworks/langchain/overview.md)
Original file line number Diff line number Diff line change
Expand Up @@ -213,7 +213,5 @@ for await (const event of events) {

Now you’re ready to explore more LangChain tools with Arcade. Try integrating additional Servers and crafting more complex queries to enhance your AI workflows.

Last updated on February 10, 2026

[Setup (TypeScript)](/en/get-started/agent-frameworks/langchain/use-arcade-with-langchain-ts.md)
[Mastra](/en/get-started/agent-frameworks/mastra.md)
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,5 @@ Browse the [full MCP server catalog](/resources/integrations.md) to see all avai
- **[Authorizing existing tools](/get-started/agent-frameworks/langchain/auth-langchain-tools.md)
** - Add Arcade authorization to your existing LangChain

Last updated on February 10, 2026

[Setup (TypeScript)](/en/get-started/agent-frameworks/google-adk/setup-typescript.md)
[Setup (Python)](/en/get-started/agent-frameworks/langchain/use-arcade-with-langchain-py.md)
Original file line number Diff line number Diff line change
Expand Up @@ -857,7 +857,5 @@ if __name__ == "__main__":
asyncio.run(main())
```

Last updated on January 30, 2026

[Overview](/en/get-started/agent-frameworks/langchain/overview.md)
[Setup (TypeScript)](/en/get-started/agent-frameworks/langchain/use-arcade-with-langchain-ts.md)
Original file line number Diff line number Diff line change
Expand Up @@ -744,7 +744,5 @@ main().catch((err) => console.error(err));
```


Last updated on January 30, 2026

[Setup (Python)](/en/get-started/agent-frameworks/langchain/use-arcade-with-langchain-py.md)
[Authorizing Existing Tools](/en/get-started/agent-frameworks/langchain/auth-langchain-tools.md)
2 changes: 0 additions & 2 deletions public/_markdown/en/get-started/agent-frameworks/mastra.md
Original file line number Diff line number Diff line change
Expand Up @@ -960,7 +960,5 @@ emailDigestWorkflow.commit();
export { emailDigestWorkflow };
```

Last updated on January 30, 2026

[Authorizing Existing Tools](/en/get-started/agent-frameworks/langchain/auth-langchain-tools.md)
[Overview](/en/get-started/agent-frameworks/openai-agents/overview.md)
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,5 @@ With Arcade and OpenAI , your agents can:

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

Last updated on January 30, 2026

[Mastra](/en/get-started/agent-frameworks/mastra.md)
[Setup (Python)](/en/get-started/agent-frameworks/openai-agents/setup-python.md)
Original file line number Diff line number Diff line change
Expand Up @@ -559,7 +559,5 @@ if __name__ == "__main__":
asyncio.run(main())
```

Last updated on February 10, 2026

[Overview](/en/get-started/agent-frameworks/openai-agents/overview.md)
[Setup (TypeScript)](/en/get-started/agent-frameworks/openai-agents/setup-typescript.md)
Original file line number Diff line number Diff line change
Expand Up @@ -462,7 +462,5 @@ if __name__ == "__main__":
chat()
```

Last updated on January 30, 2026

[Overview](/en/get-started/agent-frameworks.md)
[Using Arcade tools](/en/get-started/agent-frameworks/crewai/use-arcade-tools.md)
[Setup Arcade tools with CrewAI](/en/get-started/agent-frameworks/crewai/use-arcade-tools.md)
Original file line number Diff line number Diff line change
Expand Up @@ -662,7 +662,7 @@ On first use, you’ll see an authorization button. Click it to connect your Gma
1. **Add more **: Browse the [MCP server catalog](/resources/integrations.md)
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 authentication**: In production, get `userId` from your auth system instead of environment variables. See [Security](/guides/security.md)
3. **Add authentication**: In production, get `userId` from your auth system instead of environment variables. See [Secure your server](/guides/create-tools/secure-your-server.md)
for best practices.
4. **Deploy your chatbot**: TanStack Start supports deployment to Vercel, Netlify, Cloudflare, and Node.js servers.

Expand Down
6 changes: 3 additions & 3 deletions public/_markdown/en/get-started/agent-frameworks/vercelai.md
Original file line number Diff line number Diff line change
Expand Up @@ -578,7 +578,7 @@ On first use, you’ll see an authorization button. Click it to connect your Gma

1. **Add more **: Browse the [MCP server catalog](/resources/integrations.md)
and add tools for GitHub, Notion, Linear, and more.
2. **Add authentication**: In production, get `userId` from your auth system instead of environment variables. See [Security](/guides/security.md)
2. **Add authentication**: In production, get `userId` from your auth system instead of environment variables. See [Secure your server](/guides/create-tools/secure-your-server.md)
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.
Expand Down Expand Up @@ -943,7 +943,7 @@ export default function Chat() {
}
```

Last updated on January 30, 2026
Last updated on February 10, 2026

[Setup Arcade with OpenAI Agents SDK](/en/get-started/agent-frameworks/openai-agents/use-arcade-with-openai-agents.md)
[TanStack AI](/en/get-started/agent-frameworks/tanstack-ai.md)
[Overview](/en/get-started/mcp-clients.md)
2 changes: 0 additions & 2 deletions public/_markdown/en/get-started/mcp-clients.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,5 @@ You can connect [Arcade MCP servers](/resources/integrations.md) to \-compatible
[![Visual Studio Code logo](/images/icons/vscode.svg) Visual Studio Code Microsoft's code editor with MCP extensions](/guides/tool-calling/mcp-clients/visual-studio-code.md)
[![Microsoft Copilot Studio logo](/images/icons/microsoft-copilot-studio.png) Microsoft Copilot Studio Microsoft's AI agent platform with MCP integration](/guides/tool-calling/mcp-clients/copilot-studio.md)

Last updated on January 30, 2026

[Vercel AI SDK](/en/get-started/agent-frameworks/vercelai.md)
[Cursor](/en/get-started/mcp-clients/cursor.md)
2 changes: 0 additions & 2 deletions public/_markdown/en/get-started/mcp-clients/claude-desktop.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,5 @@ In this configuration pane, you can configure which tools are available to Claud

You can now open a new chat within Claude Desktop. Ensure that your connector is enabled, and the ask the to use a !

Last updated on January 30, 2026

[Cursor](/en/get-started/mcp-clients/cursor.md)
[Visual Studio Code](/en/get-started/mcp-clients/visual-studio-code.md)
2 changes: 0 additions & 2 deletions public/_markdown/en/get-started/mcp-clients/copilot-studio.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,5 @@ Arcade provides just-in-time authorization. When you use a that requires access

![Step 4: Chat with your agent using Arcade tools](/_next/image?url=%2Fimages%2Fmcp-gateway%2Fcopilot-studio%2Fstep-4.png&w=1920&q=75)

Last updated on January 30, 2026

[Visual Studio Code](/en/get-started/mcp-clients/visual-studio-code.md)
[Overview](/en/resources/integrations.md)
2 changes: 0 additions & 2 deletions public/_markdown/en/get-started/mcp-clients/cursor.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,5 @@ Cursor will open the settings file, and you can add a new entry to the `mcpServ
2. Make sure you are in mode
3. Ask the to use a !

Last updated on January 30, 2026

[Overview](/en/get-started/mcp-clients.md)
[Claude Desktop](/en/get-started/mcp-clients/claude-desktop.md)
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,5 @@ Note: if you are using the Arcade Header auth mode for your Gateway, you will m

You will not see the authentication prompts when you start the Server in Visual Studio Code because the is passed directly.

Last updated on January 30, 2026

[Claude Desktop](/en/get-started/mcp-clients/claude-desktop.md)
[Microsoft Copilot Studio](/en/get-started/mcp-clients/copilot-studio.md)
Loading