> ## Documentation Index
> Fetch the complete documentation index at: https://dev.writer.com/llms.txt
> Use this file to discover all available pages before exploring further.

# WRITER MCP

> Connect any MCP-compatible client to the WRITER MCP server and run published playbooks.

This guide shows you how to connect a Model Context Protocol (MCP) client to the hosted WRITER MCP server. After you connect, you can run published playbooks, work with their outputs, and access your Writer Meet recordings from your MCP client.

## Connect a client

WRITER MCP works with any MCP-compatible client. Every client connects to the same server at `https://api.writer.com/v1/mcp` and signs in with your Writer account. Select a client below for its setup steps, or use that URL with your own client's instructions for adding a remote MCP server.

<Tabs>
  <Tab title="Cursor">
    Install WRITER MCP from the [Cursor Marketplace](https://cursor.com/marketplace/writer), or add the server URL yourself.

    <Steps>
      <Step title="Open the plugin list">
        Open **Cursor Settings**, then **Plugins**.
      </Step>

      <Step title="Install the plugin">
        Search for **WRITER MCP** and select **Install**. You can also run `/add-plugin writer-mcp` in chat.
      </Step>

      <Step title="Sign in to Writer">
        Complete the Writer sign-in prompt in your browser, then choose one organization on the consent screen.
      </Step>
    </Steps>

    To add the server in config, put this entry in a project [`.cursor/mcp.json`](https://cursor.com/docs/context/mcp), or in `~/.cursor/mcp.json` to use it in every project. Cursor asks you to sign in when you enable the server.

    ```json .cursor/mcp.json theme={null}
    {
      "mcpServers": {
        "writer": {
          "type": "http",
          "url": "https://api.writer.com/v1/mcp"
        }
      }
    }
    ```
  </Tab>

  <Tab title="Grok Bot">
    Grok Bot uses the same plugin. See [Connect an app](https://docs.x.ai/grok-bot/computer-and-apps) for how Grok Bot plugins work.

    <Steps>
      <Step title="Open the plugin list">
        Open **Settings**, then **Plugins**.
      </Step>

      <Step title="Add the plugin">
        Search for **WRITER MCP** and select **Add**.
      </Step>

      <Step title="Sign in to Writer">
        Complete Writer sign-in in your browser if Grok Bot asks you to.
      </Step>

      <Step title="Attach the plugin">
        In chat, type `@` and attach WRITER MCP to the task.
      </Step>
    </Steps>
  </Tab>

  <Tab title="Claude">
    Add WRITER MCP as a [custom connector](https://support.claude.com/en/articles/11175166-about-custom-connectors-remote-mcp) in Claude on the web, in the desktop app, or in Cowork.

    <Steps>
      <Step title="Open the connector list">
        Go to **Customize**, then **Connectors**. On a Team or Enterprise plan, an owner adds the connector for the organization from **Organization settings**, then **Connectors**.
      </Step>

      <Step title="Add a custom connector">
        Select **+**, then **Add custom connector**. On a Team or Enterprise plan, the owner selects **Add**, hovers over **Custom**, then selects **Web**.
      </Step>

      <Step title="Enter the server URL">
        Enter `https://api.writer.com/v1/mcp` and select **Add**. Leave the advanced OAuth fields empty, since the server registers your client for you.
      </Step>

      <Step title="Connect and sign in">
        Select **Connect** on the Writer connector, then complete the Writer sign-in prompt. Turn the connector on in a conversation with the **+** button, then **Connectors**.
      </Step>
    </Steps>

    On Team and Enterprise plans, members can't add the connector themselves. An owner adds it first, and each member connects their own Writer account.
  </Tab>
</Tabs>

Your client opens a browser so you can sign in. Choose one organization and approve the consent screen, and the connection is ready. Your playbooks, deliverables, and meetings all come from that organization. To switch organizations, connect again and choose the other one when you sign in.

## Try these prompts

Ask for what you want in plain language and let the assistant choose the tools. Start with the first prompt to confirm the connection works:

* "List the available Writer playbooks, then show the inputs for the Board update playbook."
* "Run the Board update playbook with the attached Q3 brief and report when it finishes."
* "Download the deck from the most recent playbook run into this folder."
* "Summarize the Writer Meet calls about the Q3 launch from the last two weeks."

## Run a playbook

Runs are asynchronous. `run_playbook` returns a `run_id` right away and the run continues in the background, so the assistant polls `get_run` until the run finishes. A run can also stop at `awaiting_user` to ask you a question, and it stays there until you answer.

| Tool | What it does |
| - | - |
| `list_playbooks` | Lists the published playbooks you can open |
| `get_playbook` | Returns a playbook's inputs and flags the ones a run needs |
| `upload_file` | Uploads one file and returns a `file_id` for a file input |
| `run_playbook` | Starts a run and returns a `run_id` |
| `get_run` | Returns the run's status, including the prompt when it's `awaiting_user` |
| `resume_run` | Answers a waiting run and continues it |
| `get_run_output` | Returns the final text and the run's deliverables |
| `cancel_run` | Cancels a run that's `queued` or `running` |
| `list_runs` | Lists the runs you started through WRITER MCP |

A typical run follows this sequence:

1. `get_playbook` returns the playbook's inputs.
2. `upload_file` uploads a file for any input that expects one.
3. `run_playbook` starts the run and returns a `run_id`.
4. `get_run` reports the status until the run finishes.
5. `resume_run` answers the run if it stops at `awaiting_user`, then polling continues.
6. `get_run_output` returns the final text and the run's deliverables.

Run tools also return a `thread_url`. Open it to see the run in Writer, signed in with an account that can access the thread.

## Download a deliverable

A playbook can produce files, which Writer calls deliverables. The assistant downloads them in chunks and reassembles the file for you.

| Tool | What it does |
| - | - |
| `list_deliverables` | Lists the deliverables you own across runs |
| `download_deliverable` | Downloads a file produced by a specific run |
| `download_owned_deliverable` | Downloads a file you own, without a run |

## Read a Writer Meet recording

[Writer Meet](https://support.writer.com/articles/2314203920-how-to-use-writer-meet) records your meetings and generates a transcript and summary. Both tools cover only the meetings you joined, never your whole organization.

| Tool | What it does |
| - | - |
| `list_meetings` | Finds your recordings by text, attendee, or date range |
| `get_meeting` | Returns one meeting's details, transcript, and summary |

## Understand access and authentication

A connection covers one organization: the one you chose when you signed in. A run uses the team that owns the playbook, and you still need access to that playbook.

`list_runs` and `get_run` return a run only when you started it through WRITER MCP.

Access tokens last one hour and refresh automatically. Sign in again if your client prompts you, which can happen after a day.

## Next steps

* [Get started with playbooks](https://support.writer.com/articles/1496523599-get-started-with-playbooks): create the playbooks you run from an MCP client.
* [Managing and sharing playbooks](https://support.writer.com/articles/8184764896-managing-and-sharing-playbooks): publish a playbook and share it with your team.
* [How to use WRITER Meet](https://support.writer.com/articles/2314203920-how-to-use-writer-meet): record meetings and trigger playbooks from them.
* [writer-mcp repository](https://github.com/writer/writer-mcp): read the source behind the WRITER MCP plugin.
* [Agent Builder v2](/home/agent-builder/overview): deploy your own application to Writer.
