What Runlayer Plugin Includes
Runlayer Plugin is a special Runlayer plugin that is built dynamically for each user. For each request, Runlayer builds that user’s Runlayer Plugin view from:- active hosted connectors the user can access through policies
- accessible Runlayer skills
- Runlayer platform tools exposed through the Runlayer MCP connector
- local connectors that run on a user’s machine
- draft or disabled connectors as normal executable tools
- connectors blocked by policy for that user
- tools the user could not use through the underlying connector directly
Why teams use it
Runlayer Plugin is useful when your team wants a default, opinionated way to use MCP safely at scale. Without it, users often end up with fragmented client setup, duplicate connectors, inconsistent tool availability, and unclear security boundaries. Runlayer Plugin fixes that by giving the organization a single approved surface for tool discovery and execution. In practice, that means:- admins can standardize the MCP experience across teams
- users get a simpler setup and fewer things to configure
- models get connector tools in the form best suited to their client’s discovery capabilities
- Runlayer policies, approvals, OAuth checks, ToolGuard, and audit logs stay in the loop
Find and connect Runlayer Plugin
Runlayer Plugin appears first in the default Plugins view. You can also reach it:- from the Add to Client flow for a connector or skill. When that connector or skill is included in Runlayer Plugin, Runlayer recommends the plugin before the direct, per-item setup instructions. Click Connect to open Runlayer Plugin with the same client selected.
- from the Connectors or Skills page. Select one or more items and click Add to Client, then choose Use the Runlayer Plugin to connect the organization-wide plugin.
uv: a client needs only the MCP URL and a sign-in. Of the options on this page, only Auto Sync and the native plugin install in Add to Client use the CLI. See Where the Runlayer CLI fits.
Admin rollout options
Give each supported AI client the same golden path to Runlayer. Enable Auto Sync for Runlayer Plugin, then complete the org install for every client your organization supports. Auto Sync keeps local client connections configured. Each org install adds the client-specific package or routing guidance.Auto Sync
Open the Runlayer Plugin page in Runlayer, click Add to Organization, and enable Auto Sync. This adds Runlayer Plugin to supported local clients, including Cursor. For setup, verification, and MDM deployment, see Automatic Configuration Provisioning.Org Installs
Complete the paths below for the clients your organization uses.Anthropic org install
Install the Runlayer Plugin package through Claude admin plugin settings. The downloadedrunlayer.zip contains:
runlayer/.claude-plugin/plugin.jsonrunlayer/.mcp.jsonrunlayer/skills/runlayer/SKILL.md
Download runlayer.zip
Open Claude admin plugin settings

Select Upload a file

Upload the zip
runlayer.zip and click Upload.
Add the connector
runlayer.zip again.Require access

