Review a sanitized tool catalog for missing descriptions, repeated names, and common structural issues. Get a bounded local review against selected MCP 2026-07-28 requirements, without connecting to a server.
Remove real secrets before pasting. Your input is processed in this tab’s memory; it is not sent, logged, or saved by this tool. Nothing is executed or connected.
Paste a tool array, or the result object containing tools from a tools/list response. A full JSON-RPC envelope is outside the accepted input shapes. Entries keep array order and appear as numbers in diagnostics; submitted names and values are never repeated in the result.
The reviewer checks that each entry is an object and has a string name. It flags absent or empty descriptions for editorial review and checks supplied description and title types. Name length, allowed characters, and repeated names are recommendations: the specification uses SHOULD-level guidance and scopes uniqueness to a server, not every MCP server on the internet.
A nextCursor field warns that the pasted inventory may be partial. The tool does not obtain other pages, discover a server identity, or compare versions of a catalog. A tool list can differ with authorization; review the intended caller’s complete inventory in your own environment.
The current Tool schema requires inputSchema to be a non-null JSON object with type object at its root. That rule does not forbid oneOf, anyOf, allOf, not, if/then/else, $ref, $defs, or $anchor alongside it. An input schema can omit properties. The checker does not insist on additionalProperties false or require every required name to appear in a direct properties map.
Optional outputSchema must itself be a JSON object, but can describe strings, arrays, numbers, or other output shapes. General JSON Schema supports boolean schemas; MCP’s top-level Tool schema fields are more specific. Boolean subschemas remain allowed in the small set of keyword shapes checked here.
For each supplied schema, only these root keyword shapes receive extra checks: $schema is a string, properties maps to schema objects or booleans, required is an array of unique strings, and additionalProperties is a schema object or boolean. These checks do not evaluate the schema’s meaning or every nested keyword. Composition and reference keywords receive an unevaluated-review note.
Use a validator for your chosen JSON Schema dialect and real examples of accepted and rejected arguments. This tool does not validate dialect identifiers, formats, regex patterns, references, defaults, examples, nested constraints, or actual outputs. It never fetches a referenced URL or evaluates a pattern. Complex x-mcp-header validity and extraction rules, icons, metadata, extensions, caching, and full tools/list response conformance are explicitly excluded.
The four standard annotation hints are checked for boolean values, with an optional string title. A note always reminds you that hints are untrusted. There is no security score, approval, or guarantee that a tool behaves as described. Text quality and ambiguous intent still need a human review of the descriptions.
The reference revision is 2026-07-28. This page does not turn an older tool list into a current protocol response or test initialization, sessions, discovery, subscriptions, or invocation behavior. Apply the revision and client requirements used by your own system.
For a fictional record lookup requiring a string identifier, use this acceptance matrix in your own test environment. First use this browser reviewer for its selected definition-shape checks, then validate the schema itself with your chosen dialect’s validator. Neither step proves runtime argument handling or authorization. Actual evidence is blank because these cases have not been run here.
| Case | Check owner | Expected evidence | Actual evidence |
|---|---|---|---|
| Valid identifier for an authorized fixture | Schema validator and server implementer | Arguments pass the declared schema; an authorized test call returns the expected synthetic record. | |
| Missing required identifier | Schema validator and server implementer | The validator rejects the missing required field; a separate server test confirms rejection before lookup. | |
| Identifier has the wrong type | Schema validator and server implementer | The validator rejects a number where a string is required; the server rejects the invalid arguments before lookup. | |
| Syntactically valid identifier outside the caller’s workspace | Server authorization owner | Arguments may pass schema validation, but the call is denied without returning the other workspace’s record. | |
| Output fails the declared schema | Output consumer and server implementer | A deliberately malformed fixture is rejected by output validation and is not treated as a usable record. |
The synthetic example describes a fictional record lookup; it cannot be invoked here. Bounds apply before review: 100,000 UTF-8 bytes, 100 tools, depth 20 with the root at zero, and 10,000 JSON values including objects and arrays. Excess input is rejected with no partial receipt. The optional copied receipt removes all submitted keys and values; it is not a repaired or runnable tool definition.
No. It checks a defined subset of tool structure against MCP 2026-07-28, plus selected root keyword shapes. It does not evaluate schemas, resolve references, validate example arguments or outputs, inspect x-mcp-header rules, or certify security or client compatibility.
The MCP 2026-07-28 Tool schema requires inputSchema itself to be a JSON object with type object at its root. Composition, conditional, and reference keywords can appear alongside that type. The reviewer does not require properties or additionalProperties false. Output schemas do not inherit this input-root restriction.
The recommended name length and character set are SHOULD-level guidance. Repeated names need review within a server; names from separate servers can collide legitimately. This tool compares only the supplied set, uses case-sensitive names, and cannot establish server identity.
No. Annotations are publisher-supplied hints, not authorization or proof of effects. Verify behavior and enforce access separately. This reviewer never invokes a tool, and a clean structural result does not establish safety.
Remove secrets before pasting. Input stays in this tab's memory and is not sent, logged, or saved by the reviewer. Copy exports a non-runnable receipt with all submitted names and values omitted. Inspect any copy before sharing; Clear all cannot erase an existing clipboard copy.