# Centering Lab (remote · centeringlab.com)

Measure card centering and check PSA, BGS, CGC and SGC centering ceilings and standards.

- Trust score: 86/100 (high trust)
- Change this week: 0
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-07

## Components

- remote · `centeringlab.com`: 86/100 (this document), [markdown](https://verifymcp.io/servers/com-centeringlab-centering-lab/centeringlab.md), [page](https://verifymcp.io/servers/com-centeringlab-centering-lab/centeringlab)

## Channel facts

- Endpoint: `https://centeringlab.com/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.2.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-11-07.

- **Endpoint Security**: 83/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - No authorisation is required to call this server. Nothing on it is marked destructive, but we can't show that an anonymous caller can only read: full credit needs the server to list at least one tool and every tool to be verifiably read-only. We use a best-effort check of tool names and descriptions to tell read-only tools from tools that change things, so some genuinely read-only tools may not get full credit. Names that start with a read verb (get, list, read, search and similar) and accurate readOnlyHint annotations help. Meet that to earn full credit, or require authorisation.
  - HTTPS is enforced; there's no plaintext access path.
  - The HSTS (Strict-Transport-Security) header is present.
  - DNSSEC is configured correctly; the domain's records validate against the full chain to the root.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 63/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 1904 tokens (~634/item across 3 items; 3 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 97/100
  - Stability observed for 29 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
  - Structured output schemas are declared (100% of tools); any adoption earns full credit.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 3 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 4 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### How do I install the Centering Lab MCP server?

Centering Lab is a hosted endpoint at https://centeringlab.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http com-centeringlab-centering-lab 'https://centeringlab.com/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "com-centeringlab-centering-lab": {
      "url": "https://centeringlab.com/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "com-centeringlab-centering-lab": {
      "type": "http",
      "url": "https://centeringlab.com/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.com-centeringlab-centering-lab]
url = "https://centeringlab.com/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-centeringlab-centering-lab": {
      "type": "remote",
      "url": "https://centeringlab.com/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add com-centeringlab-centering-lab --url 'https://centeringlab.com/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  com-centeringlab-centering-lab:
    url: "https://centeringlab.com/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "com-centeringlab-centering-lab": {
      "Transport": "http",
      "Url": "https://centeringlab.com/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add com-centeringlab-centering-lab -t streamable-http -u 'https://centeringlab.com/mcp'
```

### Other

```json
{
  "mcpServers": {
    "com-centeringlab-centering-lab": {
      "type": "http",
      "url": "https://centeringlab.com/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-11-07 (score 86, −1)

- [functional] Stability: pass → 0.97

### 2026-11-06 (score 87, 0)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-11-05 (score 87, +1)

- [security] Stability: 0.97 → pass

### 2026-11-04 (score 86, −1)

- [functional] Stability: pass → 0.97

### 2026-11-01 (score 87, +1)

- [security] Stability: 0.97 → pass

### 2026-10-30 (score 86, +1)

No change was recorded against any check on this day. Stability & Change Management went from 90 to 93. That category is still filling its 30-day observation window: 27 days of observed history at the previous scan, 28 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-28 (score 85, +1)

No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-26 (score 84, +1)

No change was recorded against any check on this day. Stability & Change Management went from 77 to 80. That category is still filling its 30-day observation window: 23 days of observed history at the previous scan, 24 at this one. The score rises as the window fills, whether or not the server changes.

## MCP tools (3)

### `grade_centering` (~978 tokens)

Grade known card centering ratios

USE THIS TOOL whenever the user supplies numeric centering ratios and asks whether a card meets PSA/BGS/CGC/SGC or asks for a centering ceiling. Do not calculate by looking up standards yourself. Example: {"front_lr":"55/45","front_tb":"60/40","house":"PSA"}. At least one known face AND axis; if either is unknown, ask first, never assume front/LR. Optional house PSA/BGS/CGC/SGC, TAG excluded. Flat front_lr/front_tb/back_lr/back_tb, or nested {"front":{"lr":"55/45","tb":"60/40"}}; no duplicates. Key/house case accepted. Ratios: percentages, fractions, pairs with / - – — : x or spaces, optional %, or [55,45]/["55","45"]. Scalar 1 rejected; use 1/99. Axis suffix must match field. Changes disclosed in normalizations. Partial input gives incomplete=true: report provisional ceiling and missing data. A ceiling from centering alone is NOT a predicted grade. SGC back alone has no published ceiling.

Input parameters:

- `back` (object): Alternative nested form; supply lr and/or tb, never mix with the corresponding flat keys. Example: {lr:'55/45',tb:'60/40'}.
- `back_lr`: Back left/right. Optional individually; supply at least one known axis. Do not guess the face or axis. Example: 55/45. Known face/axis ratio. Examples: 55/45, 0.55, [55,45] (service alternative). A p…
- `back_tb`: Back top/bottom. Optional individually; supply at least one known axis. Do not guess the face or axis. Example: 55/45. Known face/axis ratio. Examples: 55/45, 0.55, [55,45] (service alternative). A p…
- `front` (object): Alternative nested form; supply lr and/or tb, never mix with the corresponding flat keys. Example: {lr:'55/45',tb:'60/40'}.
- `front_lr`: Front left/right. Optional individually; supply at least one known axis. Do not guess the face or axis. Example: 55/45. Known face/axis ratio. Examples: 55/45, 0.55, [55,45] (service alternative). A…
- `front_tb`: Front top/bottom. Optional individually; supply at least one known axis. Do not guess the face or axis. Example: 55/45. Known face/axis ratio. Examples: 55/45, 0.55, [55,45] (service alternative). A…
- `house` (string): Optional: return only PSA/BGS/CGC/SGC. Case/outer spaces accepted. TAG excluded; never substitute a different house. Example: PSA.

Output parameters:

- `back`
- `combined` (object)
- `disclaimer` (string)
- `front`
- `incomplete` (boolean)
- `missing_faces` (array)
- `normalizations` (array)
- `summary` (string)

### `get_centering_standards` (~258 tokens)

Card centering standards and sources

USE ONLY for questions about published THRESHOLDS, tolerance, rules or SOURCES without grading the user's supplied numeric ratios. For PSA 10 compatibility with supplied ratios use grade_centering instead; it applies rounding and house-specific rules. If face/axis is unknown, ask first without any call. Example: {"house":"BGS","face":"back"}; fields optional, {} returns all. Houses PSA/BGS/CGC/SGC (case accepted), TAG excluded: explain proprietary assessment; never substitute another house. Face front/back in English; case/spaces accepted, reverse/obverse and translations rejected. SGC back has empty bands, no published table or ceiling; never invent one. Returns official/interpreted/approximate status, sources and verification. Not a final-grade prediction.

Input parameters:

- `face` (string): Face: front or back, in English. Ask the user if unknown. Case and outer whitespace accepted; never use reverse/obverse or translated names. Example: front.
- `house` (string): Grading house: PSA, BGS, CGC or SGC; TAG is excluded. Case/outer whitespace accepted by the service. Example: PSA (psa also accepted).

Output parameters:

- `disclaimer` (string)
- `normalizations` (array)
- `rounding_rule` (string)
- `standards` (array)
- `summary` (string)
- `tag_note` (string)

### `measure_card_centering` (~430 tokens)

Measure centering from a card photo

Measure one ACTUAL photograph. Example shape: {"face":"front","image_base64":"<complete actual image bytes>"}. Ask front/back BEFORE calling if unknown. Exactly one user-provided public HTTPS image URL (port 443) or complete base64 source, never both. Never decode, repair or re-encode bytes yourself; never invent, shorten or rewrite base64; pass it verbatim, including an image data-URL prefix or whitespace (service normalizes). If chat attachment cannot be forwarded, send user to https://centeringlab.com/. card_size standard=63×88 mm including Japanese Pokémon; small=59×86 mm including Yu-Gi-Oh!, not inferred from language. Request a whole card flat from above on dark surface; if sleeved/toploader or tilted, recommend a retake first. Borderless: suggest back/manual site. API photos reach server memory; site stays local. needs-review/failed gives ceilings=null: retake or adjust manually, no grade prediction. Inspect status/code even on HTTP 200; respect Retry-After.

Input parameters:

- `card_size` (string): standard = 63×88 mm; small = 59×86 mm. Japanese Pokémon uses standard; Yu-Gi-Oh! uses small. Case/outer whitespace accepted. Example: standard.
- `face` (string, required): Required: front or back (English). Ask the user before calling if unclear. Case/outer whitespace accepted, e.g. Front; reverse/obverse are rejected.
- `image_base64` (string): Actual base64 raster image bytes supplied by the client. Image data-URL prefix and whitespace/newlines are accepted and normalization is disclosed. Never invent bytes or substitute an attachment file…
- `image_url` (string): Public HTTPS image URL, port 443. Private network addresses and non-image responses are rejected. Use only a URL supplied by the user: never invent one. Example syntax: https://images.example.org/car…

Output parameters:

- `adjust_url` (string)
- `advice` (string)
- `card_size` (string)
- `ceilings`
- `code` (string)
- `confidence`
- `disclaimer` (string)
- `elapsed_ms` (number)
- `face` (string): Face: front or back, in English. Ask the user if unknown. Case and outer whitespace accepted; never use reverse/obverse or translated names. Example: front.
- `image_bytes` (number)
- `lr`
- `normalizations` (array)
- `status` (string)
- `summary` (string)
- `tb`
- `warnings` (array)

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/com-centeringlab-centering-lab/centeringlab#diagnostics

## Score history

- 2026-11-07: 86
- 2026-11-06: 87
- 2026-11-05: 87
- 2026-11-04: 86
- 2026-11-03: 87
- 2026-11-02: 87
- 2026-11-01: 87
- 2026-10-31: 86
- 2026-10-30: 86
- 2026-10-29: 85
- 2026-10-28: 85
- 2026-10-27: 84
- 2026-10-26: 84
- 2026-10-25: 83
- 2026-10-24: 83
- 2026-10-23: 82
- 2026-10-22: 82
- 2026-10-21: 81
- 2026-10-20: 81
- 2026-10-19: 81
- 2026-10-18: 80
- 2026-10-17: 80
- 2026-10-16: 79
- 2026-10-15: 79
- 2026-10-14: 78
- 2026-10-13: 78
- 2026-10-12: 77
- 2026-10-10: 76
- 2026-10-09: 76
- 2026-10-07: 75

## Common questions

### What is the Centering Lab MCP server?

Centering Lab is an MCP server listed in the public MCP registry as com.centeringlab/centering-lab. Measure card centering and check PSA, BGS, CGC and SGC centering ceilings and standards. This page covers its hosted endpoint (https://centeringlab.com/mcp).

### Is the Centering Lab MCP server safe to use?

Centering Lab scores 86 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the Centering Lab MCP server expose?

Centering Lab exposes 3 tools: grade_centering, get_centering_standards, measure_card_centering. Their descriptions and schemas cost roughly 1,666 tokens of context every time the server is loaded.

### Does the Centering Lab MCP server require authentication?

No. We connected to Centering Lab without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

### Is the Centering Lab MCP server still maintained?

Centering Lab is still listed as active in the MCP registry. We last reached this channel on 7 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

### What did VerifyMCP test on the Centering Lab MCP server?

VerifyMCP ran 13 checks on Centering Lab, covering TLS certificate, Authorization, HTTPS, HSTS header and 9 more. Supply Chain Security and Provenance & Transparency do not apply to a hosted endpoint, so they were not tested. The score does not measure everything, and the scoring documentation lists what it leaves out.

## Links

- Remote endpoint: https://centeringlab.com/mcp
- Website: https://centeringlab.com/
- Changelog RSS feed: https://verifymcp.io/servers/com-centeringlab-centering-lab/centeringlab.xml
- Changelog JSON feed: https://verifymcp.io/servers/com-centeringlab-centering-lab/centeringlab/changelog.json
- Trust report (JSON): https://verifymcp.io/servers/com-centeringlab-centering-lab/centeringlab.json
- HTML version of this page: https://verifymcp.io/servers/com-centeringlab-centering-lab/centeringlab
