Skip to content

Latest commit

 

History

History
134 lines (102 loc) · 4.52 KB

File metadata and controls

134 lines (102 loc) · 4.52 KB

SuperBased Observer — GitHub Copilot (VS Code)

Local-first token, cost and cache observability for GitHub Copilot Chat in VS Code, installed through VS Code's own one-click MCP install link.

Requires the observer binary already on your PATH. This is wiring only — the link declares an MCP server that runs observer; it does not download or bundle it.

npm i -g @superbased/observer     # or: pipx install superbased-observer
observer start                    # run the local daemon

Install

Click the link (or paste it into a browser; on Linux, xdg-open "<link>" works from a terminal):

vscode:mcp/install?%7B%22name%22%3A%22observer%22%2C%22type%22%3A%22stdio%22%2C%22command%22%3A%22observer%22%2C%22args%22%3A%5B%22serve%22%5D%7D

VS Code Insiders:

vscode-insiders:mcp/install?%7B%22name%22%3A%22observer%22%2C%22type%22%3A%22stdio%22%2C%22command%22%3A%22observer%22%2C%22args%22%3A%5B%22serve%22%5D%7D

VS Code opens the MCP install prompt with the server pre-filled; confirm it, and the entry lands in your user profile. MCP: Add Server from the Command Palette and code --add-mcp '<json>' are the equivalent manual routes.

As a badge

To put the link in a README of your own:

[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install_observer-0098FF?logo=visualstudiocode&logoColor=white)](vscode:mcp/install?%7B%22name%22%3A%22observer%22%2C%22type%22%3A%22stdio%22%2C%22command%22%3A%22observer%22%2C%22args%22%3A%5B%22serve%22%5D%7D)

(The image comes from shields.io, a third-party badge host; the link itself is first-party VS Code.)

Or as a workspace file

To share the server with everyone working in a repository, commit this as .vscode/mcp.json:

{
  "servers": {
    "observer": {
      "type": "stdio",
      "command": "observer",
      "args": [
        "serve"
      ]
    }
  }
}

⚠️ servers here, mcpServers in Copilot CLI

VS Code's mcp.json uses the top-level key servers. GitHub Copilot CLI — a different product, documented in ../copilot-cli/ — uses mcpServers and states outright that it will not read .vscode/mcp.json because of the servers key. Copy the block from the page that matches the product you are configuring; the wrong key fails silently.

What the link encodes

The payload is compact JSON, encodeURIComponent-escaped, exactly as VS Code's own developer guide describes:

{
  "name": "observer",
  "type": "stdio",
  "command": "observer",
  "args": [
    "serve"
  ]
}
Key Value Where it comes from
name observer The stable MCP server id observer registers under everywhere.
type stdio VS Code's discriminator for a command-launched server.
command + args observer serve The same launch observer init writes for every other client, resolved from PATH.

The link is static and exact: it encodes the one configuration observer would write itself, and nothing is composed from runtime or user input. That is the same rule the Cursor deeplink in ../cursor/ follows, and for the same reason — a one-click install URI that accepts arbitrary payloads is a command-execution surface.

The observer server exposes observer's project, session, cost and cache queries as tools, reading the local ~/.observer/observer.db. It makes no network calls of its own.

The VS Code extension is a different thing

SuperBased Observer also ships a VS Code extension (cost/status surfaces in the editor), published on the Marketplace and Open VSX. It is unrelated to this link: this wires observer's MCP server into Copilot Chat, the extension adds observer's own UI. Installing one does not install the other, and installing both is fine.

Double-wiring

observer init writes no VS Code MCP config today — internal/mcp has no VS Code client row (the Cline row is the VS Code Cline extension's own settings file, a different target) — so this link cannot duplicate anything observer wrote. Installing it AND committing the .vscode/mcp.json above declares the same server twice; pick one.

The automatic detect-and-skip observer init performs for the Claude Code plugin is claude-code-only (internal/claudeplugin); no equivalent probe exists here. Documented, not built.

Links