Connect each user
OpenAI org install
Publish Runlayer Plugin and its skill to your ChatGPT organization. The downloadedrunlayer.zip contains:
runlayer/SKILL.mdrunlayer/agents/openai.yamlrunlayer/assets/runlayer-logo.svg
Open ChatGPT Admin Connectors settings
Create the MCP connector
Publish the connector
Review risks and configure confirmation
Upload the Runlayer skill
runlayer.zip.Share the skill
Cursor org install
Auto Sync connects Runlayer Plugin in Cursor. Add a companion persistent rule so Cursor Agent stays on the preferred path when native integrations or local CLIs are also available. For organization-wide rollout, create a Team Rule in the Cursor dashboard and enforce it if users should not be able to disable it. For a smaller rollout, add the instructions as a User Rule in Cursor → Customize → Rules or commit an always-applied project rule such as.cursor/rules/runlayer-routing.mdc.
For a project rule, start with:
How connector tools are presented
Runlayer Plugin remains one MCP connection, but it can present connector tools in two forms. Runlayer selects the form automatically based on the client’s discovery capabilities:FF_DISABLE=plugins-flat-mode; deployments still on WorkOS feature flags turn it on with FF_ENABLE=plugins-flat-mode.
To keep a client on nested presentation, send the X-Runlayer-Tool-Exposure: force-initial header with every request to the Runlayer Plugin. Use it for agent harnesses that load every listed tool definition up front, such as Claude Agent SDK or headless Claude Code runs with tool search disabled. For example, in an Agent SDK or .mcp.json HTTP server entry:
Nested connector discovery
Whensearch_tools and execute_tool are available, the connector flow is:
- The model calls
search_toolswith the task it wants to accomplish. - Runlayer Plugin searches across the user’s accessible connectors and returns relevant tool definitions.
- The model calls
execute_toolwith the exact returned tool name and arguments. - Runlayer routes the call to the underlying connector and applies the same policy, security, auth, and audit controls as a direct connector call.
search_tools searches connector tools and Runlayer platform tools that are not
advertised directly. Organization skills, agents, and artifacts never appear in its
results; models should use their dedicated top-level tools instead.search_tools
Use search_tools before execute_tool when Runlayer Plugin presents connector tools in nested form.
Inputs:
annotations object with those hints (readOnlyHint, destructiveHint, idempotentHint, openWorldHint). A client that should only call read-only tools can filter on annotations.readOnlyHint without listing every connector first. Hints come from the connector and aren’t enforced; use policies to block writes.
Example:
execute_tool
Use execute_tool after selecting a tool from search_tools results.
Inputs:
Skills tools
Runlayer Plugin also exposes dedicated tools for organization skills — reusable instructions, playbooks, SOPs, and checklists. These remain directly available regardless of how connector tools are presented:search_skills (or list_skills to browse) → get_skill → get_skill_file. Runlayer Plugin also exposes tools for creating, editing, and deleting skills when the user has access.
Because search_tools never returns skills, prompts and client instructions that want skills applied should direct the model at the skills tools, not at search_tools.
Agent tools
Runlayer Plugin exposes Runlayer agent tools directly as well. Uselist_agents to find a persistent agent, get_agent to inspect it, and run_agent to delegate work. Agent tools, including create_agent, update_agent, and delete_agent, do not go through search_tools or execute_tool.
Artifact tools
Runlayer Plugin exposes artifact tools directly, so a model can save a report, page, or file and hand back an authenticated Runlayer link:confirm=true.
Skills and /runlayer
Anthropic and OpenAI org-install packages include a Runlayer skill that teaches supported clients how to use Runlayer Plugin. The skill is also available as an optional personal download. Cursor has a companion routing rule. Auto Sync installs only the MCP connection.
New install packages expose the MCP server as runlayer-plugin. Older organization installs may still expose the same server as onelayer; those installs continue to work because the proxy URL and plugin identity are unchanged.
The skill tells the model to:
- use Runlayer Plugin as the default entrypoint for tools, plugins, skills, and agents
- call a directly advertised connector tool when available, or call
search_toolsbeforeexecute_toolwhen nested discovery is available - use
search_skillsorlist_skills, thenget_skillandget_skill_file, for workspace guidance - use
list_agents,get_agent, andrun_agentfor delegation - avoid guessing tool names
- route external tool calls through Runlayer so security policies and audit logs remain in effect
/runlayer skill so users can ask for Runlayer tools and skills without installing separate prompt packages manually.
Permissions and security
Runlayer Plugin keeps the same security model as direct connector usage.- User-scoped results: each user sees only hosted connectors and skills they can access.
- Policy-aware discovery: policy changes affect what appears in Runlayer Plugin on the next request.
- Normal execution path: direct connector tools and
execute_toolboth delegate to the underlying connector proxy, so PBAC, ToolGuard, OAuth/session checks, and audit logging still apply. - Platform tools follow policy too: skill, agent, and artifact tools, including the delete tools, run through the Runlayer MCP server’s normal proxy path and are allowed by default.
confirm=trueis set by the model, not by a person, so it is not an approval step. To restrict these tools, add a deny policy: org-wide with Block Destructive Tools, which matches the delete tools; only when an agent is acting, withmeta.actor.idregex.+; or only when reached through a plugin, withmeta.plugin.idregex.+.update_artifactandedit_artifactcan replace an artifact’s content but are not marked destructive, so deny them by name if you need to. - OAuth preserved: if a connector needs user authorization, Runlayer Plugin can surface an auth-required tool instead of silently hiding the connector.
- Partial results: if one connector is slow or temporarily unavailable, Runlayer Plugin can still return tools from other available connectors.
Unattended automation and scheduled jobs
Runlayer Plugin always works as a user: it serves the tools, skills and connector credentials of the person it authenticates. A scheduled job or a third-party automation tool can use it with no one at the keyboard, as long as it authenticates as a user and that user has already authorized the connectors the job needs.- Pick the user the automation runs as. For shared automation, use a dedicated account (for example a service account in your identity provider) rather than a person’s, so jobs don’t stop when someone leaves. Give it only the access the jobs need with policies; Runlayer Plugin shows it only what those policies allow, and every call is audited as that user.
- Authorize its connectors once. Sign in to Runlayer as that user, open Connectors, and click Connect on every OAuth connector the jobs call. Otherwise the first call returns an
AUTH_REQUIRED_<connector>tool or an authorization link instead of data, and an unattended job stalls there. See Authorizing at use time. - Authenticate the automation client in one of two ways:
-
Personal API key (no browser at all). While signed in as that user, create a key in Settings → Personal API keys, then send it in the
x-runlayer-api-keyheader tohttps://<your-runlayer-host>/mcp:Personal API keys don’t expire. They stop working when they’re revoked on the same settings page or when the user is deactivated. Organization API keys are rejected here with403 Organization API keys are not supported on this endpoint, because Runlayer Plugin needs a user. - OAuth once, then refresh. If the client supports MCP OAuth and stores its tokens, complete the browser sign-in once. Runlayer issues a 2-hour access token and a refresh token that stays valid for 30 days after its last use, so a job that runs at least once a month keeps working without a person. It has to sign in again only if the token goes unused for 30 days or the user is deactivated.
-
Personal API key (no browser at all). While signed in as that user, create a key in Settings → Personal API keys, then send it in the
403 Plugin proxy requires user context; call the connector URLs (/api/v1/proxy/{server_id}/mcp) or the agent-account endpoint (/api/v1/proxy/agent-account/{agent_account_id}/mcp) instead.User examples
Once Runlayer Plugin is connected, users can ask their AI client for work in normal language. Examples:- “Use Runlayer to find the right GitHub tool and create an issue for this bug.”
- “Search for Slack tools I can use, then summarize messages about the incident.”
- “Use
/runlayerto list available skills for release management.” - “Find the Salesforce tool for reading account details, then look up Acme.”
Turn it on in a Claude chat
On Claude on the web and in the desktop app, mentioning Runlayer in a prompt doesn’t switch the connector on. Claude only calls tools from connectors that are on for the current conversation.- Sign in once. In Claude, open Customize → Connectors and click Connect on the Runlayer connector.
- Check it’s on in the chat. Click + at the bottom left of the message box, open Connectors, and make sure the Runlayer connector is switched on. The switch is per conversation, so check it first when a chat can’t find Runlayer tools.
- Ask for the work. Naming Runlayer (or
/runlayer, where the org skill is installed) is optional, but it helps when another connector in the chat offers a similar tool.
/mcp to check that the Runlayer server is connected.
Troubleshooting
Runlayer Plugin is connected, but no connector tools are available
Runlayer Plugin is connected, but no connector tools are available
A connector I expected is missing
A connector I expected is missing
Runlayer Plugin asks me to authenticate a connector
Runlayer Plugin asks me to authenticate a connector
The model guessed a tool name and failed
The model guessed a tool name and failed
search_tools first when
nested discovery is available. Runlayer Plugin tool names must match the names
advertised directly or returned by search results.The model uses search_tools but never finds my skills
The model uses search_tools but never finds my skills
search_tools results. Ask the model to call
search_skills (or list_skills to browse), then get_skill, then
get_skill_file. If a skill is still missing, confirm the user has access to it
on the Skills page.One connector is down, but others still appear
One connector is down, but others still appear