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

> ## Agent Instructions
> PostQueen's hosted API is https://api.postqueen.ai. The public API base is https://api.postqueen.ai/public/v1 and takes the raw API key in the Authorization header, with no Bearer prefix.
> The MCP server for posting is https://api.postqueen.ai/mcp/YOUR_API_KEY (or /mcp with Authorization: Bearer YOUR_API_KEY). docs.postqueen.ai/mcp only searches these docs and cannot post.
> The API key is under Connections > API Keys in the app, and only workspace admins can see it.

# Paperclip

> Connect PostQueen in Paperclip's Apps page, and give its Claude Code and Codex agents the tools to write, schedule and check your posts.

export const AgentStatus = ({status, label, children}) => {
  const look = ({
    tested: {
      color: 'green',
      icon: 'badge-check'
    },
    'partly-tested': {
      color: 'green',
      icon: 'badge-check'
    },
    'vendor-docs': {
      color: 'surface',
      icon: 'book-open'
    },
    'not-possible': {
      color: 'gray',
      icon: 'circle-slash'
    }
  })[status] || ({
    color: 'gray',
    icon: 'circle-question-mark'
  });
  const cut = status === 'partly-tested' ? -1 : (label || '').indexOf(', ');
  const rest = cut > 0 ? label.slice(cut + 2) : '';
  const pill = status === 'partly-tested' ? 'Partly tested' : cut > 0 ? label.slice(0, cut) : label;
  const note = status === 'partly-tested' ? label : cut > 0 ? rest.charAt(0).toUpperCase() + rest.slice(1) + '.' : null;
  return <div className="pq-status not-prose" data-status={status}>
      <Badge color={look.color} shape="pill" size="md" icon={look.icon}>{pill}</Badge>
      {note || children ? <span className="pq-status-note">
          {note}
          {note && children ? ' ' : null}
          {children}
        </span> : null}
    </div>;
};

<AgentStatus status="vendor-docs" label="From the vendor's docs, not tested by PostQueen yet" />

Paperclip is an open-source app for running a team of AI agents, such as Claude Code, Codex, OpenClaw and Cursor, as a company: you set goals, hire agents, set budgets and approve their work from one dashboard. Connect PostQueen in its Apps page and your agents can plan, draft and schedule posts, with your approval on each change.

<div className="pq-visual pq-tint-lilac">
  <img noZoom src="https://mintcdn.com/forceplay/CEQwaAjYodG7Gh_r/images/site/agents/paperclip.webp?fit=max&auto=format&n=CEQwaAjYodG7Gh_r&q=85&s=309b83e8851e7ce63ec350ebffd62e9e" alt="A sample Paperclip chat with PostQueen connected: a request for posts, the PostQueen tools it used, and the reply" width="1280" height="920" data-path="images/site/agents/paperclip.webp" />
</div>

## Before you start

* **Plans:** Paperclip is free and open source (MIT). You host it yourself, and no Paperclip account is needed.
* **Platforms:** your own macOS, Linux or WSL2 machine with Node 24.11 or later, or Docker. PostQueen's tools reach Paperclip's Claude Code and Codex agents.
* **A PostQueen API key.** A workspace admin copies it from **Connections**.

<Info>
  **Where the API key is:** in the app, open **Connections > API Keys**. Only a workspace Admin or Super Admin can reveal or rotate it; other members see it masked. A workspace has one key, and each agent card on **Connections** shows your MCP address with the key already filled in.
</Info>

## Connect Paperclip

<Steps>
  <Step title="Add your own MCP server">
    In Paperclip, open **Apps**, then **Connect an app**, then **Connect your own MCP server**. Enter the address and press **Check link**:

    ```text wrap theme={"system"}
    https://api.postqueen.ai/mcp
    ```
  </Step>

  <Step title="Enter the key">
    Under **Advanced authentication**, choose **Key or token** and paste your PostQueen API key on its own, without the word `Bearer`. Paperclip saves it as an encrypted secret.
  </Step>

  <Step title="Review the tools">
    Reading tools start on. Tools that change something, such as scheduling a post, start off until you turn them on, and then ask for your approval by default.
  </Step>

  <Step title="Grant access">
    Give an agent, a project or the whole company access to PostQueen.
  </Step>
</Steps>

## Check that it works

Assign a Claude Code or Codex agent a task: "List my PostQueen channels." The agent answers with the channels you connected in PostQueen.

