# Getting Started

## What is Yando?

Yando is a collaborative whiteboard application for teams. Create boards with sticky notes, text boxes, and shapes, then organize them using templates like Business Model Canvas and SWOT Analysis. Multiple users can collaborate in real time with live cursors and object locking.

## Creating an Account

1. Click **Sign Up** in the top-right corner
2. Enter your email address and password
3. You'll be logged in automatically

Your account comes with a randomly assigned avatar color used for presence indicators when collaborating.

## The Dashboard

After signing in, you'll see the **Boards** page with two sections:

- **My Boards** - Boards you own and have full control over
- **Shared with Me** - Boards other users have invited you to collaborate on

From the top navigation, you can also access:

- **Projects** - Group related boards and markdown pages together
- **Templates** - Browse and create board templates
- **Docs** - This documentation

## Your First Board

1. Click **New Board** on the Boards page
2. Enter a title and optional description
3. Optionally select a template (e.g., Business Model Canvas)
4. Click **Create Board**

You'll be taken to the board canvas where you can start adding objects.

## Quick Shortcuts

Once on a board, use these keyboard shortcuts to get started fast:

| Shortcut | Action |
|----------|--------|
| **N** | Create a sticky note at the center of the viewport |
| **T** | Create a text box at the center of the viewport |
| **?** | Show all keyboard shortcuts |
| **Ctrl+1** | Fit all objects in view |

Both **N** and **T** immediately enter edit mode - type your text and press **Escape** to finish.

## Themes

Yando supports light and dark mode. Toggle the theme from:

- **Logged in**: Click your avatar in the top-right corner, then select "Dark Mode" or "Light Mode"
- **Not logged in**: Click the sun/moon icon in the top-right corner

Your theme preference is saved and synced across devices when logged in.


---

# Creating & Managing Boards

## Creating a Board

1. Navigate to **Boards** from the top navigation
2. Click **New Board**
3. Fill in the form:
   - **Title** (required) - Name for your board
   - **Description** (optional) - A short description
   - **Template** (optional) - Select a template to pre-populate zones
4. Click **Create Board**

### Creating from a Template

You can pre-select a template by clicking **Create Board** from a template's detail page or by browsing templates and selecting one. The board will be created with the template's zones pre-configured.

### Creating from JSON Import

On the board creation form, you can upload a JSON file exported from another board:

1. Click **Choose File** under the JSON import section
2. A preview shows the title, template, and object count
3. The title and description fields are pre-populated from the JSON
4. You can override the template if the original isn't available
5. Click **Create Board** to import

See [Export & Import](/docs/export-import/) for details on the JSON format.

## Editing a Board

From the board list page, click the **Edit** button on any board you own. You can change:

- Title and description
- Template (with intelligent object remapping)

### Changing Templates

When you change a board's template, objects are remapped to new zones using two strategies:

1. **Name matching** - Zones with the same name keep their objects
2. **Position-based fallback** - Remaining objects are assigned based on their position

If the canvas size changes significantly (>5%), object positions are scaled proportionally.

## Duplicating a Board

Click the **Duplicate** button on any board you own or are a member of:

1. A modal appears with the board's title (prefixed with "Copy of")
2. Optionally select a different template
3. Click **Duplicate**

All objects (sticky notes, text boxes, shapes) are copied with fresh UUIDs. If you choose a different template, zone remapping applies.

## Deleting a Board

Only board owners can delete boards:

1. Click **Delete** on the board card
2. Confirm the deletion in the dialog

This action is permanent and cannot be undone.

## Board Canvas

On the board canvas, you can:

- **Add objects**: Press N (sticky note), T (text box), or use the toolbar
- **Move objects**: Click and drag
- **Edit text**: Double-click a sticky note or text box
- **Resize objects**: Drag the corner handles
- **Rotate objects**: Use the rotation controls in the toolbar
- **Delete objects**: Select and press Delete/Backspace
- **Pan the canvas**: Hold Shift and drag, or use two-finger scroll
- **Zoom**: Mouse wheel, or use the zoom buttons in the bottom-right
- **Fit to content**: Press Ctrl+1 to zoom to fit all objects
- **Search**: Press Ctrl+F to find objects by text or type


---

# Templates & Zones

## What are Templates?

