Getting Started

Imagine. Build. Ship.

If you can imagine it, OBTO can build it. Sign up, connect your AI client, and deploy your first application through conversation.

Sign Up

Go to obto.co and click Sign in in the top-right corner. Authenticate with your Google account. Your OBTO instance is created automatically โ€” no setup required.

Copy Your MCP Endpoint

After signing in, you'll see your personal MCP server URL on the landing page. This URL is unique to your account and connects your AI client to your OBTO instance.

Copy this URL. You'll need it in Step 4.

๐Ÿ’ก Your MCP endpoint is the bridge between your AI chat interface and the OBTO deployment engine. Every app you build through conversation gets deployed through this connection.

Get the OBTO Skill

The OBTO Skill(obto-developer) is a file called SKILL.md that teaches your AI model how to build and deploy applications on OBTO. Download it from GitHub:

๐Ÿ‘‰ github.com/obto-inc/platform

Client Where to put SKILL.md
Claude Desktop Add to project knowledge or attach as a file
Claude Web Upload as a file attachment in your conversation
Cursor Place in workspace root or .cursor/skills/
VS Code Place in workspace root directory
AntiGravity Place in .agent/skills/ directory

Connect to Your AI Client

Select your client. Replace YOUR_MCP_ENDPOINT with the URL from Step 2.

Claude.ai โ€” Web Interface

The simplest option. Native remote MCP via Connectors.

  1. Settings โ†’ Connectors ( claude.ai/settings/connectors)
  2. Click "Add custom connector"
  3. Paste your OBTO MCP endpoint URL
  4. Click "Add" โ€” transport auto-detected
  5. In chat: "+" โ†’ "Connectors" to toggle on

Claude Desktop App

Uses Connectors UI for remote servers โ€” not the config file.

Recommended: Connectors UI

  1. "+" at bottom of chat โ†’ "Connectors" โ†’ "Manage Connectors"
  2. Add custom connector with your endpoint URL
  3. Syncs across Claude.ai, Desktop, and Mobile

Alternative: Config file with mcp-remote

Requires Node.js. Bridges stdio to HTTP.

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Linux: ~/.config/claude/claude_desktop_config.json

{
  "mcpServers": {
    "obto": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://<my obto.co host>.obto.co/ms/mcp"
      ]
    }
  }
}

Common Pitfall

The config file does not support a direct "url" field. {"url":"https://..."} silently fails. Use Connectors UI or mcp-remote. Fully quit & restart after changes.

Claude Code (CLI)

Native HTTP support โ€” simplest CLI setup.

One-command setup

claude mcp add --transport http obto-mcp https://<my obto.co host>.obto.co/ms/mcp

With scope

# User scope (all projects)
claude mcp add --transport http --scope user obto-mcp https://<my obto.co host>.obto.co/ms/mcp

# Project scope (team via .mcp.json)
claude mcp add --transport http --scope project obto-mcp https://<my obto.co host>.obto.co/ms/mcp

Flag Order

All flags must come before the server name. claude mcp add obto-mcp --transport http fails.

Config file

~/.claude.json (user) or .mcp.json (project root):

{
  "mcpServers": {
    "obto-mcp": {
      "type": "http",
      "url": "https://<my obto.co host>.obto.co/ms/mcp"
    }
  }
}

Useful: claude mcp list ยท claude mcp get obto-mcp ยท /mcp ยท claude --mcp-debug

VS Code with GitHub Copilot (Agent Mode)

Built-in since VS Code 1.99+. Requires Copilot extension + chat.agent.enabled: true.

Option A โ€” Workspace (recommended)

Create .vscode/mcp.json:

{
  "servers": {
    "obto": {
      "type": "http",
      "url": "https://<my obto.co host>.obto.co/ms/mcp"
    }
  }
}

Option B โ€” User settings.json

{
  "mcp": {
    "servers": {
      "obto": {
        "type": "http",
        "url": "https://<my obto.co host>.obto.co/ms/mcp"
      }
    }
  }
}

Critical

VS Code uses "servers" โ€” not "mcpServers". #1 config error. Verify: Copilot Chat โ†’ Agent mode โ†’ tools icon.

VS Code with Continue.dev

YAML config. Tools only in Agent mode.

macOS/Linux: ~/.continue/config.yaml
Windows: %USERPROFILE%\.continue\config.yaml

