The verb taxonomy for AI agents
acting on real businesses
12 verb shapes. One manifest format. Receipt-backed writes with rollback. Consent gates that scale from “let the agent run” to “type the exact amount before I charge.” Projected through 4 transports — CLI, MCP, WebMCP, UCP — from a single registry.
npm install @solidnumber/mcpAgents don’t think in CRUD
Every MCP server today is create_invoice, update_contact, delete_record — raw database mutations with no structure for reasoning. Agents think in loops:
12 verb shapes
Each shape declares what kind of reasoning step the verb represents. The agent knows what to do with the result before it calls the tool.
aggregate
Collapse N sub-queries into one tenant-scoped read
Build situational awareness without N round-trips
customer.full_contextEvery write verb returns a receipt
The receipt is the proof that an action happened, the handle to undo it, and the key to replay it safely.
Pass to audit.revert to undo the action
Opaque token encoding the inverse action
Same key replays as a no-op — safe retries
{
"ok": true,
"verb": "infrastructure_resize",
"result": {
"status": "resized",
"previous_size": "SMALL",
"new_size": "MEDIUM",
"new_price_monthly_cents": 14400,
"rollback_handle": "infra:resize:1:s-2vcpu-4gb"
},
"audit_id": 4242,
"idempotency_key": "4dbfa11cbfc149fc"
}Consent gates that scale with risk
Five verb classes, from “let the agent run” to “type the exact dollar amount before I charge.” Typed-phrase gates bind into HMAC nonce signatures — tampering between dispatch and confirm is cryptographically blocked.
crm_contacts_searchcrm_contact_updatecharge_invoicegdpr_delete_contactsubscription_cancel_immediateOne registry, four transports
Add a verb to the backend registry and it lights up across CLI, MCP, WebMCP, and UCP within 5 minutes. Parity is enforced by integration tests — no transport drifts.
CLI
Claude Code, shell-running agents, scripts
npm i -g @solidnumber/clisolid verbs list --jsonsolid agent dispatch <verb> --jsonMCP stdio
Claude Desktop, Cursor, Windsurf, Cline
npx @solidnumber/mcpMCP tools/list methodMCP tools/call methodWebMCP
Chrome agent mode, in-browser AI agents
Automatic — every Solid# page ships verbsnavigator.modelContextPOST /api/v1/webmcp/execute/{verb}UCP
Gemini AI Mode, ChatGPT shopping agents
/.well-known/ucp discoveryGET /.well-known/ucpRFC 9421 ES256 signed requestsStart building
Validate verb records
import { validateVerbRecord } from '@solidnumber/mcp/validator'
const result = validateVerbRecord({
name: 'payments.preview_refund_impact',
description: 'Preview refund impact.',
shape: 'preview',
input_schema: { type: 'object', properties: {} },
})
console.log(result.valid) // true
console.log(result.errors) // []Hit the live manifest
# All verbs (no auth required)
curl https://api.solidnumber.com/api/v1/agent/verbs
# Filter by shape
curl ".../agent/verbs?shape=preview"
# Filter by transport
curl ".../agent/verbs?surface=mcp_stdio"
# Single verb schema
curl ".../agent/verbs/infrastructure_diagnose"The spec is open. The runtime is real.
The verb spec is the contract. Solid# is the implementation — 478 verbs across 36 categories, 4 transports, receipt-backed ACID, deployed to production and serving real businesses.