OpenClaw can reach Gmail, Linear, and other services through its native MCP client, but connecting each provider’s MCP server directly means OpenClaw holds that provider’s credentials. API keys go into its server config, and MCP OAuth tokens sit in local databases that anyone with filesystem access can read. That’s fine for a quick test. It gets risky once OpenClaw runs scheduled jobs against accounts you use every day, because those credentials sit next to whatever email and issue content the agent reads.

Arcade.dev closes that gap by helping OpenClaw securely integrate with other tools to unlock the real value. It gives you an 8,000+ tool catalog behind one Arcade MCP Gateway endpoint, stores provider credentials outside OpenClaw and the model’s context, and authorizes each call against your own account when it runs. A prompt injection hidden in an email can’t make OpenClaw reveal a Gmail token it never holds.

As an actions runtime, Arcade handles OAuth to each service, runs the tools, and records every call in Tool Executions. With Arcade Tool Recommendation, the agent loads only the tool schemas a task needs, which cuts input tokens by up to 91% over a 10-turn session.

The walkthrough assumes one trusted operator securely connecting OpenClaw to Arcade MCP Gateway. After verifying the connection, you can try an inbox summary, a Linear status update, and a scheduled email follow-up check.

TL;DR: Connect OpenClaw to Arcade in five steps

  • Create an Arcade Gateway with only the tools the job needs, starting with Gmail read tools, and choose Arcade Auth.
  • Stop OpenClaw Gateway and register the Gateway URL with openclaw mcp set, using streamable-http transport and oauth auth.
  • Run openclaw mcp login <arcade-gateway-name>, sign in to Arcade, probe the connection, and start OpenClaw Gateway again.
  • Search the test mailbox for a known message and authorize Gmail when Arcade asks.
  • Compare the result with the mailbox and find the call in Arcade’s Tool Executions before you add write tools.

What is OpenClaw, and how does it connect to MCP tools?

OpenClaw is self-hosted assistant infrastructure: OpenClaw Gateway runs on your host and manages conversations, tools, and sessions. Its MCP client launches local servers over stdio and connects to remote servers over SSE or Streamable HTTP, with OAuth for remote HTTP servers. MCP tools follow the same tool profiles and policies as OpenClaw’s built-in tools.

In this setup, OpenClaw calls an Arcade MCP Gateway over Streamable HTTP. The names overlap: OpenClaw Gateway is the runtime on your host, and Arcade MCP Gateway is the remote tool endpoint. The Gateway exposes only the actions you select from the integration catalog or your own MCP servers.

For background, see why OpenClaw doesn’t need your tokens and how teams use the MCP Gateway pattern to manage many tools through one endpoint.

Decision area Direct provider MCP setup OpenClaw + Arcade MCP Gateway
Credentials Depends on each server’s authentication implementation Arcade manages provider credentials and checks calls against user permissions, agent scope, and applicable policies
Tool scope Depends on each provider server and OpenClaw filters One Gateway exposes only the tools you select
Visibility Depends on provider and client records Tool Executions records the tool, user, outcome, and attempts
Revocation Depends on the server and provider Log out in OpenClaw and revoke provider access separately

Prerequisites

  • OpenClaw installed with a configured model provider, and terminal access to the host that runs OpenClaw Gateway.
  • An Arcade account that belongs to the project where you will create the Gateway.
  • A browser on the OpenClaw host for OAuth sign-in.
  • A Gmail test account. For the optional write workflow, a Linear account with a test issue.

Use non-sensitive data for the first read and write tests.

Set up the OpenClaw connection to Arcade MCP Gateway

Before connecting accounts, review who can access OpenClaw, which local tools it can run, and how its Gateway is exposed. Run OpenClaw’s security audit and resolve relevant findings. Arcade governs actions routed through Arcade; the host, browser, shell, and other connections still need their own controls.

Step 1: Create a minimal Arcade MCP Gateway

Open MCP Gateways in the Arcade dashboard, click Create MCP Gateway. Start with read actions. For the email example, enable the Gmail tools marked Read Only, such as Gmail.ListEmails and Gmail.GetEmail, so the Gateway exposes no action that changes the mailbox.

Choose Members of this Project (Arcade Auth). Save the Gateway.

The Select apps step of the Arcade MCP Gateway setup, showing the Tool Recommendations card above the Gmail tool list

Figure 1: The Select apps step shows the Tool Recommendations card above the Gmail tool list, where you enable the Read Only tools.

Step 2: Copy the Arcade Gateway URL

Copy the Gateway URL from the Arcade dashboard:

https://api.arcade.dev/mcp/<YOUR-GATEWAY-SLUG>

