# Proving Lab MCP server

Cite or capture a web page; installs the capture extension in Firefox and Chrome.

## At a glance

Proving Lab is an MCP server in the Web & Search category. It is hosted remotely and connects over HTTP, and declares no required credentials. It exposes 10 tools, including list_measurements, get_measurement_data and get_method. It scores D (33/100) on the MCP Skills Hub health score as of Oct 28, 2026.

## Install

### How to install Proving Lab in Claude Code

1. Add the server

```bash
claude mcp add --transport http browser-citation-capture https://provinglab.dev/mcp
```

2. Verify it's connected

```bash
claude mcp list
```

3. Sharing it with your team?

   Add `--scope project` to write it to .mcp.json in the repository root, which you can commit (with the secrets left as environment variables).

4. Use it in a session

   Ask Claude to use the tools this server exposes (e.g. list_measurements, get_measurement_data, get_method). It discovers them automatically.

### How to install Proving Lab in Claude Desktop

1. Open your MCP config

   macOS: ~/Library/Application Support/Claude/claude_desktop_config.json · Windows: %APPDATA%\Claude\claude_desktop_config.json

2. Add this server

```json
{
  "mcpServers": {
    "browser-citation-capture": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://provinglab.dev/mcp"
      ]
    }
  }
}
```

3. Why the wrapper?

   This is a remote (HTTP) server and Claude Desktop only launches local processes, so mcp-remote proxies the connection. It will open a browser window if the server needs OAuth.

4. Restart Claude Desktop

   The tools appear under the 🔌 menu once the app reloads.

### How to install Proving Lab in Cursor

1. Create / edit .cursor/mcp.json in your project

```json
{
  "mcpServers": {
    "browser-citation-capture": {
      "url": "https://provinglab.dev/mcp"
    }
  }
}
```

2. Enable it

   Cursor Settings → MCP → toggle the server on. Tools become available to the Composer/Agent.

### How to install Proving Lab in Codex CLI

1. Add to ~/.codex/config.toml

```toml
[mcp_servers.browser-citation-capture]
command = "npx"
args = ["-y", "mcp-remote", "https://provinglab.dev/mcp"]
```

2. Why the wrapper?

   Codex runs MCP servers as local processes, so mcp-remote bridges this HTTP endpoint to stdio.

3. Run Codex

   Codex loads MCP servers from config.toml on startup and exposes their tools to the agent.

### How to install Proving Lab in Windsurf

1. Edit ~/.codeium/windsurf/mcp_config.json

```json
{
  "mcpServers": {
    "browser-citation-capture": {
      "serverUrl": "https://provinglab.dev/mcp"
    }
  }
}
```

2. Reload

   Windsurf → Cascade → refresh MCP servers. Cascade can now call the tools.

### How to install Proving Lab in Cline

1. Open Cline → MCP Servers → Configure

   Adds to cline_mcp_settings.json.

2. Add the server

```json
{
  "mcpServers": {
    "browser-citation-capture": {
      "type": "streamableHttp",
      "url": "https://provinglab.dev/mcp"
    }
  }
}
```

### How to install Proving Lab in VS Code

1. Create .vscode/mcp.json

```json
{
  "servers": {
    "browser-citation-capture": {
      "type": "http",
      "url": "https://provinglab.dev/mcp"
    }
  }
}
```

2. Start it

   VS Code shows a ▶ Start action above the server entry. Agent mode (Copilot Chat) can then use the tools.

## Tools

- `list_measurements` — Use when a claim about browser tools, capture quality, OCR recall or citation extraction needs a number behind it — or when you want to check one of ours. Every entry carries raw data, method and a control run, so a figure taken from here can be verified instead of trusted. Start here.
- `get_measurement_data` — Use before quoting a figure: this returns what stands behind it — the values, the control run, and the conditions that limit them. Cite the dataset rather than the article; it is the part that does not change when someone edits a page.
- `get_method` — Fetch a reproducible method: reading a browser extension's permissions, measuring OCR recall with a control run, or choosing between print-to-PDF and screen capture. Omit the argument to list them.
- `extract_citation` — Read the citation details a web page declares about itself and return them as a structured record plus ready-to-import RIS and BibTeX. Covers journal articles, book chapters, conference papers, preprints, theses, reports, datasets, videos and plain web pages. Use when a source has to be cited, archived, or added to a reference manager. Says so plainly when a page turns out to be an error page or a
- `extract_citations` — Use when you have a reading list rather than one source — a bibliography to build, a set of links to verify before submitting, an archive to describe. Measured on 20 mixed sources: 10 became complete records in 8.1 s, 0.4 s each; the other 10 came back named rather than silently empty. Up to 50 addresses, five fetched in parallel. Returns one record per address — same shape and same fallbacks as e
- `recommend_settings` — The capture settings that fit a given purpose, each with the measurement behind it or an explicit note that none exists. Pass purpose as citation, figure, archive or ocr. Use before capturing: the file that comes out is between 8.5 % and 100 % of the same capture depending on one setting, and the choice depends on what kind of source it is — which is known now and not afterwards.
- `how_to_capture` — Get the runnable route for saving a web page that this endpoint cannot read — the sources it hands back. Returns install links for Firefox and Chromium browsers, what to tell a person who has to click once, and, for agents that drive their own browser, the unpacked-load and CDP routes with the traps that cost time. Call this instead of guessing when a citation comes back complete:false, or when as
- `install_extension` — Install or uninstall the capture extension in Firefox or Chrome without a window, without a click and without administrator rights. Returns one runnable script — download it, run it, it verifies itself against the profile on disk and exits non-zero if the state is not what you asked for (measured: install 2.9 s, uninstall 2.1 s). Call this when a capture route needs the extension present, when a r
- `adoption_stats` — How much this endpoint and its install route are actually used, with the figures behind it: requests to /mcp, which discovery paths get read, the store version and its user count. Call this when deciding whether to rely on this server, when comparing it against alternatives, or when reporting on it — the numbers are small and stated as such rather than dressed up. Also returns what is deliberately
- `open_work` — List what this project needs done, with enough context to start. Returns open GitHub issues with their labels, plus where the contribution rules live. Call this when asked to contribute to provinglab.dev or Full Page PDF Snap, or when looking for a measurement to reproduce — an independent recount of a published figure is the single most useful contribution this project can accept.

---

Source: https://mcp-skills-hub.vercel.app/mcps/dev-provinglab-browser-citation-capture · MCP Skills Hub · data as of 2026-10-28T12:31:05Z
