> ## Documentation Index
> Fetch the complete documentation index at: https://docs.runlayer.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Runlayer Plugin

> Runlayer's unified MCP entrypoint for org-approved tools, skills, and connectors.

Runlayer Plugin is Runlayer's unified MCP entrypoint for your organization. Instead of asking users to install and manage many separate MCP servers, Runlayer Plugin gives them one standard connection that can discover and run the tools they already have access to in Runlayer.

It is designed for teams that want broad tool access without broad tool sprawl: one install surface for users, one governance layer for admins, and one place for models to discover what they can actually use.

## 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

Runlayer Plugin does not include:

* 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

<Note>
  Runlayer Plugin does not grant new permissions. It only exposes capabilities the user
  already has through Runlayer, and every tool execution still goes through the
  underlying connector's normal Runlayer controls.
</Note>

## 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 can search for the right tool when needed instead of carrying every tool definition in context
* Runlayer policies, approvals, OAuth checks, ToolGuard, and audit logs stay in the loop

## How tool discovery works

When a user connects Runlayer Plugin in their AI client, the model sees a compact interface instead of hundreds of raw tools.

Runlayer Plugin exposes two main meta-tools:

| Tool           | Purpose                                                           |
| -------------- | ----------------------------------------------------------------- |
| `search_tools` | Search across the user's accessible tools by describing the task. |
| `execute_tool` | Run a specific tool returned by `search_tools`.                   |

The normal flow is:

1. The model calls `search_tools` with the task it wants to accomplish.
2. Runlayer Plugin searches across the user's accessible connectors and returns relevant tool definitions.
3. The model calls `execute_tool` with the exact returned tool name and arguments.
4. 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`

Use `search_tools` before running connector tools.

Inputs:

| Argument | Required | Description                                                   |
| -------- | -------- | ------------------------------------------------------------- |
| `meta`   | Yes      | Why the model is searching. Use this for intent/context.      |
| `query`  | No       | Natural-language description of the capability needed.        |
| `top_k`  | No       | Number of results to return. Default is `5`, maximum is `10`. |

Results include the exact tool name, description, source connector name, and input schema.

Example:

```json theme={null}
{
  "meta": "Need to create a GitHub issue for the deployment bug",
  "query": "create GitHub issue",
  "top_k": 5
}
```

### `execute_tool`

Use `execute_tool` after selecting a tool from `search_tools` results.

Inputs:

| Argument    | Required | Description                                                                              |
| ----------- | -------- | ---------------------------------------------------------------------------------------- |
| `meta`      | Yes      | Why the model is executing this tool.                                                    |
| `tool_name` | Yes      | Exact tool name returned by `search_tools`.                                              |
| `arguments` | Yes      | JSON object matching the returned input schema. Use `{}` if the tool takes no arguments. |

Example:

```json theme={null}
{
  "meta": "Create the issue the user requested",
  "tool_name": "github_create_issue",
  "arguments": {
    "repo": "acme/app",
    "title": "Deployment bug",
    "body": "Deployment failed after the latest release."
  }
}
```

<Tip>
  If a model guesses a tool name, Runlayer Plugin returns a structured error with
  suggestions. The model should call `search_tools` again and use an exact name
  from the results.
</Tip>

## Skills and `/runlayer`

Runlayer Plugin install packages include a Runlayer skill that teaches supported clients how to use Runlayer Plugin.

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, and skills
* call `search_tools` before `execute_tool`
* avoid guessing tool names
* route external tool calls through Runlayer so security policies and audit logs remain in effect

In supported clients, this appears as an org-level `/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**: `execute_tool` delegates to the underlying connector proxy, so PBAC, ToolGuard, OAuth/session checks, and audit logging still apply.
* **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.

## Admin rollout options

Admins have three rollout paths, depending on the target clients.

| Rollout path          | Best for                                                 | What it configures                              |
| --------------------- | -------------------------------------------------------- | ----------------------------------------------- |
| Auto Sync             | Local desktop/editor clients managed by the Runlayer CLI | MCP config entry for Runlayer Plugin            |
| Anthropic org install | Claude admin plugin rollout                              | Claude plugin package with MCP config and skill |
| OpenAI org install    | ChatGPT organization rollout                             | ChatGPT connector plus uploaded Runlayer skill  |

Open the Runlayer Plugin page in Runlayer and click <strong>Add to Organization</strong>. Choose **Auto Sync**, **Anthropic**, or **OpenAI** in the dialog.

For Auto Sync setup and MDM deployment, see [Automatic Configuration Provisioning](/auto-provisioning).

## Anthropic org install

Use this flow when you want to install Runlayer Plugin through Claude admin plugin settings.

The downloaded `runlayer.zip` contains:

* `runlayer/.claude-plugin/plugin.json`
* `runlayer/.mcp.json`
* `runlayer/skills/runlayer/SKILL.md`