Templates define zones (labeled regions) on a board's canvas. When you create a board with a template, objects are automatically organized into the zone they're placed in. This is useful for frameworks like Business Model Canvas, SWOT Analysis, and custom layouts.

## Built-in Templates

Yando includes three built-in templates:

### Business Model Canvas (BMC)
Nine zones covering: Key Partners, Key Activities, Key Resources, Value Propositions, Customer Relationships, Channels, Customer Segments, Cost Structure, and Revenue Streams.

### SWOT Analysis
Four quadrants: Strengths, Weaknesses, Opportunities, and Threats.

### Matrix 2x2
A simple four-quadrant grid for any two-axis comparison.

## Browsing Templates

Navigate to **Templates** from the top navigation. You'll see:

- **Built-in templates** - Pre-configured, available to everyone
- **Your templates** - Custom templates you've created
- **Public templates** - Templates shared by other users

Click any template card to see its detail page with a full-size canvas preview.

## Creating Custom Templates

1. Go to **Templates** and click **New Template**
2. Fill in the form:
   - **Name** (required)
   - **Description** (optional)
   - **Canvas Width/Height** - Dimensions in pixels
   - **Public** - Whether other users can see and use this template
3. Use the **Visual Zone Editor** to add zones

### Visual Zone Editor

The zone editor is a WYSIWYG canvas where you drag and resize zones:

- Click **Add Zone** to create a new zone
- Drag zones to reposition them
- Drag zone edges to resize
- Set zone properties in the sidebar:
  - **Name** - Label shown on the canvas
  - **Shape** - Rectangle, circle, or pie slice
  - **Color** - Choose from 10 curated colors per theme

### Zone Shapes

- **Rectangle** - Standard rectangular zones (most common)
- **Circle** - Circular zones, useful for hub-and-spoke layouts
- **Pie Slice** - Subdivide a circle into 2-6 wedge segments with precise angular boundaries

### Curated Color Palettes

Each theme (light/dark) has 10 matched colors. When you switch themes, zone colors automatically adapt. The palette uses:

- **Light mode**: Pastel backgrounds with dark text
- **Dark mode**: Deep backgrounds with white text

### Canvas Resize Tools

- **Fit to Zones** - One-click resize to fit all zones with padding
- **Edge Drag Handles** - 8 handles for direct canvas edge manipulation
- **Content Bounds Indicator** - Amber dashed rectangle showing zone bounding box

## Customizing Templates ("Use as Starting Point")

You can clone any accessible template to create your own version:

1. On a template's card or detail page, click **Customize**
2. The form is pre-populated with "Copy of [name]", description, and all zones
3. Modify the name, zones, or canvas dimensions as needed
4. Click **Save**

The cloned template is always owned by you and set to private.

## Template Switching on Existing Boards

When editing a board, you can change its template:

1. Open the board edit form
2. Select a new template from the dropdown
3. Confirm the change

Objects are remapped using:

1. **Zone name matching** (case-insensitive) - Objects stay in zones with the same name
2. **Position-based fallback** - Remaining objects are assigned by their canvas position

A success message shows remapping statistics (e.g., "5 by name, 3 by position, 2 scaled").


---

# Real-Time Collaboration

## Sharing Boards

There are two ways to give someone access to a board:

### Share Link

1. Open the board and click the **Share** button
2. Choose a permission level (**View Only** or **Can Edit**)
3. Click **Generate Link** and send it to your collaborator
4. When they open the link, they are automatically added to the board

### Via Project Membership

If a board is part of a project, all project members automatically have access to it. Their project role (viewer or editor) determines what they can do on the board.

If someone has access through both a direct board share and a project, the **higher permission wins** — a direct editor role on the board is never downgraded by a viewer project membership.

### Roles

- **Viewer** - Can see the board but not edit
- **Editor** - Can add, edit, and delete objects

Members see shared boards under **Shared with Me** on their boards page.

## Real-Time Collaboration

When multiple users open the same board, they collaborate in real time:

### Live Cursors

Each user's cursor is visible to others, showing:

- A colored pointer matching the user's avatar color
- The user's display name floating near the cursor
- Smooth animated movement as they navigate

### Selection Locking

When a user selects an object, it becomes locked for others:

- A colored border appears around the locked object
- A floating label shows who has it selected
- Other users cannot move or edit the locked object
- Locks are released automatically when the user deselects

