# Connect Ondes PRO to Zed

> Connect Ondes PRO to the Zed editor: one context_servers entry in settings.json, automatic OAuth, and an Agent Panel that can work on your workspace.

Updated on 2026-10-21 · The Ondes PRO team · https://ondes.pro/en/integrations/mcp/clients/zed

Zed calls MCP servers **context servers** and declares them under the `context_servers` key of its settings. For Ondes PRO an address is enough: with no authentication header, Zed starts the OAuth sign-in with your workspace by itself. The Agent Panel can then read your resources’ documentation and act on your data, at your pace.

## Declare Ondes PRO as a context server in Zed

The shortest configuration of any editor: three meaningful lines, no key.

1. **Open Zed’s settings** — From the command palette, open the settings file (`settings.json`). An entry added here applies to all your projects.
2. **Add the context_servers entry** — Paste the block below at the top level of the file, next to your other settings. Replace the subdomain, or type it at the top of the page.

```json
{
  "context_servers": {
    "ondes": { "url": "https://your-workspace.ondes.pro/mcp/" }
  }
}
```
3. **Let Zed start the authorisation** — Because the entry carries no `Authorization` header, Zed detects that the server expects OAuth and opens a window from your Ondes PRO workspace. Sign in and approve the consent screen.
4. **Check the server status** — In the Agent Panel settings, the `ondes` server appears with a status indicator. Once active, its eight tools are offered to the agent.
5. **Use it in the Agent Panel** — Open the Agent Panel and ask, for example, “Which columns does the Website board have?”. Zed asks for confirmation before running a tool, unless you chose to always allow.

## Copy-ready context_servers configuration

With an `Authorization` header, Zed does not start OAuth, so the second form is only for when you want a restricted API key. The settings file is personal, so the key does not end up in a repository.

Where to set it up : The `context_servers` key of Zed’s settings file.

**OAuth connection (recommended)** (settings.json)

```json
{
  "context_servers": {
    "ondes": {
      "url": "https://your-workspace.ondes.pro/mcp/"
    }
  }
}
```

**API key connection** (settings.json)

```json
{
  "context_servers": {
    "ondes": {
      "url": "https://your-workspace.ondes.pro/mcp/",
      "headers": {
        "Authorization": "ApiKey opk_…"
      }
    }
  }
}
```

_Standard MCP compatible. Vendor documentation : https://zed.dev/docs/ai/mcp.html_

## Choosing which Ondes PRO tools Zed’s agent can use

Zed groups the agent’s tools into **profiles**. You can create one that only enables the Ondes PRO server’s six documentation tools — `ondes_etat`, `ondes_guide`, `ondes_chercher`, `ondes_ressource`, `ondes_impossible`, `ondes_exemple` — to code against your workspace’s exact documentation with no way to write.

For tasks where the agent must act, a second profile adds `ondes_appeler` and `ondes_assistant`. Even then, several safety nets remain: Zed’s confirmation before each tool, your Ondes PRO permissions bounding everything, a dry run available on any resource, and test mode by default on resources that have a test twin.

## The eight tools Zed sees

Always the same ones, however many modules your workspace has: the depth sits behind them, not in their list.

- `ondes_etat` (Read) — **Connection status** : Who is connected, which modules are reachable and which permissions the connection carries. The assistant calls it once to learn its scope.
- `ondes_guide` (Read) — **API guide** : The API guide, section by section: a summarised table of contents first, then only the sections that matter (pagination, idempotency, payments…).
- `ondes_chercher` (Read) — **Search** : Searches a business term (“quote”, “stock”, “webhook”) across both the resource inventory and the guide.
- `ondes_ressource` (Read) — **Resource sheet** : Everything needed to call one resource correctly: URL, verbs, typed and required fields, filters, ordering, actions, required permission, test twin.
- `ondes_impossible` (Read) — **What the API does not do** : The list of what deliberately does not exist. The assistant checks it before inventing a URL: this is what keeps it from hallucinating.
- `ondes_exemple` (Read) — **Complete recipes** : Whole scenarios already verified against the real API: create, read without N+1 calls, invoice, subscribe to events.
- `ondes_appeler` (Write) — **Call the API** : Runs a real call with the user's identity. Writes go to test mode by default, and a dry run validates a request without writing anything.
- `ondes_assistant` (Write) — **Ask the Ondes PRO assistant** : Asks a business question to the built-in assistant, which aggregates several modules. Its writes come as a plan, executed only after approval.

