Every change Wellknown observed on this MCP server, newest first, with what it was before and what it became. Tool-surface changes carry the definition diff. Nothing here is edited after the fact.
Added "pcc_oracle_status"; removed "pcc_generate_ui"; changed the definition of "get_operator_certs", "get_operator_dashboard", "get_operator_earnings" and 8 more
ListAnswers 501 not_available: operator certifications are not recorded on this gateway (OSHA,theresafetyistraining,noPCCcertificationnetworkstore;certs)certificationswithtypedvalidityatstatus.registration are the operator's own claim and are not checked).
Operator dashboardNotoverviewavailable:machines,noearningsroutesummaryanswers GET /api/operator on this gateway. The operator's real kernels, devices andmaintenancein-flightalerts.jobs are at GET /api/agent/me.
GetAnswers 501 not_available: operator earningsbreakdownhistoryoverisanottimerecordedperiod.onIncludesthisdailygateway.earningsPer-jobandpaymentcumulativestatetotals.is at GET /api/jobs/:jobId/execution.
List all machines registeredAnswersunder501thenot_available: operatoraccountmachines with utilization and uptimestats.are not recorded on this gateway. The operator's real kernels, devices and in-flight jobs are at GET /api/agent/me.
⟨8 unchanged words⟩ Provide machine details to create a registration record. Include `operator` ({walletAddress, displayName, email}): without it the registration is recorded as operator 0x0000000000000000000000000000000000000000 / "Unknown", and prove cannot match it to you.
⟨43 unchanged words⟩ ":"Machine name","type":"string"},"operator":{"description":"Who owns this machine. prove and activate match the caller against operator.walletAddress (or operator.email).","properties":{"displayName":{"type":"string"},"email":{"type":"string"},"walletAddress":{"description":"0x… address","type":"string"}},"type":"object"}},"required":["name","category"],"type":"object"}
⟨7 unchanged words⟩ their kernel. Returns queued jobs ready for execution.Used byThe pcc-nodedaemon.0.1.1 daemon does not call it: it takes no jobs.
⟨12 unchanged words⟩ execution timestamp, result payload, and event timeline. Success is a receipt with stored: true naming this jobId. HTTP 200 with stored: false means nothing was stored: never follow it with status completed.
Operatorupdates jobreportsstatusaduringjob'sexecutionstatus (in_progress, completed, failed).CalledThebynode path finishes a job in two calls: submit its evidence (POST /api/operator/evidence; pcc-nodeasdoesjobsthis),progress.and only if that receipt says stored: true for this jobId, set status completed here. HTTP 200 alone is not enough: the relay answers 200 with stored: false when it could not store the evidence (an unknown job, a storage failure); then set failed with the reason evidence_not_stored. On the current gateway, completed marks the job done and its timeline then says settled, but the escrow is not released yet (board G1). Do not call pcc_job_complete after this: it answers 409.
⟨21 unchanged words⟩ , and settles escrow (mock or real). This is how a job run through execution scopes is finished. A node that submitted its evidence and set status completed (operator_update_job_status) must not call it: it then answers 409 ("Job already completed or completion in progress").
Get a job's settlement status from its own escrow records: status (settled only when a settlement read confirms the release; reported_released when the milestone record says released but nothing confirms it; simulated for acompletedmockjob:escrow;escrowawaiting_settlement,addressno_settlement_record,evidenceunknownhashor unavailable otherwise),milestonessettled,withpayout,amountspaidAmountand(confirmedstatus
⟨11 unchanged words⟩ Part of Step 3 in the onboarding flow. Required: kernelId, deviceId, type and adapterType (400 missing_required_fields otherwise).
⟨10 unchanged words⟩ :"object"},"adapterType":{"description":"AdapterOnetype:of octoprint, modbus, opcua, sila,opentronsipp, generic-http or mock; the route refuses anything else (including opentrons)","type":"string"},"capabilities":{"description":"Capability types this device serves","items":{"type":"string"},"type":"array"},"deviceId":{"description":"Your ID for this device, unique within the kernel","type":"string"},"kernelId":{"description":"Kernel ID to register ⟨5 unchanged words⟩ ,"model":{"description":"Device model identifier (optional; stored as \"unknown\" if absent)","type":"string"},"type":{"description":"Devicetype
Not served by the PCC gateway: GET /api/oracle/health returns 404 there. PCC's verification oracle runs as a separate service, and this route answers only where a deployment fronts it. Agents never call the oracle to settle a job: settlement is the gateway's step after pcc_job_complete. Where it is served, it returns the oracle's EIP-712 signing address and chain ID.
Generate a dynamic visual interface and serve it locally via pcc-node's UI server (localhost:3200). Supports built-in templates (plate-layout, protocol-builder, job-status, camera-viewer, device-config) or custom HTML. The UI appears in the operator's browser. Form submissions are queued for the agent to read via pcc_get_ui_submissions.
First tool surface recorded: 200 tools (server version 2.19.1)
Certificate changed, valid to 2026-12-13
Certificate recorded, valid to 2026-10-15
Authorization not required
Showing the latest 5 events. The API returns up to 500 and filters by kind: ?kind=tool_surface_changed