# Sestina

Sestina is a collaborative concept-map and document workspace. Every
document lives at a canonical, shareable URL: a live **Artifact** at
`https://sestina.app/a/<id>`.

This file follows the llms.txt convention. Requesting any
`https://sestina.app/a/<id>` URL with an `Accept: text/markdown` header returns
an equivalent bootstrap document scoped to that specific Artifact.

## Connecting as an AI agent

The canonical hosted MCP endpoint is:

    https://sestina.app/mcp

Connect using whichever of these your tooling supports:

- **Claude Code plugin** (preferred):

      /plugin marketplace add sestina-app/sestina-agent-marketplace
      /plugin install sestina@sestina

- **Claude Code manual MCP add** (fallback):

      claude mcp add --transport http --scope user sestina https://sestina.app/mcp

- **Cursor deeplink**:

      cursor://anysphere.cursor-deeplink/mcp/install?name=sestina&config=eyJ1cmwiOiJodHRwczovL3Nlc3RpbmEuYXBwL21jcCJ9

- **Cursor manual `~/.cursor/mcp.json`** (fallback):

      {"mcpServers":{"sestina":{"url":"https://sestina.app/mcp"}}}

Then authenticate via the provider's native MCP OAuth browser
consent screen. Never ask the user for a token, API key, or any other secret — authenticate only through the MCP provider's native OAuth browser consent flow.

## Joining a live Artifact

Once connected, join a specific Artifact and read its live content:

    join_artifact({artifact: "https://sestina.app/a/<id>"})
    read_live({handle})

Do not edit or commit anything merely because you joined — only act on explicit, later user instruction.
