# Montra > Montra turns narrated screen recordings into implementation-ready documents made of tickets. This file describes how AI agents read Montra share links, what a restricted link means, and how a person connects Montra to their agent. ## How agents read a share link A Montra share link looks like https://montra.com/share/. One URL serves two audiences: - People open it in a browser and get the share viewer: video, tickets, screenshots. - Agents get a JSON payload: fetch https://montra.com/share/.json, or request the share URL with a non-HTML Accept header. The payload carries the document, every in-scope ticket with its markdown spec, annotated screenshot URLs, recordings, transcripts, and agent instructions. Query parameters on the link (?tickets=, ?documentId=) narrow it and are honored as given. - Agents connected to the Montra MCP server resolve the same link with the get_document_by_share_url tool, passing the URL exactly as given. That tool reads as the person's own Montra user, so any link they can see resolves, whatever its visibility setting. ## What a restricted link means Share links are invite-only by default. For an invite-only link the anonymous JSON payload comes back with kind "montra.share.accessRequired" and accessible: false instead of tickets, and the web page shows "You don't have access". Signing in on that page is for the invited person's browser; it does not give an agent access. The link resolves for an agent only through the MCP connector described below. The way through is for the person to connect Montra to their agent and paste the link again in a new session. A sentence that says this to them: "This Montra link is invite-only, so I can't read it yet. Connect Montra to me, then paste the link again in a new session." If the connector cannot be added, the person who shared the link can switch it to "Anyone with the link" in Montra's Share dialog or invite the agent's account; the JSON payload then resolves anonymously. Skipping the connector during Montra onboarding is fine: it can be connected at any time. Expiring agent URLs inside a payload are never the link to hand to a person or paste into a tracker; the share link as given is. ## Connecting Montra to an agent The connector is a remote MCP server at https://montra.com/api/mcp (Streamable HTTP transport, OAuth 2.1 sign-in in the browser, no API key). Authorization metadata: https://montra.com/.well-known/oauth-protected-resource. Per client: - Claude.ai and Claude desktop: one click at https://claude.ai/directory/montra - Claude Code in a terminal: claude mcp add --transport http montra https://montra.com/api/mcp — then /mcp, select montra, finish the browser sign-in - Claude Code inside the Claude desktop app: one click at https://claude.ai/directory/montra (that app's connectors come from the claude.ai account) - Codex: codex mcp add montra --url https://montra.com/api/mcp && codex mcp login montra — the login command opens the browser sign-in - Cursor: add { "mcpServers": { "montra": { "url": "https://montra.com/api/mcp" } } } to ~/.cursor/mcp.json; Cursor prompts for sign-in on first connect - ChatGPT: Settings → Apps & Connectors → Developer mode → Create → https://montra.com/api/mcp - Any other MCP client: add a remote MCP server at https://montra.com/api/mcp. Setup guide: https://docs.montra.com/connect The connector is available in the next session, not the one that added it: after the sign-in, the person starts a new session and pastes the link again. ## Discovery - MCP: https://montra.com/api/mcp - Authorization: oauth2, metadata at https://montra.com/.well-known/oauth-protected-resource - Agent payload for a share link: https://montra.com/share/.json - Claude connector directory: https://claude.ai/directory/montra ## Docs - Setup guide: https://docs.montra.com/connect - Share links: https://docs.montra.com/guides/share-links - Agent workflow: https://docs.montra.com/guides/agent-workflow - Tool reference: https://docs.montra.com/tools - Authentication and workspace binding: https://docs.montra.com/authentication