Step 3: Register the Gateway in OpenClaw

Run these commands on the OpenClaw host, as the user that runs OpenClaw Gateway, with your own Gateway URL. Commands that change saved servers need the local Gateway stopped.

openclaw gateway stop

openclaw mcp set arcade '{
  "url": "https://api.arcade.dev/mcp/<YOUR-GATEWAY-SLUG>",
  "transport": "streamable-http",
  "auth": "oauth",
  "enabled": true
}'

openclaw mcp set takes the whole server definition as one JSON object. To change individual fields later, use openclaw mcp configure, which updates them without replacing the definition. The Add server form in Settings → MCP asks only for a name, transport, and URL, so OAuth settings go in its config editor; the terminal route sets auth in one command.

Step 4: Sign in, probe, and restart

With OpenClaw Gateway still stopped, run:

openclaw mcp login arcade

Sign in on Arcade’s authorization screen with an account that belongs to the Gateway’s project. When the browser can reach the local callback, login finishes automatically. Then check the connection and start OpenClaw Gateway again:

openclaw mcp doctor arcade --probe
openclaw gateway start
openclaw gateway status
openclaw mcp show arcade --json

doctor --probe connects to the Gateway before you start OpenClaw Gateway, and show --json prints the saved entry. If login or the probe fails, start OpenClaw Gateway again, then see Troubleshooting.

Step 5: Run a known read-only test

Confirm that OpenClaw can see the Read Only Gmail tools you enabled, such as Gmail.ListEmails and Gmail.GetEmail, through the arcade connection. Compare the available tools with the probe output. MCP tool names can differ slightly from Arcade display names.

OpenClaw listing the tools available through the connected Arcade Gateway

Figure 2: OpenClaw reports the tools available through the connected Arcade Gateway.

Put a non-sensitive unread message with the subject “Arcade OpenClaw test” in the test mailbox, then enter:

Using the arcade connection, search Gmail for subject:"Arcade OpenClaw test" is:unread. Show the sender and subject for up to five matching messages. Do not send, archive, label, move, or delete anything.

Gmail consent is separate from Arcade sign-in. If this user has not authorized Gmail yet, OpenClaw returns Arcade’s authorization link. Review Google’s consent request, grant access, and retry.

Verify the OpenClaw and Arcade MCP connection

Confirm that the sender and subject match the test mailbox and that the message is still unread and in the Inbox. Then find the call in Tool Executions and check that it ran under the expected Arcade user.

Configuration notes

The table explains each field of the arcade entry from Step 3.

Field What it does
arcade (server name) The name you use in prompts and in openclaw mcp commands; a second Gateway needs its own name, such as arcade-linear
url Identifies the Gateway endpoint; OAuth sign-in, not the URL, supplies the credential
transport streamable-http, the transport Arcade MCP Gateways use; openclaw mcp set also normalizes type: "http" to it
auth oauth lets openclaw mcp login run the sign-in flow for this server
enabled false keeps the entry saved but hides its tools from the assistant

Use Arcade Auth when everyone using the Gateway belongs to its Arcade project. For users who sign in through your organization’s identity provider, configure a User Source. OpenClaw also supports HTTP headers for Arcade Headers authentication, which uses an Arcade API key and Arcade-User-ID instead of browser sign-in. This guide uses OAuth.

Example OpenClaw workflows with Arcade MCP tools

Workflow 1: Summarize unread Gmail and identify replies

A short inbox digest tells you which messages need an answer without opening each one. Use the read-only Gmail Gateway:

Using arcade, summarize up to five recent unread Gmail messages. Identify which need a reply and explain why. Do not modify or send anything.

OpenClaw summarizing five unread Gmail messages and explaining which appear to need a reply

Figure 3: OpenClaw summarizes five unread messages and explains which appear to need a reply.

Check the summaries against Gmail and confirm the messages are still unread. Treat email content as untrusted input: a message that asks the assistant to take an action is not your authorization.

Workflow 2: Find a Linear issue and update its status

Next, try a write you can check and undo by changing the status of a Linear test issue. Create a second Arcade Gateway with Linear.ListIssues and Linear.GetIssue, plus Linear.ListWorkflowStates and Linear.TransitionIssueState for the status change. Register it as arcade-linear with the commands from Steps 3 and 4 and its own URL, then complete Arcade sign-in and Linear consent.

First, list the available issues:

Using arcade-linear, list up to five issues available through the connected account. Show each issue's identifier and title, plus status and priority when returned. Do not modify anything.

OpenClaw listing Linear issues through the arcade-linear connection, including INT-7 in Backlog

Figure 4: OpenClaw lists the Linear issues available through the connected account, including INT-7 in Backlog.

