# MCP server

> Use your General Input workspace from Claude, ChatGPT, Claude Code, Codex, or any assistant that speaks MCP. One URL per workspace; each teammate signs in as themselves.

Source: https://docs.generalinput.com/mcp



General Input exposes every workspace as a Model Context Protocol server. Add it as a connector and the assistant's own model drives the platform's full agent toolset: call your connected integrations, build and run workflows and apps, work in a persistent sandbox, and hand files back to you.

## The server URL [#the-server-url]

```
https://cloud.generalinput.com/v1/mcp/{organizationId}
```

Copy the exact URL from the dashboard under **Settings, then API, then MCP** (`web.generalinput.com/~/settings/org-mcp`). The last segment is the workspace's id, not its slug; slugs can change and be reused, an id cannot. A bare `/v1/mcp` with no workspace answers `404` with a hint.

## How sign-in works [#how-sign-in-works]

The endpoint takes OAuth access tokens only. When a client first connects it is challenged, discovers the authorization server from the challenge, registers itself (dynamic client registration is open), and sends you to the General Input login page. You sign in, approve the consent screen, and the client holds a token for your account. API keys and CLI sessions are not accepted here.

Every teammate uses the same URL and signs in with their own account. A token works only for a workspace the account is an active member of; otherwise the server answers `403` and says so.

## Connect a client [#connect-a-client]

<Cards>
  <Card title="Claude" href="/mcp/clients/claude">
    Claude.ai and the Claude desktop app, through Settings and Connectors.
  </Card>

  <Card title="ChatGPT" href="/mcp/clients/chatgpt">
    The ChatGPT desktop app, as a Streamable HTTP MCP server.
  </Card>

  <Card title="Claude Code" href="/mcp/clients/claude-code">
    One `claude mcp add` command.
  </Card>

  <Card title="Codex CLI" href="/mcp/clients/codex">
    `codex mcp add` followed by `codex mcp login`.
  </Card>

  <Card title="Other clients" href="/mcp/clients/other">
    Anything that speaks Streamable HTTP with OAuth.
  </Card>
</Cards>

## What you get [#what-you-get]

The same tools the platform's own agents use, single-sourced, so anything a General Input chat can do, the connector can do. See the [tool reference](/mcp/tools) for the list and [how it works](/mcp/how-it-works) for sessions, the sandbox, credentials, and billing.

A few things read differently over a connector than in the dashboard:

* **Connecting a missing account** returns a link. Open it, connect, and tell the assistant to try again.
* **Questions** the agent would normally ask in a widget come back as text for you to answer in the chat.
* **Running a workflow** starts it in the background and returns an execution id; the assistant polls for the result.
* **Files** the agent produces come back as download links that stay valid for seven days.
* **Browser sign-in handoffs** are not available over the connector yet. The tool result says so; sign in from the dashboard or the CLI instead, then ask again.

## Permissions [#permissions]

Tools carry read-only and destructive hints, so hosts that group permissions can allow reads and ask before writes. For the smoothest experience, allow every tool: the agent otherwise pauses for confirmation at each step of a multi-step task.
