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

# MCP Servers

> Store MCP server entries in the Desktop app (not launched yet)

The Desktop app's MCP panel stores server entries for a future release. The engine does not launch them yet, so the model cannot use them.

> [!WARNING]
>
> **Stored for a future release.** The engine does not launch these servers yet, so the model cannot use them. For MCP that reaches the agent today, use the SDK path in [MCP Overview](https://praison.ai/docs/features/mcp.md).

```mermaid theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
graph LR
    Panel[🖥️ Manage MCP Panel] --> Store[(📁 mcp.json)]
    Store -.->|not wired yet| Agent[🤖 Agent]

    classDef ui fill:#6366F1,stroke:#7C90A0,color:#fff
    classDef store fill:#F59E0B,stroke:#7C90A0,color:#fff
    classDef pending fill:#8B0000,stroke:#7C90A0,color:#fff

    class Panel ui
    class Store store
    class Agent pending
```

## Quick Start

**1. Open the Manage MCP panel**

Find the Manage MCP panel in the app.

**2. Store a server entry**

Enter a **name**, **command**, and **args**, then save. This writes the entry to `mcp.json` — it does not launch anything.

**3. Enable, disable, or remove a stored entry**

The toggle only flips the `enabled` flag in storage. Removing deletes the entry. Nothing else changes today — the agent still uses only built-in tools.

***

## How It Works

The app stores servers through a single endpoint (`POST /mcp`) with an `action` of `add`, `remove`, or `toggle`, and lists them with `GET /mcp`. Storage is the only thing that happens — no process is launched.

```mermaid theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
graph TB
    Add[➕ add] --> Store[(📁 mcp.json)]
    Toggle[🔀 toggle] --> Store
    Remove[➖ remove] --> Store
    Store --> List[📋 GET /mcp]

    classDef action fill:#F59E0B,stroke:#7C90A0,color:#fff
    classDef store fill:#6366F1,stroke:#7C90A0,color:#fff
    classDef list fill:#10B981,stroke:#7C90A0,color:#fff

    class Add,Toggle,Remove action
    class Store store
    class List list
```

These fields are recorded so a future release can pick them up:

| Field | Type | Notes |
| - | - | - |
| `name` | `string` | Required; adding an existing name replaces it |
| `command` | `string` | The executable a future release will launch |
| `args` | `array` | Arguments a future release will pass to the command |
| `enabled` | `bool` | Defaults to `true` on add; only flips the stored flag today |

> [!NOTE]
>
> Adding a server with a name that already exists replaces the previous entry rather than duplicating it.

### Add errors

The **Add** button refuses bad input and keeps the panel open so you can correct the entry.

* **Blank name.** The **Add** button is refused with an in-app dialog reading **"A name is required."** — nothing is written to `mcp.json` and the panel stays open.
* **Engine rejection.** If the engine refuses the add (for example an invalid command), an in-app dialog surfaces the engine's error message and the panel stays open so you can correct the entry.

The MCP settings overlay dims a toast beneath its scrim, so errors from this panel surface through the in-app dialog instead — that dialog paints above the scrim and stays readable. If neither the dialog nor the write happens on an older build, see [Troubleshooting](https://praison.ai/docs/features/desktop/troubleshooting.md).

***

## Today vs Future

The panel stores data now; a future release wires it to the agent.

| Today | Future release |
| - | - |
| Store an entry (name / command / args / enabled) | Same storage picked up by the engine |
| Entries survive restarts | Enabled entries launched over stdio |
| The agent uses only built-in tools | The agent sees tools from enabled servers |

***

## Best Practices

> [accordion] Use the SDK for MCP that works today
>
> The Desktop panel is storage-only. To give an agent real MCP tools now, use the SDK path in [MCP Overview](https://praison.ai/docs/features/mcp.md).

> [accordion] Name servers clearly
>
> The name is the key. A clear, unique name prevents an accidental replace when you add a new entry.

> [accordion] Toggle instead of removing
>
> Disable a stored entry you may want back rather than removing it — the entry and its args are preserved for the future release.

***

## Related

> [card] [MCP Overview](https://praison.ai/docs/features/mcp.md)
>
> The only path that gives MCP tools to the agent today

> [card] [Settings Reference](https://praison.ai/docs/features/desktop/settings.md)
>
> Other Desktop app configuration


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.