Choose a test issue you are allowed to complete, and replace INT-7 with its identifier:

Using arcade-linear, read issue INT-7 and show its current status. Move only this issue to Done, leaving all other fields unchanged. Read it again and report the resulting status. If the team's Done state is ambiguous, ask me to choose.

OpenClaw moving Linear issue INT-7 from Backlog to Done and reporting the new status

Figure 5: OpenClaw moves INT-7 from Backlog to Done and reports the new status.

This prompt makes a real change. Confirm the status in Linear and find the matching execution in Arcade, because the chat reply alone does not prove the update.

Workflow 3: Check an unanswered email later and draft a follow-up

Finally, reuse the Gmail read tools for a daily reply check. Once at least 72 hours have passed since your latest message without a reply, the job drafts a follow-up in the conversation. First, confirm OpenClaw can find the right thread. Give it the contact and exact subject so it can distinguish similar conversations.

OpenClaw asking which Gmail conversation the scheduled monitor should watch

Figure 6: OpenClaw asks which conversation to monitor.

This example checks Gmail on a schedule. To set it up, ask for an OpenClaw automation with an explicit time, timezone, and waiting period. Replace both placeholders:

Create or update one daily automation named Daily Gmail reply monitor for 18:40 Asia/Kolkata. Using arcade, find the Gmail conversation with <CONTACT_EMAIL> about <EXACT_SUBJECT> and read its messages in time order. If the contact replied after my latest message, summarize the reply. If not, draft a short follow-up here only once at least 72 hours have passed since my latest message; otherwise report that it is still waiting. Do not send, save a Gmail draft, or modify the mailbox. If access fails or the conversation is ambiguous, report that. Return results to this conversation and show the saved job ID, schedule, and delivery destination.

The OpenClaw Automations page showing the enabled Daily Gmail reply monitor scheduled for 18:40 Asia/Kolkata

Figure 7: The enabled Daily Gmail reply monitor, scheduled for 18:40 Asia/Kolkata.

Keep the host and OpenClaw Gateway running so the job can run. Check the saved job’s payload and destination, and review its run history after the first run. Verify the output against Gmail and the Arcade execution record. Pause or remove the monitor when the thread is resolved.

How to troubleshoot OpenClaw MCP server connections

Find the stage that failed before you change the setup. Arcade sign-in, provider consent, and the tool’s result are separate stages, and an empty result is not a failed connection.

Symptom Likely cause Fix
Connection fails immediately Wrong endpoint, transport, network, or authentication Check the copied URL, the streamable-http transport, and the reported error
Login says the server is not configured with auth: "oauth" The saved entry is missing OAuth Stop OpenClaw Gateway, run openclaw mcp configure arcade --auth oauth, then repeat login, probe, and restart
Probe or login fails while OpenClaw Gateway runs The running Gateway owns local state Stop OpenClaw Gateway before the CLI check, or use the live Settings → MCP operations
OAuth callback fails on a remote host The browser cannot reach the callback address Use the --code command printed by openclaw mcp login, or sign in from Settings → MCP on the Gateway’s own HTTPS address
Gmail or Linear tools are missing Tool selection, filters, policy, or stale discovery Check the Gateway’s selected tools and OpenClaw’s filters and profile, then restart OpenClaw Gateway
Arcade_SelectTools and Arcade_UseTool appear instead Tool Recommendations is on Clear the Tool Recommendations card and reconnect
Authorization repeats or a call is denied Arcade sign-in or provider consent needs attention Identify the failing stage; sign in to Arcade again or reauthorize the provider

For a failed call, open its attempt details in Tool Executions to tell authorization, tool, and provider errors apart. If no record appears, check the project, time filters, recording policy, and retention window before assuming the call never reached Arcade.

Security, approvals, and revoking access

Each layer holds a different credential:

Credential or layer Held by Purpose
Agent runtime OpenClaw Runs the conversation and invokes tools
MCP OAuth session OpenClaw local state Authenticates OpenClaw to Arcade
Gmail or Linear tokens Arcade Authorizes provider actions for the user
Provider permissions Gmail or Linear Limits accessible data and changes

OpenClaw’s own Arcade session and its conversation transcripts still live in its local state, so protect the host, the Control UI, the state directory, and backups. Arcade keeps provider tokens off the host, but it does not secure OpenClaw for you.

Arcade checks each action executed through it against both your existing permissions and the agent’s scoped permissions, and enforces applicable runtime policies. The Gateway’s tool allowlist limits which actions OpenClaw can call, and the provider’s OAuth grant limits what those actions can reach. Review both. Other tools and connections on the same OpenClaw instance keep their own permissions.