mcpServers:
  - name: OBTO
    type: streamable-http
    url: https://<my obto.co host>.obto.co/ms/mcp

Tip

If streamable-http fails, try sse. Continue uses kebab-case: sse, stdio, streamable-http.

VS Code with Cline

Access: MCP Servers icon โ†’ Configure โ†’ Configure MCP Servers

macOS: ~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
Windows: %APPDATA%\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json

{
  "mcpServers": {
    "obto": {
      "url": "https://<my obto.co host>.obto.co/ms/mcp",
      "type": "sse",
      "disabled": false,
      "timeout": 60
    }
  }
}

Tip

Start with "sse" โ€” more reliable than "streamableHttp" (Cline uses camelCase). Green dot = connected.

VS Code with Roo Code

Access: ๐Ÿ”Œ MCP icon โ†’ Edit Global/Project MCP

macOS: ~/Library/Application Support/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/mcp_settings.json
Windows: %APPDATA%\Code\User\globalStorage\rooveteritaryinc.roo-cline\settings\mcp_settings.json
Project: roo/mcp.json (overrides global)

{
  "mcpServers": {
    "obto": {
      "type": "sse",
      "url": "https://<my obto.co host>.obto.co/ms/mcp",
      "disabled": false,
      "timeout": 60
    }
  }
}

Required

type is required โ€” omitting it errors. Kebab-case: "sse", "streamable-http", "stdio".

Cursor IDE

Native remote MCP. Simplest IDE config.

Project: cursor/mcp.json
Global: ~/.cursor/mcp.json
UIPreferences โ†’ Cursor Settings โ†’ Tools & MCP

{
  "mcpServers": {
    "obto": {
      "url": "https://<my obto.co host>.obto.co/ms/mcp"
    }
  }
}

Auto-detects transport. No "type" needed. Green indicator in Settings โ†’ Tools & MCP.

Tool Limit

Cursor caps at ~40 tools across all servers. Toggle off/on or restart if tools don't appear.

Windsurf IDE (Codeium)

Own config path, different key name for URL.

macOS/Linux: ~/.codeium/windsurf/mcp_config.json
Windows: %USERPROFILE%\.codeium\windsurf\mcp_config.json
UISettings โ†’ Cascade โ†’ Manage MCPs

{
  "mcpServers": {
    "obto": {
      "serverUrl": "https://<my obto.co host>.obto.co/ms/mcp"
    }
  }
}

Windsurf Key

"serverUrl" not "url". Most common Windsurf MCP error.

JetBrains IDEs

All IntelliJ-based IDEs since 2025.1.

  1. Settings โ†’ Tools โ†’ AI Assistant โ†’ Model Context Protocol (MCP)
  2. + Add โ†’ HTTP type
  3. Paste config, OK โ†’ Apply
{
  "mcpServers": {
    "obto": {
      "url": "https://<my obto.co host>.obto.co/ms/mcp"
    }
  }
}

Tip

"Import from Claude" button imports existing Claude Desktop configs.

Zed Editor

Stdio only โ€” needs mcp-remote (Node.js required).

{
  "context_servers": {
    "obto": {
      "source": "custom",
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://<my obto.co host>.obto.co/ms/mcp"],
      "env": {}
    }
  }
}

Zed Quirk

"source": "custom" is required or Zed silently skips the server.

Amazon Q Developer

Native HTTP. Config: ~/.aws/amazonq/default.json or .amazonq/default.json:

{
  "mcpServers": {
    "obto": {
      "type": "http",
      "url": "https://<my obto.co host>.obto.co/ms/mcp"
    }
  }
}

Universal Fallback (Any stdio-only Client)

mcp-remote bridges stdio to HTTP. Wrap in whatever root key your client expects:

{
  "command": "npx",
  "args": ["-y", "mcp-remote", "https://<my obto.co host>.obto.co/ms/mcp"]
}

Build

You're connected. Select the obto-developer skill and then just describe what you want:

"Build me a landing page for my coffee shop called Daily Grind with a hero section, menu with prices, photo gallery, and a contact form that saves submissions."

The AI reads the OBTO Skill, writes the backend logic, creates the frontend, deploys everything in the correct order, and your app goes live at yourapp.obto.co.

Ready to build?

Sign in and get your MCP endpoint in under a minute.

Get Started โ†’ Documentation GitHub Contact