## Example: turning TODOs into Kanban cards

_Example conversation · demo data (Atelier Lumen)_

> **You** : Collect the TODOs in `src/` and create one card per TODO in the “To do” column of the Website board, with the file in the description.
>
> 🔧 `ondes_ressource` `kanban/cartes` sheet: `column` and `title` required, no test twin — a creation is real.
>
> 🔧 `ondes_appeler` `GET kanban/colonnes` filtered on the Website board — the “To do” column is found.
>
> 🔧 `ondes_appeler` `POST kanban/cartes` with `simuler: true` on the first card — valid body, nothing written.
>
> **Assistant** : I found 7 TODOs, including “compress the Suspension Pétrole photos” and “translate the Shipping page”. The dry run passes. Since `kanban/cartes` has no test mode, creation will be real: shall I create the 7 cards?
>
> **You** : Yes.
>
> 🔧 `ondes_appeler` 7 × `POST kanban/cartes` — “real write” stated in each response, cards created.
>
> **Assistant** : Done. The cards appeared live for teammates who have the board open; each one shows the file and line of its TODO.

> **What Zed’s connection leaves under your control** — Zed’s OAuth connection carries your full Ondes PRO permissions, nothing more. It shows up in the **MCP** tab of **API & Developers** under your machine’s name; “Revoke” cuts it off immediately. The access token lasts one hour and every call is logged with an “MCP” tag. Full details: [MCP server security](https://ondes.pro/en/integrations/mcp/security).

## Going further

- [Kanban](https://ondes.pro/en/integrations/mcp/modules/kanban) — Your AI assistant creates, moves and comments on cards, and your teammates see it happen live.
- [Connect your website](https://ondes.pro/en/integrations/mcp/guides/connect-your-website) — Show the catalogue and take Stripe payments from a site that is already live, without rebuilding it.
- [What is MCP?](https://ondes.pro/en/integrations/mcp/what-is-mcp) — The complete guide to the Model Context Protocol: definition, architecture, comparisons, security and adoption.
- [MCP server security](https://ondes.pro/en/integrations/mcp/security) — OAuth 2.1, short-lived tokens, instant revocation and write safeguards: what your IT team needs to know.

## Frequently asked questions

### How do I add a remote MCP server to Zed?

Add an entry under `context_servers` in `settings.json`, with the server address in `url`. For Ondes PRO: `"ondes": { "url": "https://<your-workspace>.ondes.pro/mcp/" }`. Zed then starts the OAuth sign-in.

### Do I need an API key to connect Zed to Ondes PRO?

No. Without an authentication header, Zed runs the OAuth sign-in with your workspace on its own. An API key is only useful if you want a connection limited to certain modules or to read-only access.

### Can I restrict Zed to reading the documentation?

Yes, with an agent profile that only enables the six documentation tools. The agent keeps access to your workspace’s guide and resource sheets, without `ondes_appeler` or `ondes_assistant`.

### Does a card created from Zed show up for the team right away?

Yes: Ondes PRO Kanban boards are real-time whatever the source of the write. A card created by the agent appears live for teammates who have the board open.

### Has the Ondes PRO team tested Zed?

No, Zed is listed as “standard MCP compatible”: its `context_servers` entry follows the protocol our server implements, OAuth discovery included, so the connection should work. Only Claude has been verified end to end by our team; if a Zed setting is renamed, Zed’s documentation is the reference.
