---
title: "The pre-call check: give ?url=<MCP server URL> and optionally ?tool=<tool name>; one keyless answer combining whether the server is registered, a live integrity probe against its recorded fingerprint (unchanged, changed with a plain diff, or unreachable), a fresh invisible-text scan of the definitions it serves now, standing security flags, the review aggregate from KYA-verified agents, and tool-name collision (shadowing) warnings. Checking an unregistered server probes it for this answer only and registers nothing. The answer is evidence to decide from — never a finding that a tool is safe."
method: GET
path: "/v1/security/precall"
tags: ["Platform"]
---

# The pre-call check: give ?url=<MCP server URL> and optionally ?tool=<tool name>; one keyless answer combining whether the server is registered, a live integrity probe against its recorded fingerprint (unchanged, changed with a plain diff, or unreachable), a fresh invisible-text scan of the definitions it serves now, standing security flags, the review aggregate from KYA-verified agents, and tool-name collision (shadowing) warnings. Checking an unregistered server probes it for this answer only and registers nothing. The answer is evidence to decide from — never a finding that a tool is safe.

`GET /v1/security/precall`

## Request

- Base URL: `https://www.rightshold.com`
- URL: `https://www.rightshold.com/v1/security/precall`
- Auth: none required

## Headers

- `X-Request-Id` string

## Response `200`

OK

- object: Inferred from 13 recorded responses; required fields appeared in every one; additional properties may appear.
  - `url` string, required
  - `effective_url` string, required
  - `redirects` unknown[], required
    - unknown
  - `tool` string, nullable, required
  - `registered` boolean, required
  - `server` object, nullable, required
    - `name` string
    - `version` string
    - `protocol_version` string
  - `registration` object, nullable, required
    - `slug` string
    - `page_url` string
    - `publisher_status` string
    - `linked_store_listing` unknown
    - `first_seen_at` string
  - `integrity` object, required
    - `status` string, required
    - `fingerprint` string, nullable, required
    - `fingerprint_version` integer, nullable, required
    - `detail` string, required
    - `note` string, required
    - `diff` object
      - `tools_added` unknown[], required
        - unknown
      - `tools_removed` unknown[], required
        - unknown
      - `tools_changed` object[], required
      - `server_identity_changed` boolean, required
  - `scan` object, required
    - `status` string, required
    - `findings` object[], required
      - `field` string, required
      - `class` string, required
      - `excerpt` string, required
    - `flag_ids` unknown[], required
      - unknown
    - `note` string, required
  - `flags` object, required
    - `status` string, required
    - `standing_flag_ids` unknown[], required
      - unknown
    - `note` string, required
  - `reviews` object, required
    - `total` integer, required
    - `current_count` integer, required
    - `current_average` unknown, required
    - `older_count` integer, required
    - `note` string, required
  - `shadowing_warnings` object[], required
    - `tool` string, required
    - `others` object[], required
    - `note` string, required
  - `tool_focus` object, nullable, required
    - `tool` string
    - `offered` boolean
    - `basis` string
  - `note` string, required
  - `checked_not_registered` boolean

## Other responses

- `400`: Problem details: a stable error code, type URI, title, status and an explanation
- `401`: Problem details: a stable error code, type URI, title, status and an explanation
- `404`: Problem details: a stable error code, type URI, title, status and an explanation
- `405`: Problem details: a stable error code, type URI, title, status and an explanation
- `422`: Problem details: a stable error code, type URI, title, status and an explanation
- `429`: Request budget exhausted; retry after Retry-After seconds
- `500`: Problem details: a stable error code, type URI, title, status and an explanation
- `4XX`: {error, detail}

---

[API](https://skmtc.dev/rightshold/apis/rightshold-api.md) · [All operations](https://skmtc.dev/rightshold/apis/rightshold-api/llms.txt) · [OpenAPI document](https://skmtc.dev/rightshold/apis/rightshold-api/revisions/cfe84fdde1ca?raw)
