All posts

A Guide to Access Reviews in MCP

When a contract software vendor finishes their engagement, the engineering team often leaves a service account with broad permissions that still points at the internal MCP endpoint. The account can issue queries, trigger pipelines, or even spawn new AI agents, all without any recent human sign‑off. Weeks later, a security analyst discovers that the same token was used to extract customer data during a routine audit. The root cause is not a broken firewall; it is the absence of a systematic acces

Free White Paper

Just-in-Time Access + Access Reviews & Recertification: The Complete Guide

Architecture patterns, implementation strategies, and security best practices. Delivered to your inbox.

Free. No spam. Unsubscribe anytime.

When a contract software vendor finishes their engagement, the engineering team often leaves a service account with broad permissions that still points at the internal MCP endpoint. The account can issue queries, trigger pipelines, or even spawn new AI agents, all without any recent human sign‑off. Weeks later, a security analyst discovers that the same token was used to extract customer data during a routine audit. The root cause is not a broken firewall; it is the absence of a systematic access reviews process for the MCP environment.

Access reviews are periodic examinations of who can reach a system, what actions they may perform, and whether those privileges remain justified. In the context of MCP, the review must answer questions such as: which identities can invoke the built‑in LLM server, which service accounts can query the control plane, and whether any of those permissions exceed the principle of least privilege. Without a disciplined review cadence, stale tokens linger, over‑scoped roles accumulate, and the organization loses visibility into who touched which data.

Why access reviews matter for MCP

MCP acts as a central hub for AI‑driven workloads. It receives requests from human engineers, CI pipelines, and autonomous agents. Each request travels through the same network path, but the platform itself does not retain a native ledger of who asked for what. When an access review is performed manually, teams must cross‑reference IAM policies, service‑account keys, and audit logs that live in disparate locations. The effort is error‑prone and often incomplete, leaving blind spots that attackers can exploit.

What a typical setup looks like today

Most organizations rely on OIDC or SAML providers to authenticate users and service accounts. The identity provider supplies a token that the client presents directly to the MCP server. The server validates the token, extracts group membership, and then grants access based on static role bindings. This arrangement satisfies the setup requirement: it tells the system who the request is and whether it may start. However, the request still reaches the MCP target without any intermediate enforcement point. Consequently, there is no built‑in capability to record each command, mask sensitive fields in responses, or pause a request for human approval.

The missing enforcement layer

The gap is the data path. Without a gateway that sits between the identity layer and the MCP endpoint, the platform cannot enforce runtime policies such as:

  • Recording every session for replay and forensic analysis.
  • Applying inline masking to hide personally identifiable information in query results.
  • Requiring just‑in‑time approval before executing high‑risk operations.
  • Blocking commands that match known dangerous patterns.

These enforcement outcomes exist only when a dedicated proxy intercepts traffic. The proxy must be transparent to existing clients, support the same wire‑protocols, and enforce policies based on the identity information supplied by the IdP.

Continue reading? Get the full guide.

Just-in-Time Access + Access Reviews & Recertification: Architecture Patterns & Best Practices

Free. No spam. Unsubscribe anytime.

How hoop.dev fills the gap

hoop.dev is a Layer 7 gateway that sits in the data path between identities and MCP. It verifies OIDC/SAML tokens, extracts group and role data, and then applies policy checks before forwarding the request to the MCP server. Because hoop.dev is the sole point of egress, it can:

  • Record each session so that auditors can replay exactly what was sent and received.
  • Mask sensitive fields in real time, ensuring that downstream logs never contain raw personal data.
  • Require just‑in‑time approval for commands that match a high‑risk rule set, pausing execution until a designated reviewer signs off.
  • Block prohibited commands outright, preventing accidental or malicious execution.

All of these outcomes are possible only because hoop.dev occupies the data path; the identity setup alone cannot deliver them. By centralising enforcement, hoop.dev also simplifies the access‑review workflow. Teams can query a single audit store to see who accessed MCP, what they did, and whether any masking or approval steps were triggered. This unified view makes periodic reviews faster, more accurate, and less dependent on manual log‑correlation.

Getting started with hoop.dev and MCP

To adopt this model, begin by deploying the hoop.dev gateway using the Docker Compose quick‑start. The deployment automatically configures OIDC authentication, masking rules, and guardrails. Next, register your MCP endpoint as a connection in hoop.dev, supplying the host, port, and service‑account credential that the gateway will use. Once the gateway is running, existing clients, whether they are curl calls, CI jobs, or AI agents, simply point to the hoop.dev address instead of the raw MCP host. Detailed steps are available in the getting‑started guide and the broader learn section.

FAQ

Do I need to change my existing MCP clients?

No. hoop.dev acts as a transparent proxy; clients continue to use the same protocols and command‑line tools. Only the network endpoint changes.

Can I still use my existing IdP for authentication?

Yes. hoop.dev is an OIDC/SAML relying party, so any standards‑compliant IdP (Okta, Azure AD, Google Workspace, etc.) works out of the box.

What happens to data that is masked by hoop.dev?

Masked fields are replaced with placeholder values before they reach downstream logs or storage. The original values are never persisted outside the live session, satisfying privacy requirements for most regulatory frameworks.

Ready to see the code? Visit the hoop.dev GitHub repository and explore the open‑source implementation.

Open source

Save the open-source gateway for agent data access

Hoop is MIT-licensed infrastructure for controlling how AI agents reach production data. Star hoophq/hoop so you can inspect it, deploy it, or share it when your team starts governing agent access.

Star and save the repo →More posts