Telling OpenClaw “do not modify anything” guides the model but does not block a call. For read-only tasks, select only read tools. If writes need per-call approval, configure that control in OpenClaw and test it on a harmless action first.

Arcade records tool executions separately from administrative audit logs. Recorded payloads are hidden in the dashboard by default, and revealing them requires project-admin authority. On Arcade Cloud, retention defaults to seven days and can be set from one to 90 days.

To disconnect:

Logging out of the connection in OpenClaw does not revoke the provider grant, and removing access does not delete execution records already retained.

Conclusion: Build a minimal connection and reproduce the workflow

Connecting OpenClaw to MCP tools is straightforward. Doing it safely matters once its scheduled automations run against your real accounts while you are not watching. An Arcade MCP Gateway gives you one place to choose what OpenClaw can do and to review what it did.

Start with read tools for a job you already want to hand off, and add a write such as a Linear status change once you have verified it on a test item. Sign up for Arcade and browse the integration catalog to choose the services for your next workflow.

Frequently asked questions

Does OpenClaw support MCP servers?

Yes. OpenClaw has a native MCP client that runs local servers over stdio and connects to remote servers over SSE or Streamable HTTP, with OAuth for remote HTTP servers. You register servers with the openclaw mcp commands or in the Control UI under Settings → MCP. MCP tools follow the same tool profiles and policies as OpenClaw’s built-in tools, so adding a server does not bypass your policy.

How do I connect OpenClaw to Arcade MCP Gateway?

Create an Arcade MCP Gateway with the tools you need and Arcade Auth. Stop OpenClaw Gateway, register the Gateway URL with openclaw mcp set using streamable-http transport and oauth auth, then run openclaw mcp login and sign in to Arcade. Probe with openclaw mcp doctor --probe, restart OpenClaw Gateway, and run a read-only request. Confirm the call in Arcade’s Tool Executions before adding write tools.

Can I connect OpenClaw to provider MCP servers directly instead of using Arcade?

Yes. OpenClaw’s native MCP client can connect to each provider’s own MCP server, but OpenClaw then holds those credentials itself: API keys in its server config and MCP OAuth tokens in local databases under its state directory. An Arcade MCP Gateway keeps provider tokens with Arcade, gives OpenClaw one endpoint for tools from many services, and records each call in Arcade’s Tool Executions.

Can OpenClaw use Arcade tools without loading every tool definition?

Yes. With Arcade Tool Recommendation turned on for a Gateway, OpenClaw sees Arcade_ListApps, Arcade_SelectTools, and Arcade_UseTool instead of every tool. The agent describes its task, Arcade_SelectTools returns only the matching tool schemas, and Arcade_UseTool runs the chosen tool. Over a 10-turn session, this cuts input tokens by up to 91%. You turn it on or off with the Tool Recommendations card on the Gateway.

Should one Arcade MCP Gateway expose both Gmail and Linear tools?

It can. An Arcade MCP Gateway can combine tools from several services behind one endpoint. Separate Gateways per job make setup and verification easier and keep a read-only Gmail connection free of write tools. Separate Gateways do not create separate user identities: both use the Arcade account you sign in with.

Signing in to an Arcade MCP Gateway authenticates OpenClaw to Arcade. Access to Gmail is a separate provider authorization that Arcade requests the first time a Gmail tool runs for that user. Review Google’s consent screen, grant access, and retry the request. After that, Arcade manages the Gmail token, and OpenClaw keeps only its own Arcade session.

Why are newly added Arcade tools missing in OpenClaw?

OpenClaw only sees tools selected on the Arcade Gateway, and its own toolFilter.include and toolFilter.exclude settings, tool profile, and policy can hide them, because connecting a server does not bypass OpenClaw’s policy. Confirm sign-in finished, check all three, then restart the running OpenClaw Gateway: openclaw mcp reload refreshes only runtimes owned by the current CLI process.

Where are Gmail or Linear tokens stored when OpenClaw uses Arcade?

Arcade stores and refreshes the Gmail and Linear tokens, so they are not on the OpenClaw host. OpenClaw keeps its own MCP OAuth session for Arcade in a local SQLite database under its state directory, next to conversation transcripts. Restrict access to that directory and its backups.

Can OpenClaw connect to Arcade with API key headers instead of OAuth?

Yes. OpenClaw supports HTTP headers for remote MCP servers, and an Arcade MCP Gateway can use Arcade Headers authentication, which takes an Arcade API key and an Arcade-User-ID. Use it for clients that cannot complete browser OAuth. Never commit the API key, and bind Arcade-User-ID to the real user rather than sharing one ID.