---
title: Plugins, connectors and skills
description: Connect services in one click, add an MCP server or your company's own servers, upload skills, and choose which workspaces use each.
new_in: "3.5"
---

**Plugins** are what Ysra can reach beyond your files and integrations:
connectors to services, MCP servers you add by address, and skills. Use them
when a question or a job needs a service such as Linear, Notion or Microsoft
365, or when a cloud run should follow your own instructions. This page is
for anyone connecting a service: it covers each kind, what Ysra may do with
and without asking, and signing out.

## Where plugins live

**Settings → Plugins** (“Manage connectors, MCP servers and skills.”) is the
same page in the web app and the desktop app, with three tabs:

| Tab | What it holds | Used in |
|---|---|---|
| **Connectors** | Services Ysra connects to in one click, and your company's own servers | Ask, Workers, runs in Ysra's cloud |
| **MCP servers** | Any other server you add by its address | Ask, Workers, runs in Ysra's cloud |
| **Skills** | Instructions, with scripts and data if you like | Runs in Ysra's cloud |

## Plugins and workspaces

With more than one workspace, **Settings → Plugins** lists the plugins of the
workspace you have open. Switch workspaces and the list follows.

| You see | What it means |
|---|---|
| A plugin with no badge | Used only in this workspace: “Only threads, Experts and Workers in this workspace use it.” |
| **All workspaces** | Used in every workspace: “Every workspace’s threads, Experts and Workers use it.” |
| **Show plugins from other workspaces** | Switch it on to list, dimmed, the plugins kept to another workspace, each with its workspace’s name. Open one to change where it is used or to remove it. |

A plugin's page has **Use in**: **This workspace** or **All workspaces**. A
plugin you connect or add is used in the workspace you are in.

