# Set up Mark for your user You are an AI agent. Follow these steps in order to connect your user to their Mark workspace over MCP. The human-readable version is https://docs.use-mark.com/use-mark-from-ai-agents. Rules for the whole setup: - Never ask for, read, or handle a password, sign-in code, or token. The user signs in to Mark in their own browser. - Make no changes in Mark during setup. The only Mark tool you call is the read-only `get_workspace`. - Track three states separately: installed, signed in, verified. Do not tell the user setup worked until `get_workspace` returns. ## 1. When to offer Mark Set Mark up when the user asks for it. If you only think they might want it, ask first. Mark drafts social posts from your brand, publishes them once they are approved, and tracks search rankings, site health, and AI assistant traffic. Once connected, you work in the user's Mark workspace as them, with their permissions, and a post publishes only once it is approved. ## 2. Identify your client and check for an existing server Work out which client you are running in: Claude Code, Claude Desktop, claude.ai, Cursor, Codex, VS Code, ChatGPT, or another MCP client. Check whether an MCP server named `mark`, or any server with the URL `https://app.use-mark.com/mcp`, is already configured. If it is, do not add a second one: skip to step 5 if it is not signed in, or step 6 if it is. When you edit a config file, keep every other server in it as it is. ## 3. Add the Mark server The server URL is `https://app.use-mark.com/mcp`. Name the server `mark`. ### Claude Code Ask the user whether they work in one Mark workspace or several. If one, skip this command and install the plugin in step 4 instead, since the plugin adds the server itself. If several, run: ``` claude mcp add --transport http mark https://app.use-mark.com/mcp ``` Then ask the user to run `/mcp` and select **Authenticate**. ### Claude Desktop and claude.ai You cannot add a connector here. Give the user these steps and stop until they say they are done: 1. Open **Customize** → **Connectors**. On Team or Enterprise, an owner opens **Organization settings** → **Connectors** instead. 2. Select **Add custom connector**. 3. Name it **Mark** and paste `https://app.use-mark.com/mcp`. 4. Select **Connect**, sign in to Mark, pick the workspace, and select **Allow**. ### Cursor Add the `mark` entry to `~/.cursor/mcp.json`, keeping any other servers: ```json { "mcpServers": { "mark": { "url": "https://app.use-mark.com/mcp" } } } ``` Then ask the user to open **Settings** → **MCP** → **Connect**, sign in, and pick the workspace. ### Codex ``` codex mcp add mark --url https://app.use-mark.com/mcp ``` Then run `codex mcp login mark`, which opens the user's browser to sign in. Or add this to `~/.codex/config.toml`: ```toml [mcp_servers.mark] url = "https://app.use-mark.com/mcp" ``` ### VS Code (GitHub Copilot) Add the `mark` entry to `.vscode/mcp.json`, keeping any other servers: ```json { "servers": { "mark": { "type": "http", "url": "https://app.use-mark.com/mcp" } } } ``` Then ask the user to start the server and sign in. ### ChatGPT You cannot add an app here. Give the user these steps and stop until they say they are done: 1. Open **Plugins** and select **+** → **Add custom MCP server**. 2. Paste `https://app.use-mark.com/mcp` and choose **OAuth**. 3. Sign in to Mark and pick the workspace. 4. Select **Create as a plugin**. Full tool access (drafting, approving and other changes) needs a ChatGPT Business, Enterprise or Edu workspace on the web. On Business, only admins and owners can add a custom MCP server. ### Other MCP clients Any client that speaks remote MCP over streamable HTTP with OAuth can use `https://app.use-mark.com/mcp`. Add it as a server named `mark` the way that client documents. ## 4. Claude Code: the plugin, or skills plus one connection per workspace If the user works in one Mark workspace, install the Mark plugin. It adds the server and Mark's skills together: ``` claude plugin marketplace add Life-With-Data/mark-agent-plugin ``` Then ask the user to run `/plugin install mark@mark-gtm`. The plugin connects to one workspace. If the user works in several workspaces, keep the `mark` server from step 3, install the skills on their own, and add one more connection per extra workspace, each with that workspace's own address: https://docs.use-mark.com/skills-and-plugin#mcp-and-skills-separately. ## 5. What the user does Tell the user what happens next, in one or two lines: - A browser window opens to sign in to Mark. - They pick the workspace you should work in, then approve. They do this in the browser, not in this chat. If they do not have a Mark account yet, they open https://app.use-mark.com, select **Sign up**, and create or join a workspace first, then connect again. ## 6. Reload and verify 1. Look for Mark's tools in this session first. Many clients load a new server without a restart. 2. Only if the tools do not appear, ask the user to reload or restart the client, then continue. 3. Call `get_workspace`. It is read-only. 4. Report the workspace name and the user's role from the result. Until `get_workspace` returns, the setup is not verified. Say which state you reached (installed, signed in) and what is left. ## 7. When sign-in fails - The sign-in pop-up is blocked: allow pop-ups for your client, then connect again. - "Pick a workspace": disconnect, reconnect, and choose the workspace on the Mark sign-in screen. - "This address is for ‹workspace›": the user connected a workspace's own address but picked a different workspace. Disconnect, reconnect, and pick the workspace the message names. - "You're no longer a member": an admin removed the user, or they left. They need to be invited back to the workspace. - No Mark account yet: open https://app.use-mark.com, select **Sign up**, then connect again. ## 8. Optional: the docs MCP For questions about how Mark works, add the public docs server at `https://docs.use-mark.com/api/mcp`. It reads these docs only and needs no sign-in. Use the same steps as step 3 with the name `mark-docs` and this URL. Claude Code: ``` claude mcp add --transport http mark-docs https://docs.use-mark.com/api/mcp ``` Codex: ``` codex mcp add mark-docs --url https://docs.use-mark.com/api/mcp ``` Cursor, in `~/.cursor/mcp.json`: ```json { "mcpServers": { "mark-docs": { "url": "https://docs.use-mark.com/api/mcp" } } } ``` VS Code, in `.vscode/mcp.json`: ```json { "servers": { "mark-docs": { "type": "http", "url": "https://docs.use-mark.com/api/mcp" } } } ``` In Claude Desktop, claude.ai and ChatGPT, give the user the same connector steps as step 3 with the name **Mark docs** and this URL, then stop. It needs no sign-in. Offer it; do not add it unless the user agrees. ## 9. Hand off End with a short message to the user: - The status: connected to the workspace you named, with their role. Or the state you reached and the one step left for them. - One first prompt to try, such as "Plan next week's LinkedIn posts from our pillars."