This prevents conflicting edits on the same object.

### Multi-Tab Support

You can open the same board in multiple browser tabs. Each tab has its own channel identity, so:

- Your cursor appears correctly in each tab
- You won't see your own locks from another tab
- Each tab operates independently

## Active Users

The board toolbar shows how many users are currently viewing the board. Presence indicators update in real time as users join and leave.

## Board History (Snapshots)

Yando takes daily snapshots of each board's state:

- **Automatic**: Snapshots are created daily (if the board has changed)
- **Change Summary**: Each snapshot includes counts of added, edited, and deleted objects
- **Read-Only**: View historical snapshots from the board detail page
- **Retention**: Snapshots are kept for 90 days by default

### Viewing Board History

1. From the board list, click on a board to see its detail page
2. Look for the **History** section
3. Click a snapshot to see the board's state at that point in time

Snapshots are read-only - you can see what the board looked like but cannot modify the snapshot.


---

# Export & Import

## Export Formats

Yando supports four export formats, accessible from the toolbar on any board:

### PNG (Image)

Exports the board as a PNG image. Smart cropping ensures the image is tightly fitted:

- **Template boards**: Cropped to zone boundaries with padding
- **Non-template boards**: Cropped to the object bounding box with padding
- Hidden sticky notes are excluded from the export

### PDF (Document)

Exports the board as a multi-page PDF document containing:

- A cropped image of the board canvas
- A text summary of all objects organized by zone
- Hidden sticky notes are excluded

### Markdown

Exports board content as a structured markdown file:

- Objects grouped by zone (for template boards)
- Each object includes its text content, type, and zone
- Hidden sticky notes are excluded
- Useful for feeding board content to AI tools

### JSON (Data)

Exports the complete board data as a JSON file:

- Board metadata (title, description, template, canvas dimensions)
- All objects with full properties (position, size, rotation, data)
- Objects grouped by zone
- Can be re-imported to create a new board

## Import from JSON

### Creating a New Board from JSON

1. Go to **Boards** and click **New Board**
2. Upload a JSON file in the import section
3. Preview shows the title, template, and object count
4. Optionally change the title, description, or template
5. Click **Create Board**

The import process:

- Generates fresh UUIDs for the board and all objects (security measure)
- Sets the current user as the owner
- Matches zones by name when using the same template
- Validates the JSON schema, object types, and required fields
- Uses atomic transactions (all-or-nothing)

### Importing to an Existing Board

You can add objects from a JSON file to an existing board:

1. Open the board canvas
2. Click the **Import** button in the toolbar
3. Select a JSON file
4. Objects are added without modifying existing content

This is useful for the LLM workflow:

1. Export your board to JSON
2. Feed the JSON to an LLM for analysis or enhancement
3. Import the LLM's output back to the same board

### JSON Schema

The expected JSON structure:

```json
{
  "board": {
    "title": "My Board",
    "description": "Optional description",
    "template": "Business Model Canvas",
    "canvas_width": 3200,
    "canvas_height": 1800
  },
  "zones": {
    "Zone Name": [
      {
        "type": "sticky_note",
        "x": 100,
        "y": 200,
        "width": 200,
        "height": 150,
        "data": {
          "text": "Note content",
          "color": "#FFEB3B"
        }
      }
    ]
  },
  "unzoned_objects": []
}
```

Object types: `sticky_note`, `text_box`, `shape`

For shapes, the `data` object includes a `shapeType` field: `rectangle`, `circle`, `triangle`, or `line`.

## Export Visibility

Hidden sticky notes (those toggled to hidden on the canvas) are excluded from **all** export formats:

- PNG: Not rendered in the image
- PDF: Not in the image or the text summary
- Markdown: Not included in the text output
- JSON: Hidden notes are still included in JSON exports (they carry a hidden flag)


---

# Projects

## What are Projects?

Projects are containers that group related boards and markdown pages together. They provide a workspace for organizing work around a theme, product, or initiative.

## Creating a Project

1. Navigate to **Projects** from the top navigation
2. Click **New Project**
3. Fill in:
   - **Title** (required)
   - **Description** (optional)
   - **Color** - A color used for visual identification
4. Click **Create**

## Adding Boards to a Project

1. Open the project detail page
2. Click **Add Board** to create a new board within the project
3. Alternatively, when creating a board from the Boards page, select a project to assign it to