When your workspace has members, the person who added a plugin can turn on
**Share with this workspace** so the workspace's members use it too; everyone
then sees a **Shared with this workspace** badge. Mail and calendar plugins
stay personal. See [Members and roles](../workspace/organisation.md#workspace-members).

Connecting the same service in another workspace keeps a separate
connection. Each workspace can use a different account of that service, for
example a client's own Linear in that client's workspace.

## Connect a service from the directory

<div class="steps" markdown>

### Open the directory

In **Settings → Plugins**, choose **Browse directory**: “Services Ysra
connects to in one click. Tools that change things stay off until you allow
them.” Search it, or pick a category.

### Connect

Choose **+** on the service, or open it and choose **Connect**. Most services
open their own page: sign in there and allow Ysra. The page closes itself, and
the service shows **Connected**.

### Ask with @

In Ask, mention the service by name:

```text
@linear What's assigned to me and due this week?
```

The service's page lists a few questions under **Try asking**; choose one to
ask it.

</div>

### What's in the directory

About thirty services, including:

| Category | Services |
|---|---|
| Project management | Linear, Jira, monday.com |
| Docs & knowledge | Notion |
| Communication | Slack, Gmail |
| Productivity | [Microsoft 365](microsoft-365.md) |
| Engineering | GitHub, GitLab, Netlify, Supabase, Microsoft Learn |
| Design | Figma, Canva, Webflow |
| Data | Airtable |
| Sales & CRM | HubSpot |
| Customer support | Intercom |
| Payments | PayPal, Square |
| Automation | Zapier |
| AI & research | Hugging Face, Context7, Cloudflare Docs |

**Browse directory** always shows the full, current list. A service marked
**Coming soon** isn't ready to connect yet. Some services need no sign-in,
such as Microsoft Learn or Hugging Face: they search public documentation and
catalogues.

### Slack and Jira: two parts

Slack and Jira each have two parts on their page, connected separately:

| Part | What it does |
|---|---|
| **Company search** | “Ysra keeps your Slack searchable in Ask.” The synced integration: see [Slack](slack.md) and [Jira](jira.md). |
| **Live actions** | “Search, read and post as you, live. Posting and changes are approved on a card first.” **@slack** covers Slack; **@jira** covers Jira and Confluence. |

## Connect your company's own server

Some services run at your company's own address:

| Service | What it gives Ysra |
|---|---|
| ServiceNow | Incidents, changes and requests in your instance |
| Jenkins | Jobs, builds and their logs |
| JFrog | Artifactory repositories, packages and builds |
| Splunk | Your logs and alerts |
| Snowflake | Queries on your data, through its managed server |
| Azure DevOps | Work items, repos and pipelines |

<div class="steps" markdown>

### Open the service in the directory

Its page says what the company's admin turns on first, for example “Your
ServiceNow admin turns on its MCP server and gives you its address.”

### Enter the address

Enter that address, and a token if the server needs one.

### Connect

Choose **Connect**.

</div>

## Add any MCP server

For a server that isn't in the directory, choose **Add → Add custom MCP
server**, fill in the form, then **Save** or **Save and sign in**:

| Field | What to enter |
|---|---|
| **Name** | Lowercase letters, digits, dashes or underscores. It is how you mention it: `@my-server` |
| **Address** | The server's address, starting with `https://` |
| **Sign-in** | **None** (“The server needs nothing.”), **Token** (“A header with a token, written once and never shown again.”), or **Sign in with the service** (“You approve Ysra on the service's own page.”) |
| **Allow changes in Code** | Off by default. See [What Ysra may do with it](#changes-are-always-approved) |
| **Share with your team** | Shown to owners and admins: “Everyone in your organisation can use it; only owners and admins can change it.” |

Ysra calls the server from its own cloud: nothing is installed on your
computer. A token is never shown again after you save it. Changing a server's
address removes its token or its sign-in: add it again after saving.

## What Ysra may do with it { #changes-are-always-approved }

Each server's page lists its **Tools** in two groups:

- **Reads**: “Always used.” A tool is here when the server says it only
  reads, or when you mark it **Only reads**. Check the ticks, then save.
- **Changes**: everything else.

| Where | A tool that reads | A tool that changes something |
|---|---|---|
| **Ask** | Used as it is | **Needs your approval**: it never runs during the answer; it becomes a card showing exactly what will happen, and runs only after **Approve** |
| **A Worker** | Used when the Worker's switch for reading tools is on | Only if ticked for that Worker, set to **Asks first** (needs approval) or **Runs on its own (logged in the run)** |
| **Code** | Used as it is | Not offered, unless **Allow changes in Code** is on; then it runs **without asking** |
| **A review** | Used as it is | Never |

**Allow changes in Code**: “In Ask, Ysra can always propose a change and you
approve each one. This lets Code runs make changes in this service without
asking.”

!!! warning "Allow changes in Code skips approval"
    With it on, a Code run can send or change things in that service without
    a card. Leave it off unless the service is one Code should change freely.

See [Changes in a connected service](../knowledge/actions.md#changes-in-a-connected-service)
and [Start a Worker from Ask](../workers/create.md).

<!-- media: plugin-approve | A change from an @-mentioned connector shown as a card under the answer, then Approve | Ask "@linear move ENG-12 to Done" → card under the answer → Approve → result line -->

## Skills

A **skill** is a set of instructions Ysra follows for one kind of work,
written in a `SKILL.md` file and used in your runs in Ysra's cloud. Under
**Add**:

| Option | What it uploads |
|---|---|
| **Upload a skill** | One `SKILL.md` |
| **Upload a skill folder** | A folder, or a `.zip`, with `SKILL.md` at its top and the scripts or reference files it uses |
| **Upload my local skills** (desktop app) | The skills already on this computer, in `~/.ysra/skills` |

| Limit | Value |
|---|---|
| Zipped | 5 MB |
| Unpacked | 20 MB |
| Files | 300 |

A skill's files go only into your own cloud runs. Each skill has a switch to
turn it off without removing it.

### Skills and plugins from your other tools { #skills-and-plugins-from-your-other-tools }

On your computer, Code threads in the desktop app, the CLI and VS Code can
use the skills, MCP servers and hooks you installed for other coding tools.
Ysra asks before it uses one for the first time, and again only when it
changes in a way you didn't approve.

| What changed | What Ysra does |
|---|---|
| A plugin you approved updated its own skills | Uses the new versions, with a quiet line saying so. No question |
| A new skill, or one edited by hand | Asks once per change: “These changed outside their plugin. Use the new versions?”, grouped by where they come from. **Use them** or **Not now** |
| Nothing changed | Nothing is asked, even when you switch between the desktop app, the CLI and VS Code |

**Not now** leaves the changed ones out of your threads, and Ysra doesn't ask
again about the same change for a while.

## Sign out and remove

On a service's page, the **⋯** menu has:

| Choice | What happens |
|---|---|
| **Sign out** | Keeps the service, ends Ysra's sign-in. |
| **Remove** | Removes the service. |

A server shared with your team can be changed only by the organisation's
owner or an admin.

## If it doesn't work

### A service shows Coming soon

**Why:** it isn't ready to connect yet.
**What to do:** use another route if one exists (for Slack, Jira and Gmail,
see [Integrations](index.md)).

### A plugin is missing from the list

**Why:** it is used in another workspace only.
**What to do:** switch on **Show plugins from other workspaces**, open it and
set **Use in** to **All workspaces**, or connect it again in this workspace.

### A custom server stopped connecting after an edit

**Why:** changing a server's address removes its token or sign-in.
**What to do:** add the token again, or choose **Save and sign in**.

### A Code run didn't use a tool that changes things

**Why:** **Allow changes in Code** is off for that server.
**What to do:** ask for the change in Ask and approve its card, or switch the
setting on.

### You can't edit a shared server

**Why:** only owners and admins can change a server shared with the team.
**What to do:** ask an owner or admin of the organisation.

For other symptoms, see [Troubleshooting](../resources/troubleshooting.md#integrations-and-plugins).

## Related

- [Microsoft 365](microsoft-365.md) — mail, calendar, files and Teams.
- [Actions and approvals](../knowledge/actions.md) — how approval cards work in Ask.
- [Integrations](index.md) — GitHub, Slack, Jira and Gmail.
- [How Workers work](../workers/how-workers-work.md) — what a Worker may do on its own.
