Identity from the access grant
An interactive OAuth session or automation credential resolves organization, principal, client, environment, and exact tool authority server-side. The model never supplies who it is.
request.receivedManaged read-only MCP gateway
Your assistant connects to one managed MCP endpoint. It can discover and call only the reviewed read-only tools its credential allows. Every call is bounded to a fixed destination, and every call leaves a hash-linked record you can verify.
tools/call → result{
"output": { …the reviewed projection only… },
"execution_id": "exec_9f2c41b8d07a3e5c6b1d02f4",
"release_digest": "sha256:7c01e3…",
"audit_tip": "e81f4a…"
}execution_idFinds every event written for this call.release_digestNames the signed bundle that controlled it.audit_tipHash of the last event. Compare it with the stored chain.What you get
An interactive OAuth session or automation credential resolves organization, principal, client, environment, and exact tool authority server-side. The model never supplies who it is.
request.receivedYour tools live in a content-digested, HMAC-signed bundle with its own static-assessment snapshot. It is verified before every request and cannot be edited in place.
release.resolvedEach environment binds one immutable, versioned read-only profile. The gateway checks that exact profile, release, organization, source, principal, credential, grant, and usage state before dispatch. No scoring, no heuristics.
policy.allowedEach tool names one reviewed public HTTPS endpoint. Redirects, private addresses, proxy inheritance, and caller-selected hosts are refused.
dispatch.startedThe upstream response must satisfy the reviewed output schema. Unreviewed metadata and free-form content are not relayed to the client.
output.validatedEach control point adds a hash-linked event without secrets or raw payloads. Search by exact execution facts, then verify the release composition, activation authority, source revision, and candidate evidence.
audit_tipConsole experience
Guided mode explains state, next actions, and call outcomes in plain language. Advanced mode exposes exact identifiers, revisions, filters, provenance, and immutable history. Both views use the same data, controls, and authority.
Follow a state-aware setup journey, work from goal-based navigation, and read the outcome before the implementation detail.
Inspect digests, revision history, release authority, audit filters, and the complete verified event chain.
Source review
An authorized organization operator controls each step. Each environment has its own release, stop state, client credentials, and upstream connections. Discovery never changes the active tool surface.
Production boundary
The gateway publishes only what has been reviewed end to end. That is the point.
none.2026-07-28 over HTTPS for any compliant client.How a read is controlled
request.receivedAuthenticated organization, principal, client, tool name, and a digest of the arguments.
release.resolvedRelease identifier, its SHA-256 digest, and the publisher. Signature verified first.
input.validatedThe schema the arguments were checked against and the arguments digest.
policy.allowedThe deterministic decision reason and the exact scope that was required.
credential.resolvedThe credential reference used for the upstream call. Never the value.
dispatch.startedDestination host, request fingerprint, and the timeout that applied.
dispatch.completedDestination, HTTP status class, response bytes, and duration.
output.validatedThe output schema, the output digest, and the fields that were redacted.
response.deliveredEffect none, outcome not applicable, and the output digest handed to the client.
If any step fails, its rejection event is written instead and nothing is dispatched: release.rejected, input.rejected, policy.denied, credential.rejected, dispatch.failed, or output.rejected. If the audit record itself cannot be written, the read does not happen.
Read the chain top to bottom and you have the whole story of one call: who asked, which signed release applied, why policy said yes, where the request went, what came back, and what the model was shown. Search those retained facts without loading the entire ledger, then compare the returned audit_tip with the stored chain to confirm nothing was altered.
Tenant-owned state sits behind forced row-level security in PostgreSQL. Published releases and activation records reject update and delete. Rollback creates a new activation and keeps the exact authority history used by earlier executions.
Connecting a client
https://console.null.select/mcp to Codex CLI or Claude Code and start the client's OAuth login.# Codex CLI 0.162.1
codex mcp add null-select --url https://console.null.select/mcp
codex mcp login null-select
# Claude Code 2.1.299
claude mcp add --transport http null-select https://console.null.select/mcp
claude mcp login null-select{
"mcpServers": {
"null-select": {
"type": "http",
"url": "https://console.null.select/mcp",
"headers": { "Authorization": "Bearer <your credential>" }
}
}
}curl -sS https://console.null.select/mcp \
-H "Authorization: Bearer $NULL_SELECT_CREDENTIAL" \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-H 'MCP-Protocol-Version: 2026-07-28' \
-H 'Mcp-Method: tools/list' \
--data '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{"_meta":{"io.modelcontextprotocol/protocolVersion":"2026-07-28","io.modelcontextprotocol/clientInfo":{"name":"curl","version":"1.0.0"},"io.modelcontextprotocol/clientCapabilities":{"roots":{"listChanged":false}}}}}'Enforced boundary
2026-07-28, stateless Streamable HTTP with JSON responses, at POST /mcp, with constrained 2025-11-25 handshake compatibility for verified clients.tools/list returns only the tools the connected session or automation credential allows.256 KiB upstream result, and a 1 MiB MCP request body.Every row describes the deployed enforcement boundary. Verified against the live endpoint on 2026-10-14.
Managed access
Authorize the organization, review a source, prove the candidate, and connect a client.
Run your current MCP tool surface through the free assessor. The findings become the review input for your release.
free · no accountWe bind your verified identity to one organization, an administrator, operator, or viewer role, and either every environment or an exact selected set.
identity-boundDiscover a public MCP endpoint, choose anonymous, shared-bearer, or per-member OAuth authority, inspect its immutable assessment and schemas, and compare later revisions before selecting explicitly read-only tools.
operator-reviewedProve the candidate through the gateway, publish and activate its signed release, then authorize an interactive session or issue an automation credential. Rollback remains an explicit recorded activation.
MCP 2026-07-28Request an organization binding, then manage sources, connected sessions, automation credentials, and evidence in the console.