Boards in a project appear in the project sidebar alongside pages.

## Markdown Pages

Projects can contain markdown pages for notes, documentation, or planning:

### Creating a Page

1. Open the project
2. Click **Add Page** in the sidebar
3. Enter a title and start writing in the markdown editor

### Editing Pages

The page editor uses EasyMDE (a markdown editor) with:

- Toolbar for formatting (bold, italic, headings, lists, links, code)
- Live preview mode (click the eye icon)
- Auto-save every 2 seconds
- Manual save with **Ctrl+S**

### Reader View

Click **Read** to switch from the editor to a rendered reader view. Click **Edit** to return.

### Importing Markdown Files

You can import `.md` files as project pages:

1. Click **Import Pages** on the project detail page
2. Drag and drop or select one or more `.md` files
3. Each file becomes a separate page
4. Title is extracted from the first heading (or filename if no heading)

## Sidebar Ordering

The project sidebar shows all boards and pages. To reorder:

1. Drag and drop items in the sidebar to change their order
2. The order is saved automatically

Only project owners and editors can reorder items.

## Sharing & Member Management

### Inviting Members via Share Link

Project owners can invite members by generating a share link:

1. Open the project management page
2. In the **Members** section, choose a permission level: **View Only** or **Can Edit**
3. Click **Generate Link**
4. Copy the link and share it with your collaborators

When someone opens the link (they must be logged in), they are automatically added to the project.

### Managing Active Links

- Active share links are listed below the generate button, showing permission level and usage count
- Click **Copy** to copy a link to your clipboard
- Click **Revoke** to deactivate a link — anyone who hasn't used it yet will see an error page

### Member Roles

- **Editors** can create boards, add/edit pages, and reorder the sidebar
- **Viewers** can see boards and pages but not modify them

Project owners can change a member's role or remove them from the member list.

### How Permissions Work Together

Project members automatically get access to **all boards** within the project. If a user has access to a board through both a direct board share and a project membership, here's how it works:

- **Direct board access takes priority.** If someone is an editor on a specific board, a viewer-level project membership won't reduce their board access.
- **Share links only upgrade, never downgrade.** If an existing editor clicks a viewer invite link, their role stays as editor. If a viewer clicks an editor link, they are upgraded to editor.

### Member Limits

Free accounts can have up to 3 members per project. Upgrade to Pro for up to 20.


---

# API Reference

## Authentication

All API endpoints require session authentication. You must be logged in via the web interface, or send the session cookie with your requests.

For programmatic access, authenticate first:

```bash
# Login and save cookies
curl -c cookies.txt -X POST https://your-yando-instance/accounts/login/ \
  -d "login=user@example.com&password=yourpassword" \
  -H "Referer: https://your-yando-instance/"
```

Then include `-b cookies.txt` in subsequent requests.

## Rate Limiting

API endpoints are rate-limited per user. If you exceed the rate limit, you'll receive a 429 response.

---

## POST /api/boards/import/

Create a new board from exported JSON data.

### Request

Accepts two content types:

**JSON body** (`application/json`):

```bash
curl -b cookies.txt -X POST https://your-yando-instance/api/boards/import/ \
  -H "Content-Type: application/json" \
  -H "X-CSRFToken: <token>" \
  -d @board-export.json
```

**File upload** (`multipart/form-data`):

```bash
curl -b cookies.txt -X POST https://your-yando-instance/api/boards/import/ \
  -H "X-CSRFToken: <token>" \
  -F "json_file=@board-export.json"
```

### Query Parameters

| Parameter | Type | Description |
|-----------|------|-------------|
| `template` | string | Template name or UUID to override the JSON template |
| `title` | string | Override the board title from the JSON |
| `description` | string | Override the board description |

### Response (201 Created)

```json
{
  "id": "a1b2c3d4-...",
  "title": "My Board",
  "description": "Board description",
  "template": "Business Model Canvas",
  "object_count": 15,
  "url": "/boards/a1b2c3d4-.../"
}
```

### Errors

| Status | Description |
|--------|-------------|
| 400 | Invalid JSON, validation error, or missing required fields |
| 403 | Authentication required |

---

## POST /api/boards/{board_id}/resize/

Resize a board's canvas dimensions.

### Request

