Overview

The seven surfaces of Netzo, who acts on each one, and why all of them offer the same actions with the same permissions.

A surface is a way to work with Netzo: a person in the app, an agent over MCP, a program over the API. All of them work on the same system of record, with the same actions.

The surfaces

SurfaceWho actsCredentialOffers
AppA personTheir sessionActions, on screens
WebMCPThe browser agent, for the personThe session of the personActions, as page tools
MCPAn AI assistantAPI key or OAuthActions, as MCP tools
APIA programAPI key or OAuthActions, as HTTP endpoints
CLIA person, an agent or a scriptCLI session or API keyActions, as commands
WebhooksYour service, which receivesA signing secretEvents
Public linksSomeone outside your organizationThe link, and a code if one is requiredOne shared record

Common to all

TopicRead
Credentials, API keys and OAuthAuthentication
What an error holds, retries and limitsErrors and limits
Test a write without saving itDry run, below
Name where an action happensPlace, below

Parity

The five action surfaces (App, WebMCP, MCP, API and CLI) offer the same actions:

  • The same actions. A new action shows on all of them in the same deployment.
  • The same permissions. Each surface shows only what the credential allows. See Access.
  • The same rules. The database applies them to every surface. See Rules and integrity.
  • The same errors. A refusal has the same code and the same fix on all of them.

The exception is internal actions: a few actions are only in the app, because they need a screen or a person present. Each table in Domains shows where each action is.

Dry run

Every write can run as a dry run: it runs the rules and the calculations, returns what would change and the events that would be sent, and then discards everything.

SurfaceHow
APIHeader x-netzo-dry-run: 1
MCPArgument dryRun: true
CLIOption --dry-run

Place

Each action can name its place, the module and the row where it happens. See API.