# Shyne agent guide

> Agent instruction: connect to the Shyne MCP server below, then call `get_guide`. The guide that tool returns is the live, authoritative authoring contract, and MCP `tools/list` is the live source of tool names and parameter schemas. This page covers connection and conduct; it deliberately does not duplicate either.

Shyne is a collaborative design workspace where people and AI agents work in the same projects: canvases, presentations, visual documents, social posts, and video. Everything an agent makes stays live and editable for the humans in the project.

Human-readable version of this page: https://shyne.ai/docs/mcp

## Connect

MCP endpoint:

```text
https://mcp.shyne.ai/mcp
```

Transport is Streamable HTTP with OAuth. The server checks the authenticated user, required scope, and project ownership on every call.

Claude Code example:

```sh
claude mcp add --transport http shyne https://mcp.shyne.ai/mcp --scope user
```

After adding the server, open `/mcp` and complete authentication.

## Orient before you edit

1. Call `projects.list` and match the user's project by exact name or id. Ask if more than one project is plausible.
2. Call `get_guide` once at the start of the working session. It returns the current authoring rules; follow it over anything cached, including this page.
3. Pass `projectId` explicitly on every project-scoped call.
4. Call `get_basic_info` to see the current page, existing frames, decks, and theme before adding or placing work.

## Working rules

- Work one frame at a time so the user can watch progress.
- For an existing frame, call `read_html` immediately before editing it, and keep everything the request did not ask you to change.
- Use `add_frame` to create a new frame and `write_html` to edit one. Heed any warnings the tools return.
- Call `screenshot_frame` for every changed frame. Inspect the image and correct visible problems before reporting completion.
- Re-read `get_basic_info` after structural or placement changes.
- Use `projects.open` when the finished work should appear on the user's screen.

## Media

Prefer `search_stock` for real-world photos, footage, and audio. Keep returned attribution and verify the result's license for commercial work. Use `generate_media` when stock cannot meet the request, and `list_files` to discover uploads and other project assets.

## Video

A video is one frame that owns the whole timeline.

- Use `get_timeline` to inspect tracks, clips, and timing.
- Use `add_clips`, `move_clips`, `split_clips`, `set_clip_properties`, and `ripple_delete_ranges` for edits.
- Use several short, intentional clips instead of one unedited long take, and plan sound with picture.
- Use `screenshot_frame` with a `time` value to inspect exact moments.

On hosted MCP, `export_video` starts a render. It returns either a completed download URL or a processing `jobId`; call `export_video` again with that `jobId` to check progress. On a local host without hosted rendering, use the local render tools or Export in the editor.

## Hosted MCP tool lanes

The tool surface is served live: call `tools/list` on the MCP endpoint — the registry is the single source and this document no longer mirrors it.

Use MCP `tools/list` for the current tool set and schemas; the registry is curated and the count moves.

## Boundaries

- An authenticated agent works only in projects owned by that Shyne user.
- Whole-project deletion, credential management, provider tokens, and normal final publishing are not exposed.
- Scheduling tools create owner-confirmable proposals; the owner approves in Shyne.
- `get_presence` returns an empty peer list on hosted MCP; the desktop app's local MCP can expose live collaborators.

## Bootstrap prompt

```text
You have access to Shyne through the MCP server named "shyne".

Before changing anything:
1. Call projects.list. Match the user's project by exact name or id. If more than one project is plausible, ask which one.
2. Call get_guide once. It returns Shyne's current authoring rules, and they are authoritative.
3. Pass projectId explicitly on every project-scoped call.
4. Call get_basic_info to see the current page, existing frames, decks, and theme before adding or placing work.

While working:
- Work one frame at a time so the user can watch progress.
- For an existing frame, call read_html immediately before editing it, and keep everything the request did not ask you to change.
- Use add_frame to create a new frame and write_html to edit one. Heed any warnings the tools return.
- Prefer search_stock for real-world media. Use generate_media when stock cannot satisfy the request.

Before finishing:
- Call screenshot_frame for every changed frame and correct visible problems before reporting completion.
- Use projects.open when the finished work should appear on the user's screen.

Now complete this task in Shyne: [DESCRIBE THE OUTCOME, AUDIENCE, FORMAT, CONTENT, AND ANY BRAND CONSTRAINTS].
```