## Good to know

* **Only Claude Code and Codex agents get the Apps connection.** Other agent types in Paperclip use their own MCP settings.
* **Every value you enter becomes an encrypted Paperclip secret** and is never shown again.
* **A Claude Code agent managed by Paperclip ignores** servers added on the same machine with `claude mcp add`. Give it access in **Apps** instead.
* **There is no `paperclipai` command for MCP connections yet.** Use the **Apps** page.
* **Approval by default:** tools that change something ask before each call, so nothing is scheduled without you.
* **What it cannot do over MCP:** delete a post, or change a post's text or time. Do that on the calendar in the app. [The MCP tools](/mcp/tools) lists what it can do.

## Other ways to connect

| Way                         | Address                                      | Status                                 |
| --------------------------- | -------------------------------------------- | -------------------------------------- |
| Key or token in Apps        | `https://api.postqueen.ai/mcp`               | From Paperclip's docs. The route above |
| Sign in with PostQueen      | `https://api.postqueen.ai/mcp-oauth-dynamic` | Not tested yet                         |
| The PostQueen CLI and skill | No address                                   | Not tested yet                         |

<Tabs>
  <Tab title="Sign in (not tested yet)">
    In **Connect your own MCP server**, enter `https://api.postqueen.ai/mcp-oauth-dynamic` and choose **Sign in to continue**. Paperclip registers itself; a workspace admin signs in to PostQueen and approves.

    The sign-in address has 20 tools, all but `ask_postqueen`. Revoke access in PostQueen under **Connections > Approved Apps**.
  </Tab>

  <Tab title="CLI and skill (not tested yet)">
    For agent types that run commands:

    1. Install the CLI where the agents run: `npm install -g postqueen`.
    2. Save your PostQueen API key as a company secret, and add `POSTQUEEN_API_KEY` to the agent's environment variables with that secret as the source.
    3. In the Skills Store, import the skill from `https://github.com/GkhanKINAY/postqueen-agent/tree/main/skills/postqueen`.

    See [the postqueen skill](/agents/skill) and [the CLI](/cli/introduction).
  </Tab>
</Tabs>

## Try this first

Assign this to a Claude Code or Codex agent:

```text wrap theme={"system"}
List my PostQueen channels. Then plan next week's launch posts for Bluesky and save four of them in PostQueen as drafts, Monday to Thursday at 10am.
```

Approve the save when Paperclip asks. The drafts appear on your PostQueen calendar, ready for you to check and schedule. [Prompts to try](/mcp/examples) has more.

## Run it on a schedule

Add a routine with a cron schedule, such as `0 9 * * 1` for Mondays at 9am. Each run opens an issue for the routine's agent, which picks it up on its next heartbeat.

```text wrap theme={"system"}
Save next week's Bluesky posts in PostQueen as drafts.
```

Source: [Paperclip on GitHub](https://github.com/paperclipai/paperclip).

## Troubleshooting

| Symptom                                    | Fix                                                                                                                                               |
| ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| A Claude Code agent does not see PostQueen | Give that agent, its project or the company access in **Apps**. Servers added with `claude mcp add` are ignored while Paperclip manages MCP.      |
| Scheduling a post does nothing             | Tools that change something start off. Turn them on in **Apps**, then approve each call when Paperclip asks.                                      |
| The key is refused                         | Paste the key on its own, without the word `Bearer`, copied from **Connections > API Keys**. Only a workspace Admin or Super Admin can reveal it. |
| Another agent type cannot use PostQueen    | Only Claude Code and Codex agents get the Apps connection. Give other agents the PostQueen CLI instead.                                           |

More fixes are on [Troubleshooting agents](/agents/troubleshooting).

## Next steps

<CardGroup cols={2}>
  <Card title="Every agent" icon="bot" href="/agents/overview">
    Which agents can post to PostQueen, how each one connects, and what PostQueen has tested.
  </Card>

  <Card title="The MCP tools" icon="wrench" href="/mcp/tools">
    What each of the 21 tools does, and what an agent cannot do.
  </Card>

  <Card title="Prompts and tool calls" icon="messages-square" href="/mcp/examples">
    The order an agent calls the tools in, with prompts that work.
  </Card>

  <Card title="Troubleshooting agents" icon="life-buoy" href="/agents/troubleshooting">
    What to do when a connection or a command fails.
  </Card>
</CardGroup>
