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

# VS Code extension

> Use ClosedLoop AI in VS Code: add the MCP, see who asked for the issue you are working on, and ask @closedloop product questions in chat.

The ClosedLoop AI extension for VS Code brings customer evidence into the editor. It adds the ClosedLoop AI MCP for you, shows the customers behind the GitHub issue your branch is named for, and answers product questions as `@closedloop` in VS Code chat.

<Note>The extension is coming to the VS Code Marketplace and Open VSX. Until it is listed there, add the ClosedLoop AI MCP to VS Code by hand, as below: every agent in VS Code chat can then use the ClosedLoop AI tools.</Note>

## Add the MCP by hand

<Steps>
  <Step title="Add the MCP to your workspace">
    Create `.vscode/mcp.json` in your project (or run **MCP: Add Server** from the Command Palette and choose HTTP):

    ```json theme={"dark"}
    {
      "servers": {
        "closedloop-ai": {
          "type": "http",
          "url": "https://mcp.closedloop.sh"
        }
      }
    }
    ```

    For EU workspaces (`eu.app.closedloop.sh`), use `https://eu.mcp.closedloop.sh`.
  </Step>

  <Step title="Start it and sign in">
    Run **MCP: List Servers**, choose `closedloop-ai` and start it. Your browser opens the ClosedLoop AI sign-in: log in, select your workspace and click **Connect**. VS Code keeps the sign-in.
  </Step>

  <Step title="Ask a question">
    In VS Code chat, in agent mode, ask *"What do customers say about exports?"*. The agent answers with the ClosedLoop AI tools listed in the [tools reference](/docs/mcp-server/tools).
  </Step>
</Steps>

## What the extension adds

Once the extension is listed, installing it adds the MCP without the file above, and adds two things the MCP alone does not.

### Who asked for this

The **Who asked for this** view sits in the Explorer sidebar. On a branch named for a GitHub issue, such as `feat/123-export-reports`, it reads the issue's title and shows:

* **The matching themes**: the customer themes ClosedLoop AI matches to the issue title, each with its own number of product insights, customers and deal blockers. A theme marked *possible match* is close but not certain.
* **Revenue at stake**: for each theme, the current ARR of its paying customers, with the largest of them by name. When some paying customers' ARR is not known, the view shows the known amount as "at least" and says how many are missing. Revenue covers every customer of the theme, including its parts that are no longer open.
* **What customers said**: quotes, word for word, with the customer who said each one.

Each theme keeps its own numbers. One insight can belong to two themes, so the numbers are never added together.

The view refreshes when you switch branches. Click the refresh button in the view's title bar to reload it.

When there is nothing to show, the view says why:

| The view says | What to do |
| - | - |
| Loading the customers who asked for this issue... | Wait a moment |
| This editor cannot run the ClosedLoop AI view. | Add the MCP by hand, as above |
| Open a folder that is a git repository | Open your project's folder |
| This branch is not named for an issue | Switch to a branch that starts with the issue number, like `feat/123-short-name` |
| This repository's remote is not on GitHub | The view reads issue titles from GitHub only |
| Sign in to GitHub so ClosedLoop AI can read the title | Needed for a private repository; click **Sign in to GitHub** |
| No GitHub issue has the number in this branch name | Check the number in the branch name |
| ClosedLoop AI could not read this GitHub issue right now | Click **Try again** |
| Connect the ClosedLoop AI MCP and sign in | Click **Connect ClosedLoop AI** |
| No product insights match this issue's title yet | A clearer issue title usually finds them |
| ClosedLoop AI could not load product insights for this issue | Click **Try again**, or **Connect ClosedLoop AI** if you have not signed in |

### @closedloop in chat

Ask product questions in VS Code chat by starting with `@closedloop`:

* *"@closedloop what do customers say about exports?"*
* *"@closedloop which deal blockers mention single sign-on?"*

`@closedloop` looks the answer up with the ClosedLoop AI tools, names the customers behind each point and quotes them. It only reads: it never creates or changes anything in your workspace. It answers with the chat model you picked in VS Code.

## Other editors

Editors built on VS Code that cannot add an MCP from an extension, such as Cursor and Windsurf, add the ClosedLoop AI MCP by hand: use `https://mcp.closedloop.sh` for US workspaces and `https://eu.mcp.closedloop.sh` for EU workspaces, as shown in the [MCP setup guide](/docs/mcp-server/overview).

## Privacy

The extension sends the title of the GitHub issue your branch is named for to your ClosedLoop AI workspace, through the MCP you signed in to. `@closedloop` sends your question, and what the ClosedLoop AI tools return for it, to the chat model you picked in VS Code.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.