Knowledge · MCP

    MCP Security

    MCP security is about identity, scope, confirmation and audit. What must be true before an AI agent is allowed to write to your business data.

    How is MCP secured?

    MCP is secured the same way any privileged system is: the caller is authenticated, the session is scoped to one organization, each tool declares the permission it needs, destructive actions require explicit confirmation, and every call is written to an audit log. The model never receives credentials or unrestricted database access.

    Key takeaways

    • The AI holds no credentials — the server resolves identity per session.
    • Every call is scoped to one organization; cross-tenant reads are impossible.
    • Read tools and write tools carry different permission levels.
    • Destructive actions require a confirmation step the model cannot forge.
    • Audit logs record actor, tool, arguments and outcome for every call.

    What is the actual risk with AI that can act?

    The risk is not that the model is malicious. It is that the model is confident. An agent can misinterpret a request and act on the wrong record, at the wrong scale, without pausing.

    The defence is structural: constrain what the tool layer is capable of doing, rather than relying on the model to behave.

    Identity: who is the AI acting as?

    An MCP server must never accept the caller's claim about who they are. The session carries a token; the server resolves that token to a real user and a real organization on its own, and every subsequent query is bound to that resolved identity.

    This means an agent cannot widen its own access by asking, and prompt injection in a customer message cannot escalate privileges.

    Scope: what is this session allowed to touch?

    • One organization per session — never a global view.
    • Row-level rules enforced in the database, not in application code.
    • Read scopes separate from write scopes.
    • Sensitive fields excluded from tool responses entirely.
    • Tokens that expire rather than long-lived keys.

    Confirmation: which actions need a second step?

    Anything that moves money, sends an external message, changes a contract or deletes data should be two-phase. The first call returns a preview and a short-lived confirmation token describing exactly what will happen. The second call executes only that described action.

    This makes accidental bulk actions structurally difficult rather than merely discouraged.

    Audit: what evidence exists afterwards?

    Every tool call should produce a durable record: the resolved actor, the organization, the tool name, the entity affected and the outcome. Secrets and tokens are redacted before storage.

    Without this, an AI that can act is unreviewable — which makes it unusable in any business that has to answer for its records.

    Security controls an MCP server should implement

    CapabilityControlWhy it mattersRequired
    Server-side identity resolutionPrevents impersonationYes
    Organization scoping on every queryPrevents cross-tenant leaksYes
    Per-tool permission declarationLimits blast radiusYes
    Two-phase confirmation on writesStops accidental actionsYes
    Redacted, durable audit logMakes actions reviewableYes
    Expiring session tokensLimits stolen-credential valueYes

    Where URBLD fits

    URBLD's MCP server resolves identity server-side, scopes every query to one organization, gates destructive tools behind expiring confirmation tokens, and writes a redacted entry to the audit trail for every call.

    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