<Steps>
  <Step title="Download runlayer.zip">
    In Runlayer, open the Runlayer Plugin page, click <strong>Add to Organization</strong>, select <strong>Anthropic</strong>, and click <strong>Download zip</strong>.
  </Step>

  <Step title="Open Claude admin plugin settings">
    Go to <a href="https://claude.ai/admin-settings/plugins">Claude admin plugin settings</a> and click <strong>Add plugin</strong>.

    <img src="https://mintcdn.com/anysource/fZm77qITbGvJTaVc/images/onelayer-anthropic-install/step-1.png?fit=max&auto=format&n=fZm77qITbGvJTaVc&q=85&s=6674e55c4f4377dc60528b568a062634" alt="Claude admin plugin settings with the Add plugins button" width="2672" height="2396" data-path="images/onelayer-anthropic-install/step-1.png" />
  </Step>

  <Step title="Select Upload a file">
    Choose <strong>Upload a file</strong>.

    <img src="https://mintcdn.com/anysource/fZm77qITbGvJTaVc/images/onelayer-anthropic-install/step-2.png?fit=max&auto=format&n=fZm77qITbGvJTaVc&q=85&s=83bf016620a3479b65bf7d9baf9ba71d" alt="Claude add plugins dialog with Upload a file selected" width="2672" height="2396" data-path="images/onelayer-anthropic-install/step-2.png" />
  </Step>

  <Step title="Upload the zip">
    Select <code>runlayer.zip</code> and click <strong>Upload</strong>.

    <img src="https://mintcdn.com/anysource/fZm77qITbGvJTaVc/images/onelayer-anthropic-install/step-3.png?fit=max&auto=format&n=fZm77qITbGvJTaVc&q=85&s=babbf386087bfce0387cfa7f84243eb3" alt="Claude upload plugin dialog with runlayer.zip ready to upload" width="2672" height="2396" data-path="images/onelayer-anthropic-install/step-3.png" />
  </Step>

  <Step title="Require access">
    Change user access to <strong>Required</strong>.

    <img src="https://mintcdn.com/anysource/fZm77qITbGvJTaVc/images/onelayer-anthropic-install/step-4.png?fit=max&auto=format&n=fZm77qITbGvJTaVc&q=85&s=96e8d5848c281ce25dd7473593897a72" alt="Claude plugin settings with user access set to Required" width="2672" height="2396" data-path="images/onelayer-anthropic-install/step-4.png" />
  </Step>
</Steps>

## OpenAI org install

Use this flow when you want Runlayer Plugin available in ChatGPT for your organization.

The downloaded `runlayer.zip` contains:

* `runlayer/SKILL.md`
* `runlayer/agents/openai.yaml`
* `runlayer/assets/runlayer-logo.svg`

<Steps>
  <Step title="Open ChatGPT Admin Connectors settings">
    Go to <a href="https://chatgpt.com/admin/ca">ChatGPT Admin Connectors</a>, enable developer mode, and click <strong>Create</strong> in Apps and Connectors.
  </Step>

  <Step title="Create the MCP connector">
    Use the values shown in the Runlayer dialog:

    | Field          | Value                                                                                                                          |
    | -------------- | ------------------------------------------------------------------------------------------------------------------------------ |
    | Name           | `Runlayer Plugin`                                                                                                              |
    | Description    | `Unified MCP server that provides access to all your organization's connectors, skills, plugins, and Runlayer platform tools.` |
    | MCP Server URL | The URL shown in the Runlayer dialog                                                                                           |
    | Authentication | OAuth                                                                                                                          |

    Complete the OAuth authorization when prompted.
  </Step>

  <Step title="Publish the connector">
    Publish the connector so it is available to your organization.
  </Step>

  <Step title="Review risks and configure confirmation">
    Review potential risks, mark them as reviewed, and configure action confirmation. For read-only actions, select <strong>Allow read actions with no user confirmation</strong>, then save.
  </Step>

  <Step title="Upload the Runlayer skill">
    Click <strong>Download zip</strong> in the Runlayer dialog. Go to <a href="https://chatgpt.com/skills">chatgpt.com/skills</a>, click <strong>+ New skill</strong>, select <strong>Upload from your computer</strong>, and upload <code>runlayer.zip</code>.
  </Step>

  <Step title="Share the skill">
    Share the skill and set access to <strong>Installed for everyone</strong>.
  </Step>
</Steps>

## 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 `/runlayer` to list available skills for release management.”
* “Find the Salesforce tool for reading account details, then look up Acme.”

If the model cannot find a tool, ask it to search Runlayer Plugin first:

```text theme={null}
Search Runlayer Plugin for the tool you need before executing anything. Use the exact tool name from search results.
```

## Troubleshooting

<AccordionGroup>
  <Accordion title="Runlayer Plugin is connected, but search_tools returns no tools">
    The user may not have access to any active hosted connectors. Check connector status and policies for that user. Local connectors are not included in Runlayer Plugin.
  </Accordion>

  <Accordion title="A connector I expected is missing">
    Runlayer Plugin only includes active hosted connectors visible to the user through policy. Draft, disabled, local, or policy-blocked connectors will not appear as normal executable tools.
  </Accordion>

  <Accordion title="Runlayer Plugin asks me to authenticate a connector">
    The underlying connector requires user OAuth or another user-scoped authorization. Complete the authorization, then search again.
  </Accordion>

  <Accordion title="The model guessed a tool name and failed">
    Ask it to call `search_tools` first. Runlayer Plugin tool names must match the names returned by search results.
  </Accordion>

  <Accordion title="One connector is down, but others still appear">
    Runlayer Plugin is best-effort during discovery. If one connector times out or returns a non-auth error, Runlayer Plugin can still return tools from other available connectors.
  </Accordion>
</AccordionGroup>

## Related docs

<CardGroup cols={2}>
  <Card title="Plugins" icon="puzzle" href="/platform-plugins">
    Learn how dynamic tools work for Runlayer plugins.
  </Card>

  <Card title="Policies" icon="shield" href="/platform-policies">
    Control which users can access each connector and tool.
  </Card>

  <Card title="Audit Logs" icon="list" href="/platform-audit-logs">
    Review Runlayer Plugin and connector activity.
  </Card>
</CardGroup>
