# Tray Headless MCP

Connect Cursor, Windsurf, Codex, Claude Code, or any MCP-compatible client to the hosted Tray MCP server at api.tray.io/mcp.

Tray Headless MCP is a hosted MCP server at **`api.tray.io/mcp`** that exposes the Tray platform as MCP tools over HTTP. Connect any MCP-compatible client (**Cursor**, **Codex**, **Windsurf**, **Claude Code**, or your own agent) and complete a one-time OAuth2 sign-in to get started.

It exposes the same capability surface as the [Claude Code plugin](https://tray.ai/documentation/platform/tray-headless/headless-for-claude-code): build and edit workflows, projects, connectors, authentication, validation, and run and debug. The plugin is one client of this server, with a guided build process, skills, and a research subagent layered on top. The raw server gives you the tools, and you (or your agent) drive them.

> **These tools act in your Tray organization as you:** Once you complete the OAuth2 sign-in, the server's tools operate with your Tray identity and permissions. They can create, modify, and delete projects, workflows, and authentications, and run workflows that have real side effects — every call is made as you, in the workspace you select during the OAuth2 sign-in. The packaged plugin surfaces destructive actions for confirmation; a raw client applies only the guardrails you give it, so review what your agent is allowed to do.

## Connect your client

Select your region and client below. A few things to keep in mind before connecting:

* **Connect to your region's endpoint.** The server is available in multiple regions — point your client at the endpoint that matches your workspace's region:

  | Region | Endpoint                      |
  | ------ | ----------------------------- |
  | US     | `https://api.tray.io/mcp`     |
  | EU     | `https://api.eu1.tray.io/mcp` |
  | APAC   | `https://api.ap1.tray.io/mcp` |

* **Don't add an `Authorization` header.** Supplying a static token bypasses the interactive OAuth2 sign-in.

* **Select your workspace when you sign in.** You choose the target workspace during the OAuth2 sign-in, and that selection is bound to your session for every call — there's no Workspace ID to pass.

\`\<McpClientInstall>\`

For a side-by-side comparison of the plugin and the standalone server, see the [Tray Headless overview](https://tray.ai/documentation/platform/tray-headless/overview#which-should-i-use).
