Knowledge · MCP

    MCP tool schemas and input validation

    Tool schemas tell an assistant what arguments are legal. Server-side validation decides what actually runs. Why both layers are required.

    Why do MCP tools need input schemas?

    A schema declares the arguments a tool accepts so an assistant can construct a valid call instead of guessing. It is a discovery aid, not a security boundary. The server must independently validate every argument, because a schema constrains a cooperative client and nothing else.

    Key takeaways

    • Schemas make tool calls predictable rather than improvised.
    • Client-side schema conformance is not server-side validation.
    • Identifiers supplied by a model must be verified to exist in the caller's tenant.
    • Unknown fields should be rejected, not silently ignored.
    • A vague schema produces confidently wrong calls.

    What a good schema does

    It names each argument, states its type, marks what is required, and describes what the value means in business terms. The description matters as much as the type: an assistant choosing between two similar tools reads the text, not your intentions.

    Loose schemas — a free-form object, an untyped identifier — invite the model to invent shapes that parse but mean nothing.

    What the server still has to do

    • Re-validate types and required fields, rejecting unknown properties.
    • Confirm every referenced record exists and belongs to the caller's organization.
    • Apply business rules the schema cannot express, such as state transitions.
    • Return a typed, readable error instead of a generic internal failure.

    Never trust a model-supplied identifier

    Language models produce plausible identifiers. A call that names a record from a different tenant must fail on existence-and-ownership verification before any handler logic runs. This check is not an optimization; it is the difference between a scoped consumer and a cross-tenant read.

    Where URBLD fits

    URBLD validates tool arguments with typed schemas on the server, verifies that every referenced entity exists inside the caller's organization before a handler proceeds, and returns typed error payloads so a failed call is legible to both the assistant and the audit trail rather than surfacing as an opaque internal error.

    FAQ

    Frequently Asked Questions

    Straight answers about how URBLD runs the business end-to-end.

    More in MCP

    The protocol that lets AI do work instead of describing it.

    Browse MCP
    Share this page