```bash
curl -b cookies.txt -X POST \
  https://your-yando-instance/api/boards/{board_id}/resize/ \
  -H "Content-Type: application/json" \
  -H "X-CSRFToken: <token>" \
  -d '{"width": 4000, "height": 2400}'
```

### Response (200 OK)

```json
{
  "id": "a1b2c3d4-...",
  "canvas_width": 4000,
  "canvas_height": 2400
}
```

---

## GET /api/boards/{board_id}/snapshots/

List all snapshots for a board, ordered by creation date (newest first).

### Request

```bash
curl -b cookies.txt \
  https://your-yando-instance/api/boards/{board_id}/snapshots/
```

### Response (200 OK)

```json
[
  {
    "id": "s1n2a3p4-...",
    "created_at": "2026-02-21T08:00:00Z",
    "object_count": 24,
    "board_version": 15,
    "change_summary": {
      "added": {"sticky_note": 2},
      "edited": {"text_box": 1},
      "deleted": {}
    }
  }
]
```

---

## GET /api/boards/{board_id}/snapshots/{snapshot_id}/

Retrieve a single snapshot's full data.

### Request

```bash
curl -b cookies.txt \
  https://your-yando-instance/api/boards/{board_id}/snapshots/{snapshot_id}/
```

### Response (200 OK)

Returns the full snapshot including `snapshot_data` containing the complete board state at that point in time.

---

## POST /api/projects/{project_id}/pages/import/

Import markdown files as project pages.

### Request

Upload one or more `.md` or `.markdown` files:

```bash
curl -b cookies.txt -X POST \
  https://your-yando-instance/api/projects/{project_id}/pages/import/ \
  -H "X-CSRFToken: <token>" \
  -F "files=@notes.md" \
  -F "files=@planning.md"
```

### Response (201 Created)

```json
{
  "pages_created": 2,
  "pages": [
    {
      "id": "p1a2g3e4-...",
      "title": "Notes",
      "url": "/projects/.../pages/p1a2g3e4-.../"
    }
  ],
  "errors": []
}
```

### Status Codes

| Status | Description |
|--------|-------------|
| 201 | All files imported successfully |
| 207 | Partial success - some files imported, some had errors |
| 400 | No files provided or all files failed |
| 403 | Not an owner or editor of the project |
| 404 | Project not found |

---

## JSON Export Schema Reference

When exporting a board to JSON, the structure is:

```json
{
  "board": {
    "title": "Board Title",
    "description": "Optional description",
    "template": "Template Name or null",
    "canvas_width": 3200,
    "canvas_height": 1800
  },
  "zones": {
    "Zone Name": [
      {
        "type": "sticky_note",
        "x": 100,
        "y": 200,
        "width": 200,
        "height": 150,
        "rotation": 0,
        "data": {
          "text": "Content here",
          "color": "#FFEB3B"
        }
      }
    ]
  },
  "unzoned_objects": [
    {
      "type": "text_box",
      "x": 500,
      "y": 100,
      "width": 300,
      "height": 50,
      "data": {
        "text": "Unzoned text"
      }
    }
  ]
}
```

### Object Types

| Type | Data Fields |
|------|-------------|
| `sticky_note` | `text`, `color` |
| `text_box` | `text`, `fontSize`, `fontWeight` |
| `shape` | `shapeType` (`rectangle`, `circle`, `triangle`, `line`), `fill`, `stroke` |


---

# MCP Server (AI Integration)

## What is the MCP Server?

The MCP (Model Context Protocol) server lets AI assistants like Claude interact with your Yando boards. You can ask Claude to create boards, add sticky notes, export content, manage projects, and more — all through natural conversation.

For example, you can say "Create a SWOT Analysis board for our product launch" and Claude will create the board with the right template, or "Add a red sticky note about the budget risk" and it will appear on your board in real time.

## Prerequisites

1. A Yando account
2. An API key (see below)
3. An MCP-compatible AI client (Claude Desktop, Claude.ai, or Cursor)

## Step 1: Create an API Key

1. Click your avatar in the top-right corner and go to **Settings**
2. Scroll down to the **API Keys** section
3. Click **Create API Key**
4. Give it a descriptive name (e.g., "Claude Desktop")
5. Copy the key immediately — it is only shown once

Your API key starts with `ynd_` and looks like `ynd_abc123def456...`. Keep it secret — anyone with this key can access your boards.

