MCP Elicitation Safety Linter

Inspects only bounded field names, types, and descriptions. It identifies secret-like or high-risk personal fields in form-mode elicitation and never accepts the field values themselves.

Use when

  • An MCP elicitation design needs a secret and personal-data safety review.
  • A developer must choose between form and trusted URL collection.

Do not use when

  • Actual elicited values would be supplied to the tool.
  • A legal privacy, security, or compliance determination is required.

Invocation contract

HTTP
/v1/tools/mcp-elicitation-safety-linter
Version
0.1.0
Mode
lookup
Idempotency
not required
Retention
Field metadata is linted in memory. No elicited values are accepted or retained.
Tested with
MCP form elicitation, MCP URL elicitation

Positive and negative examples

{
  "input": {
    "mode": "form",
    "fields": [
      {
        "name": "project_name",
        "type": "string",
        "required": true
      }
    ]
  },
  "output": {
    "safe": true,
    "recommended_mode": "form",
    "findings": []
  },
  "negative": [
    {
      "scenario": "Actual elicited values would be supplied to the tool.",
      "expected_error": "INVALID_INPUT",
      "charged": false
    }
  ]
}

Deterministic errors

CodeRetryChargedRecovery
INVALID_INPUTfalsefalseCorrect the request to match input_schema.
TOOL_PAUSEDtruefalseWait for the operator to resume the tool.
RATE_LIMITEDtruefalseRetry after the response Retry-After interval.
DEPENDENCY_UNAVAILABLEtruefalseRetry with the same idempotency identity.

Full machine manifest

The HTTP, OpenAPI, MCP, llms.txt, and ARD descriptions are generated from this same registry record.

Open JSON manifest →