# Connect a Framer site to Sightkick

Your user wants Sightkick to publish pages on their Framer site. Sightkick publishes the pages, whoever writes them (Sightkick, you or your user), into a CMS collection and publishes the site, each on its day. About 2 minutes.

## 1. Connect to Sightkick

- Sightkick's MCP server is https://app.sightkick.so/mcp (streamable HTTP, OAuth). If it isn't connected yet, connect it by https://sightkick.so/connect/agent.md. Its sign-in picks your user's workspace.
- Call get_settings with view: sites. If a Framer connection for this project is there with status connected, tell your user it's connected already and stop.
- A site has one publishing destination, so a second connection is refused. If another one is there, ask your user whether to move. Only on their yes, remove it (update_connections with action: remove), then go on.

## 2. Get the project and an API key

Framer makes API keys only in its editor, so ask your user for two things:

- the project's address, from the Framer editor's address bar (https://framer.com/projects/…)
- an API key: in the project, Site Settings → General → API Keys, create a key named Sightkick.

It is a secret: keep it out of code, commits and anything you share.

## 3. Connect

Call update_connections with action: connect_framer, projectUrl and apiKey.

- It writes to a collection named like a blog, else the first one it can write to, else it makes a new Blog collection. collectionId "new" always makes one. To let your user choose, call it with check: true first: it lists the collections and stores nothing.
- blogUrl is where the collection's pages live. It defaults to the site's address + /blog: pass it when the blog lives elsewhere.
- Sightkick adds the fields it needs to the collection.

## 4. Your user's step in Framer

connect_framer's note says what is left, and only your user can do it in the Framer editor: for a new Blog collection, add a CMS page for it at the blog's address and publish. In every case, bind Meta title, Meta description and Thumbnail in the collection page's settings, so Google reads them. If the project has unpublished changes, pages wait for your user's next publish.

## 5. Test

Call update_connections with action: test and the connectionId. ok: true means Sightkick can publish.

## Tell your user

Sightkick publishes each page to their Framer site on its day. They see the connection in Sightkick under Settings → Publishing, and change or remove it there.

If a step fails, its error says what to fix. Your user can also connect by hand: Settings → Publishing in Sightkick, "Set it up yourself".