## Step 2: Connect Your AI Client

Choose the setup that matches your client:

### Claude.ai

Claude.ai connects to the Yando MCP server over the internet using OAuth.

1. Go to **Settings → MCP Servers → Add custom**
2. Name: `Yando`
3. URL: `https://mcp.bigdeez.com/mcp`
4. Leave the OAuth fields blank — Claude.ai discovers them automatically
5. You'll be redirected to a consent page — enter your Yando API key to approve access

### Claude Desktop

Claude Desktop connects to the remote MCP server using your API key directly.

1. Open Claude Desktop settings (gear icon → Developer → Edit Config)
2. Add this to your configuration:

```json
{
  "mcpServers": {
    "yando": {
      "url": "https://mcp.bigdeez.com/mcp",
      "headers": {
        "Authorization": "Bearer ynd_your_key_here"
      }
    }
  }
}
```

Replace `ynd_your_key_here` with your API key.

3. Restart Claude Desktop

### Cursor

Cursor uses the same configuration as Claude Desktop:

```json
{
  "mcpServers": {
    "yando": {
      "url": "https://mcp.bigdeez.com/mcp",
      "headers": {
        "Authorization": "Bearer ynd_your_key_here"
      }
    }
  }
}
```

## What Can Claude Do?

Once connected, Claude has access to 43 tools organized into these categories:

### Board Management

- **List your boards** — See all boards you own or have access to
- **Create boards** — Create blank boards or use a template (e.g., Business Model Canvas, SWOT Analysis)
- **Update boards** — Change the title or description
- **Delete boards** — Remove boards you own

### Working with Objects

- **Add sticky notes** — Place color-coded sticky notes on a board, optionally targeting a zone by name
- **Add text boxes** — Add text boxes for longer content, optionally auto-fitted to a zone
- **Update objects** — Change text, position, or other properties
- **Delete objects** — Remove objects from a board
- **List objects** — See everything on a board

**Zone-aware placement.** When Claude adds a sticky note or text box to a zone that has grid ordering enabled (for example, the zones in SWOT and Lean Canvas templates), Yando automatically snaps the note to the next free grid cell. This means you can say "add five ideas to the Strengths zone" and Claude doesn't need to know the exact coordinates — they'll line up neatly.

### Sticky Note Colors

Sticky note colors carry meaning. When asking Claude to add notes, you can specify a color:

| Color | Meaning |
|-------|---------|
| Yellow | Ideas and suggestions |
| Green | Decisions and agreements |
| Red | Concerns and blockers |
| Blue | Action items and tasks |
| Purple | Questions and follow-ups |
| Orange | General notes |

### Templates

- **Browse templates** — See your built-in and custom templates
- **Get template details** — View zones and layout information
- **Create custom templates** — Describe a framework in plain language and Claude will build the template (zones, colors, shapes)
- **Update templates** — Rename, resize, or edit zones on templates you own
- **Clone templates** — Copy any accessible template as a starting point
- **Add / update / remove zones** — Modify individual zones without rewriting the whole template
- **Add / delete scaffold objects** — Manage the pre-placed text boxes and sticky notes that ship with a template
- **Validate a draft layout** — Catch overlapping zones, angle wrap-around bugs, coverage gaps, and sizing issues before saving
- **Render a template preview** — Get a PNG snapshot of a draft or saved template so Claude can visually confirm the layout

### Template Layout Helpers

These tools compute zone coordinates for common patterns so Claude doesn't have to do the arithmetic:

- **Grid zones** — Even rows × columns with padding
- **Strip zones** — Horizontal or vertical bands
- **Pie zones** — Evenly divided circular wedges
- **Rect-sector zones** — Angular wedges that fill a rectangle (full coverage, no dead corners)
- **Matrix zones** — 2×2 matrices (e.g., Impact/Effort, Eisenhower)

### Export & Import

- **Export to JSON** — Get a structured export of a board's content
- **Export to Markdown** — Get a readable text version of a board
- **Import meeting transcripts** — Create a board from a video conference transcript with AI-powered extraction

### Board History

- **List snapshots** — See daily snapshots of a board's history
- **View a snapshot** — See the board's full state at a point in time

### Projects & Pages

- **Manage projects** — Create, update, list, and delete projects
- **Manage pages** — Create, update, list, and delete markdown pages within projects

