Knowledge · MCP

    Advertised capability vs registered handler

    A manifest entry is a claim. A registered handler is code. A deployed handler that persisted a result is proof. Three different things routinely reported as one.

    Does a listed MCP tool mean the action works?

    No. A manifest lists what a server claims to offer. A registered handler is the code that would run. Deployment decides whether that code is live, and a verifiable persisted result decides whether the action actually happened. Each step can be true while the next one is false.

    Key takeaways

    • Manifest advertising is not a handler.
    • A registered handler is not proof of deployment.
    • A deployed handler is not proof of successful execution.
    • Only a persisted, re-readable record proves the work happened.
    • Parity checks catch the gap between catalog and code before release.

    The four states of a claimed capability

    • Advertised: it appears in the tool list a client can read.
    • Registered: a handler exists in source and is wired to that name.
    • Deployed: that version of the handler is the one currently serving traffic.
    • Executed and persisted: a call ran and left a record you can open afterwards.

    How the gaps appear in practice

    A catalog entry is added ahead of the handler during development and never removed. A handler is written but the function is not redeployed, so the live endpoint still serves the previous build. A call returns a success envelope from a handler that swallowed a database error. None of these are exotic; all of them are invisible if you only read the tool list.

    How to close them

    Make the catalog and the code prove each other automatically: every advertised action must resolve to a handler and to a permission mapping, or the build fails. Then treat deployment as an explicit step with its own confirmation, and treat verification as reading the record back rather than trusting the response.

    Where URBLD fits

    URBLD's MCP catalog carries an explicit readiness flag per action, and a build-time parity script fails when any ready action lacks a handler or a capability mapping. Actions that are not individually signed off are simply not returned by discovery, so the advertised list is a subset of what has been reviewed rather than an aspiration.

    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