Preserve the delegated-access boundary

The Streamable HTTP adapter calls the same request, approval, grant, retrieval, and receipt operations as the native agent API. It cannot browse a case, accept wildcard artifacts, approve its own request, proxy decrypted file contents, or forward its OAuth token to another resource.

  • ZipPigeon acts as the MCP resource server, not the authorization server.
  • The case owner still reviews and rewraps exact file keys in the browser.
  • Retrieval returns an encrypted capability, not plaintext content.

Discover and authorize the exact MCP resource

Clients discover configured authorization servers and supported scopes from OAuth protected-resource metadata. The endpoint accepts a signed OIDC access token with typ at+jwt, the exact bound issuer and subject, exactly one MCP audience, bounded lifetime, client ID, JTI, issue time, expiry, and an eligible scope.

Command
GET  /.well-known/oauth-protected-resource/api/mcp
POST /api/mcp

resource=https://files.example.com/api/mcp
scope=agent_access:request agent_access:consume

Require signed agent proof on every MCP call

OAuth token possession is not sufficient. Every MCP HTTP request also includes the ZipPigeon service-account ID, timestamp, unique nonce, and agent signature over the method, path, body digest, timestamp, nonce, and ID. ZipPigeon API and workload-exchange bearer tokens are not accepted in place of the MCP OAuth token.

  • Use an MCP client or gateway that can add custom signed HTTP headers.
  • Keep the agent signing bundle outside the language model prompt and tool arguments.
  • Reject access tokens minted for any other audience.

Use four narrow tools

The adapter exposes only the operations needed for delegated retrieval: request exact access, read that request status, issue an approved encrypted retrieval capability, and export its receipt. Consume tools require agent_access:consume and return a minimum-scope challenge when the token has only request scope.

Command
zippigeon_agent_access_request      # agent_access:request
zippigeon_agent_access_status       # agent_access:request
zippigeon_agent_access_retrieval    # agent_access:consume
zippigeon_agent_access_receipt      # agent_access:consume

Benefits and use cases

MCP gives compatible assistants a standard tool-discovery and invocation surface while ZipPigeon keeps authorization purpose-built. It fits an incident copilot requesting named evidence, a compliance assistant waiting for owner approval, or an enterprise agent gateway that already obtains exact-audience OAuth tokens.

  • Incident copilot: request a bounded artifact list and poll only its request status.
  • Compliance assistant: export a receipt after approved encrypted retrieval is issued.
  • Agent gateway: centralize OAuth acquisition while preserving per-agent ZipPigeon key proof.

Use the managed adapter only when available

ZipPigeon operates the MCP resource and enables it only after delegated access, workload identity, an exact public HTTPS resource, and trusted authorization servers are ready. Customers configure their eligible agent identity and client through supported account workflows; they do not set ZipPigeon server flags. The managed service applies short access-token lifetimes, public-key retrieval protections, rate limits, no-store responses, and sanitized audit events.