## Example Conversations

Here are some things you can ask Claude once the MCP server is connected:

**Creating a board:**
> "Create a new SWOT Analysis board called 'Q3 Product Review'"

**Adding ideas to a specific zone:**
> "Add these as yellow sticky notes to the Strengths zone: faster onboarding, better docs, improved search"

**Flagging concerns:**
> "Add a red sticky note about the timeline risk for the API migration"

**Building a custom template:**
> "Create a custom template for a RACI chart — four vertical columns for Responsible, Accountable, Consulted, Informed"

**Previewing a template:**
> "Show me what my new RACI template looks like before I use it"

**Exporting content:**
> "Export my 'Sprint Planning' board as Markdown"

**Working with projects:**
> "Create a project called 'Product Launch' and add a page with our launch checklist"

**Reviewing history:**
> "Show me the snapshots for the Q2 Review board — what changed last week?"

**Meeting notes:**
> "Import this meeting transcript to a new board and organize the key points"

## Security Notes

- Your API key is never stored in plain text — it is securely hashed on the server
- Each API key only grants access to boards you own or have been invited to
- You can revoke an API key at any time from **Settings → API Keys**
- API keys can have an expiration date for extra security
- If you suspect a key has been compromised, revoke it immediately and create a new one

## Troubleshooting

**Claude says it can't find the Yando tools:**
- Make sure your API key is valid (not expired or revoked)
- Restart your AI client after changing the configuration

**"Authentication failed" errors:**
- Verify your API key starts with `ynd_`
- Check that the key hasn't been revoked in Settings → API Keys
- Make sure the MCP server URL is correct

**Objects not appearing on the board:**
- Refresh the board page — objects added via MCP appear in real time via WebSocket, but a refresh ensures everything is synced
- Check that you have editor access to the board

**Claude.ai OAuth consent page not loading:**
- Make sure the MCP server URL is correct and reachable
- Try removing and re-adding the MCP server in Claude.ai settings


---

# Keyboard Shortcuts

## Canvas Navigation

| Shortcut | Action |
|----------|--------|
| **Shift + Drag** | Pan the canvas |
| **Mouse Wheel** | Zoom in/out |
| **Ctrl + 1** | Fit all objects in view |
| **+** / **=** | Zoom in |
| **-** | Zoom out |
| **0** | Reset zoom to 100% |

## Object Creation

| Shortcut | Action |
|----------|--------|
| **N** | Create a sticky note (auto-enters edit mode) |
| **T** | Create a text box (auto-enters edit mode) |
| **Escape** | Finish editing / deselect |

New objects are created at the center of the current viewport. Press **Escape** when done editing to place the object.

## Editing

| Shortcut | Action |
|----------|--------|
| **Double-click** | Edit a sticky note or text box |
| **Delete** / **Backspace** | Delete selected object(s) |
| **Ctrl + Z** | Undo |
| **Ctrl + Shift + Z** | Redo |
| **Ctrl + C** | Copy selected object(s) |
| **Ctrl + V** | Paste copied object(s) |
| **Ctrl + D** | Duplicate selected object(s) |

## Selection

| Shortcut | Action |
|----------|--------|
| **Click** | Select an object |
| **Click + Drag** (on canvas) | Selection rectangle |
| **Escape** | Deselect all |

## Search & Filter

| Shortcut | Action |
|----------|--------|
| **Ctrl + F** | Open search panel |
| **Escape** | Close search panel |

The search panel lets you find objects by text content and filter by type (sticky notes, text boxes, shapes). Matching objects are highlighted and you can click results to jump to them.

## Rotation

| Shortcut | Action |
|----------|--------|
| Rotation controls in toolbar | Rotate selected object ±15 degrees |
| Precise angle input | Enter exact rotation angle |

## Other

| Shortcut | Action |
|----------|--------|
| **?** | Show keyboard shortcuts overlay |
| **M** | Toggle magnify mode (2.5x hover zoom) |

## Touch Gestures (Mobile/Tablet)

| Gesture | Action |
|---------|--------|
| **Pinch** | Zoom in/out (preserves focal point) |
| **Two-finger drag** | Pan the canvas |
| **Double-tap** | Reset zoom to 100% |
| **Long-press** | Enter edit mode on an object |
| **Single tap** | Select an object |
