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

# MCP servers

> Add, sign in to, and manage MCP servers and their tools for a coding-agent provider.

export const FeatureVideo = ({src, label}) => {
  const videoRef = React.useRef(null);
  React.useEffect(() => {
    const video = videoRef.current;
    if (!video || typeof IntersectionObserver === "undefined") {
      return undefined;
    }
    const reduceMotion = typeof window !== "undefined" && typeof window.matchMedia === "function" && window.matchMedia("(prefers-reduced-motion: reduce)").matches;
    if (reduceMotion) {
      return undefined;
    }
    let pausingOffScreen = false;
    let pausedByReader = false;
    const onPause = () => {
      if (pausingOffScreen) {
        pausingOffScreen = false;
        return;
      }
      pausedByReader = true;
    };
    const onPlay = () => {
      pausedByReader = false;
    };
    video.addEventListener("pause", onPause);
    video.addEventListener("play", onPlay);
    const observer = new IntersectionObserver(entries => {
      for (const entry of entries) {
        if (entry.isIntersecting) {
          if (!pausedByReader) {
            video.play().catch(() => {});
          }
        } else if (!video.paused) {
          pausingOffScreen = true;
          video.pause();
        }
      }
    }, {
      threshold: 0.25
    });
    observer.observe(video);
    return () => {
      observer.disconnect();
      video.removeEventListener("pause", onPause);
      video.removeEventListener("play", onPlay);
    };
  }, []);
  return <video ref={videoRef} className="w-full aspect-video rounded-xl" controls loop muted playsInline preload="metadata" aria-label={label}>
      <source src={src} type="video/mp4" />
      Unable to load video.
    </video>;
};

<FeatureVideo src="https://assets.traycer.ai/docs/videos/mcp-setup.mp4" label="Add and check a local MCP server" />

Open **Settings → Providers**, select a provider, and open its **MCP** tab. Each provider keeps its own MCP servers, in that provider's own configuration.

Devin, Pi, Reasonix, and Antigravity have no **MCP** tab. Hermes Agent's tab lists the servers in its configuration; add and remove them in Hermes itself.

## Choose Where Servers Live

The location picker at the top of the tab chooses which configuration you are editing:

* **Global**: every workspace on this host.
* A workspace: servers for that project only. Pick one of this host's workspaces, or browse to add one.

Servers you add go to the selected location.

## Add A Server

<Steps>
  <Step title="Open the dialog">
    Click **Add MCP server**.
  </Step>

  <Step title="Choose the transport">
    **Remote** is the default. Choose **Local (stdio)** for a command the host launches.
  </Step>

  <Step title="Fill in the server">
    Enter a **Name**, then the transport's settings:

    * **Remote:** the **Server URL**, the **Transport protocol** (**HTTP** or **SSE**), and **Authentication**: **None**, **Header** (custom headers), **Env var** (an environment variable that holds the token), or **OAuth** (with an optional client ID and resource). The options depend on the provider.
    * **Local (stdio):** the **Command**, its **Args**, and any **Env vars**.
  </Step>

  <Step title="Add it">
    Click **Add server**, then check the server's status.
  </Step>
</Steps>

Secrets you entered are not shown again. When you edit a server, re-enter them to save.

## Server Status

| Status | Meaning |
| - | - |
| **Connected** | The provider reports the server as connected. |
| **Reachable** | Traycer's own connectivity check reached the server. Claude Code shows this one. |
| **Needs auth** | The server needs you to sign in. |
| **Error** | The connection failed. |
| **Disconnected** | The server is not connected. |
| **Config only** | The server is in the configuration, but there's no live status for it. |
| **Disabled** | The server is turned off. |

## Manage A Server

Each server row has actions for that server:

* **Sign in**, **Re-authenticate**, and log out, for servers that use OAuth, where the provider supports it.
* **Refresh** checks the server again.
* **Delete** removes it after you confirm.
* An on/off switch, for providers that support one: OpenCode, Traycer Inference, OpenRouter, Hugging Face, Grok, Kiro, Droid, Kimi, Kilo Code, Oh My Pi, and Cursor (for workspace servers only). Claude Code, Codex, Copilot, Qwen Code, and Amp have no per-server switch; delete a server to stop using it.

## Tools

Expand a server to see its **Tools (N)** and, where the server provides them, its **Instructions**. Where the provider supports it, each tool has its own switch, and **Enable all** · **Disable all** act on every tool. For Codex and Amp, tool switches apply only to sessions Traycer runs.

Tools appear once the server is connected. A server that needs sign-in shows "Sign in to discover tools for this server."


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