Physical Capability Cloud
by capability.network · remote · no sign-in to list tools · v2.19.0 · published by network.capability
Discover, hire, and verify real-world physical capability through MCP.
256 tools: 8 can delete or cancel things, 18 do something that can't be undone, 116 change things and 114 only read.
Scanned Oct 21, 2026
- Deletes or cancels8Claude Code: deny: see these tools
- Can't be undone18Claude Code: ask: see these tools
- Changes things116Claude Code: ask: see these tools
- Only reads114Claude Code: allow: see these tools
28 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http physical-capability-cloud https://capability.network/mcpFindings
Matches of fixed checks, with the text they matched.
- Warnsetup_validate
The server marks "setup_validate" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false}; The name "setup_validate" says "validate": a word for reading.
The server marks "get_build_options" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false}; The name "get_build_options" says "get": a word for reading.
- Warnarchive_evidence
The server marks "archive_evidence" not destructive (destructiveHint: false), and its own name, description or input give the class "destructive".
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false}; The name "archive_evidence" says "archive": a word for removing or ending something.
The server marks "archive_encrypted_bundle" not destructive (destructiveHint: false), and its own name, description or input give the class "destructive".
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false}; The name "archive_encrypted_bundle" says "archive": a word for removing or ending something.
The server marks "validate_protocol" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false}; The name "validate_protocol" says "validate": a word for reading.
The server marks "cancel_protocol_run" not destructive (destructiveHint: false), and its own name, description or input give the class "destructive".
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false}; The name "cancel_protocol_run" says "cancel": a word for removing or ending something.
Show 22 more findingsShow fewer
The server marks "get_shipment_quote" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false}; The name "get_shipment_quote" says "get": a word for reading.
- Warnmatch_spaces
The server marks "match_spaces" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false}; The description's first verb is "find": a word for reading.
The server marks "analyze_machine_docs" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false}; The name "analyze_machine_docs" says "analyze": a word for reading.
- Warncheck_invite
The server marks "check_invite" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false}; The name "check_invite" says "invite": a word for sending, and what is sent cannot be taken back.
- Warnpcc_dht_query
The server marks "pcc_dht_query" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false}; The name "pcc_dht_query" says "query": a word for reading.
- Warnpcc_revoke_scope
The server marks "pcc_revoke_scope" not destructive (destructiveHint: false), and its own name, description or input give the class "destructive".
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false}; The name "pcc_revoke_scope" says "revoke": a word for removing or ending something.
- Warnnear_quote
The server marks "near_quote" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false}; The description's first verb is "get": a word for reading.
The server marks "check_support_replies" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false}; The name "check_support_replies" says "reply": a word for sending, and what is sent cannot be taken back.
The server marks "pcc_capture_class_registry" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false}; The name "pcc_capture_class_registry" says "capture": a word that usually means money moves, which cannot be taken back.
- Warnpcc_schedule_get
The server marks "pcc_schedule_get" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false}; The name "pcc_schedule_get" says "schedule": a word for a change.
The server marks "pcc_trilobio_validate_options" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false}; The name "pcc_trilobio_validate_options" says "validate": a word for reading.
The server marks "pcc_trilobio_validate_script" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false}; The name "pcc_trilobio_validate_script" says "validate": a word for reading.
The server marks "pcc.op.capability.request_quote" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The name "pcc.op.capability.request_quote" says "request": a word for a change.
- Infomint_certificate
The description mentions "credential".
What this check looks forMatched text
description: "...ied capability on-chain as an immutable credential. Step 5 of onboarding."
The description mentions "credentials".
What this check looks forMatched text
description: "...uthority. Another identity gets 403; no credentials gets 401; an unregistered kernel gets 4..."
The description mentions "credentials".
What this check looks forMatched text
description: "...not choose the authorization target. No credentials gets 401 before the job read; a job wit..."
The description mentions "credentials".
What this check looks forMatched text
description: "...uthority. Another identity gets 403; no credentials gets 401; an unregistered kernel gets 4..."
The description mentions "credentials".
What this check looks forMatched text
description: "...n target. Another identity gets 403; no credentials gets 401 before the job read; a job wit..."
The input schema at properties.credentialRef.description mentions "credential".
What this check looks forMatched text
inputSchema.properties.credentialRef.description: "Reference to a secret in the credential vault (not the secret itself). PCC reso..."
The description mentions "credentials".
What this check looks forMatched text
description: "...non-secret and the response carries no credentials (channel `credentialRef` values are vau..."
The input schema at description mentions "credential".
What this check looks forMatched text
inputSchema.description: "...AX_MANIFEST_BYTES) and the recursive no-credential refine (containsApiKey — rejects a bake..."
The input schema at description mentions "credential".
What this check looks forMatched text
inputSchema.description: "...AX_MANIFEST_BYTES) and the recursive no-credential refine (containsApiKey — rejects a bake..."
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
256 tools
Deletes or cancels 8Claude Code: deny
archive_encrypted_bundleArchive an encrypted evidence bundle to IPFS and store the resulting CID in the database.1 finding
Why it is in this group
- The name "archive_encrypted_bundle" says "archive": a word for removing or ending something.
- The server marks it not destructive (destructiveHint: false), but an annotation never lowers a class.
Findings
- Warn
The server marks "archive_encrypted_bundle" not destructive (destructiveHint: false), and its own name, description or input give the class "destructive".
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false}; The name "archive_encrypted_bundle" says "archive": a word for removing or ending something.
Description, as the server wrote it Archive an encrypted evidence bundle to IPFS and store the resulting CID in the database. Idempotent — returns existing CID if already archived.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
archive_evidenceArchive an evidence bundle to IPFS/Storacha for permanent decentralized storage.1 finding
Why it is in this group
- The name "archive_evidence" says "archive": a word for removing or ending something.
- The server marks it not destructive (destructiveHint: false), but an annotation never lowers a class.
Findings
- Warn
The server marks "archive_evidence" not destructive (destructiveHint: false), and its own name, description or input give the class "destructive".
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false}; The name "archive_evidence" says "archive": a word for removing or ending something.
Description, as the server wrote it Archive an evidence bundle to IPFS/Storacha for permanent decentralized storage. Returns the content-addressed CID.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
cancel_protocol_runCancel a protocol run.1 finding
Why it is in this group
- The name "cancel_protocol_run" says "cancel": a word for removing or ending something.
- The server marks it not destructive (destructiveHint: false), but an annotation never lowers a class.
Findings
- Warn
The server marks "cancel_protocol_run" not destructive (destructiveHint: false), and its own name, description or input give the class "destructive".
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false}; The name "cancel_protocol_run" says "cancel": a word for removing or ending something.
Description, as the server wrote it Cancel a protocol run. Cannot be cancelled once completed or already cancelled.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
delete_operator_channelRemove a channel from an operator.No findings
Why it is in this group
- The name "delete_operator_channel" says "delete": a word for removing or ending something.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Remove a channel from an operator. Future jobs will not dispatch to it. Use update_operator_channel with enabled=false to silence temporarily without losing the recipe in `describe`.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
marketplace_delete_listingRemove a supplies/materials listing from the marketplace.No findings
Why it is in this group
- The name "marketplace_delete_listing" says "delete": a word for removing or ending something.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Remove a supplies/materials listing from the marketplace. The listing is immediately hidden from search results.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
pcc_cancel_requestCancel a capability request.No findings
Why it is in this group
- The name "pcc_cancel_request" says "cancel": a word for removing or ending something.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Cancel a capability request. Cancelled requests cannot be updated, decomposed, or published. This is a soft delete — the request remains visible with status 'cancelled'.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
pcc_revoke_scopeRevoke an execution scope immediately (emergency stop).1 finding
Why it is in this group
- The name "pcc_revoke_scope" says "revoke": a word for removing or ending something.
- The server marks it not destructive (destructiveHint: false), but an annotation never lowers a class.
Findings
- Warn
The server marks "pcc_revoke_scope" not destructive (destructiveHint: false), and its own name, description or input give the class "destructive".
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false}; The name "pcc_revoke_scope" says "revoke": a word for removing or ending something.
Description, as the server wrote it Revoke an execution scope immediately (emergency stop). All pending tool calls under this scope are rejected. The kernel enters a stopped state. A new scope must be created to resume.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
revoke_api_keyRevoke an API key permanently.No findings
Why it is in this group
- The name "revoke_api_key" says "revoke": a word for removing or ending something.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Revoke an API key permanently. The key will immediately stop working. You must own the key. Use list_api_keys to find the key ID.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
Can't be undone 18Claude Code: ask
check_inviteValidate an invite code before redeeming it.1 finding
Why it is in this group
- The name "check_invite" says "invite": a word for sending, and what is sent cannot be taken back.
- The input takes a statement or command to run (input.code), which can change anything it can reach.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "check_invite" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false}; The name "check_invite" says "invite": a word for sending, and what is sent cannot be taken back.
Description, as the server wrote it Validate an invite code before redeeming it. Returns whether the code is valid and what it includes.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
check_support_repliesCheck for admin replies on the operator's support threads.1 finding
Why it is in this group
- The name "check_support_replies" says "reply": a word for sending, and what is sent cannot be taken back.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "check_support_replies" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false}; The name "check_support_replies" says "reply": a word for sending, and what is sent cannot be taken back.
Description, as the server wrote it Check for admin replies on the operator's support threads. Call this periodically or when the operator asks 'did they respond yet?'. Returns all threads for this kernel and a hasUnreadReplies boolean indicating new admin messages.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
kernel_heartbeatSend a per-kernel heartbeat to keep the kernel marked online.No findings
Why it is in this group
- The description's first verb is "send": a word for sending, and what is sent cannot be taken back.
Description, as the server wrote it Send a per-kernel heartbeat to keep the kernel marked online. Used by pcc-node daemons as an alternative to the operator relay heartbeat.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
near_intentSubmit a cross-chain payment intent to the NEAR 1Click solver network.No findings
Why it is in this group
- The description's first verb is "submit": a word for a change.
- The input addresses people (input.recipient): what it sends cannot be taken back.
Description, as the server wrote it Submit a cross-chain payment intent to the NEAR 1Click solver network. Creates a signed intent that routes the payment atomically across chains. Call near_quote first to obtain a quoteId. Intents typically settle within 30-60 seconds — poll near_intent_status to track progress.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
pay_ip_royaltyPay royalties to an IP asset vault.No findings
Why it is in this group
- The name "pay_ip_royalty" says "pay": a word that usually means money moves, which cannot be taken back.
Description, as the server wrote it Pay royalties to an IP asset vault. The payer sends tokens that flow to stakeholders via the royalty splits.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
pcc_capture_anchorAnchor a PASS + anchor-candidate capture verdict to CaptureClassRegistry on-chain (Base Sepolia by default).No findings
Why it is in this group
- The name "pcc_capture_anchor" says "capture": a word that usually means money moves, which cannot be taken back.
Description, as the server wrote it Anchor a PASS + anchor-candidate capture verdict to CaptureClassRegistry on-chain (Base Sepolia by default). Rejects FAIL/PARTIAL verdicts. Idempotent — re-submitting the same verdictId returns the existing anchor row. Returns 202 {status:'deferred'} if CaptureClassRegistry is not yet deployed (CAPTURE_REGISTRY_ADDRESS unset).
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
pcc_capture_challengeIssue a fresh block-anchored CaptureNonceChallenge for a job.No findings
Why it is in this group
- The name "pcc_capture_challenge" says "capture": a word that usually means money moves, which cannot be taken back.
Description, as the server wrote it Issue a fresh block-anchored CaptureNonceChallenge for a job. The operator's device must render this nonce into the captured media (QR code, audio tone, etc.) before calling pcc_capture_upload. The nonce is derived from (challengeId, latest blockHash, workOutputRoot) so captures cannot be pre-computed. Returns challengeId, 64-char hex nonce, blockNumber, maxAgeSeconds (clamped to 120).
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
pcc_capture_class_registryLook up a capture's on-chain anchor record in CaptureClassRegistry by its 32-byte captureHash.1 finding
Why it is in this group
- The name "pcc_capture_class_registry" says "capture": a word that usually means money moves, which cannot be taken back.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "pcc_capture_class_registry" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false}; The name "pcc_capture_class_registry" says "capture": a word that usually means money moves, which cannot be taken back.
Description, as the server wrote it Look up a capture's on-chain anchor record in CaptureClassRegistry by its 32-byte captureHash. Returns the registry address, captureHash, and decoded anchor tuple (declaredClass, verifiedClass, manifestHash, submittedBy, jobId, challengeId, blockAnchor, capturedAt, attestationsRoot, attesterCount). onchain is null if the capture was never anchored. Returns 202 deferred when CaptureClassRegistry is not yet deployed.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
pcc_capture_uploadUpload a capture (photo / video / audio / sensor clip) with its CaptureManifest for G1..G6 verification.No findings
Why it is in this group
- The name "pcc_capture_upload" says "capture": a word that usually means money moves, which cannot be taken back.
Description, as the server wrote it Upload a capture (photo / video / audio / sensor clip) with its CaptureManifest for G1..G6 verification. Bytes are base64-encoded inline; optional base64 C2PA manifest bytes can be supplied for CC3+ claims. The server runs the 6-gate CaptureVerifier and persists a PASS/PARTIAL/FAIL verdict. Returns {verdictId, verdict, verifiedClass, gatesPassed, gatesFailed, warnings, anchorCandidate, captureHash, manifestHash}.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
pcc_chat_sendSend a chat message to a kernel's operator or agent.No findings
Why it is in this group
- The name "pcc_chat_send" says "send": a word for sending, and what is sent cannot be taken back.
Description, as the server wrote it Send a chat message to a kernel's operator or agent. Used for human-in-the-loop communication during job execution, troubleshooting, and escalation.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
pcc_onboard_session_build_agentFinalise a physical-operator onboarding session: registers the operator on PCC, mints a wallet, writes the SEO mirror, returns the publication payload (capabilities, operator_id, d…No findings
Why it is in this group
- The description's first verb is "finalise": a word for a change that another call does not undo.
Description, as the server wrote it Finalise a physical-operator onboarding session: registers the operator on PCC, mints a wallet, writes the SEO mirror, returns the publication payload (capabilities, operator_id, discovery_url). Idempotent — safe to retry inside the same session_id. Auth-required.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
pcc_publish_requestPublish all pending capability nodes in a request as bounties.No findings
Why it is in this group
- The name "pcc_publish_request" says "publish": a word for a change that another call does not undo.
Description, as the server wrote it Publish all pending capability nodes in a request as bounties. Each node becomes a bidding opportunity for operators. Returns the list of created bounty IDs linked to each capability node.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
pcc_schedule_publishPublish a sealed off-chain RateSchedule.No findings
Why it is in this group
- The name "pcc_schedule_publish" says "schedule": a word for a change.
- The description's first verb is "publish": a word for a change that another call does not undo.
Description, as the server wrote it Publish a sealed off-chain RateSchedule. Computes scheduleHash server-side via the canonical sha256-over-canonical-JSON algorithm (matching the on-chain RateScheduleRegistry.publish() invariant). Idempotent: re-publishing the same content returns alreadyPublished:true. Returns {scheduleHash, alreadyPublished}.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
publish_protocolPublish a draft protocol template, making it visible in the protocol library for others to discover and use.No findings
Why it is in this group
- The name "publish_protocol" says "publish": a word for a change that another call does not undo.
Description, as the server wrote it Publish a draft protocol template, making it visible in the protocol library for others to discover and use.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
redeem_inviteOne-click agent onboarding with an invite code.No findings
Why it is in this group
- The name "redeem_invite" says "invite": a word for sending, and what is sent cannot be taken back.
Description, as the server wrote it One-click agent onboarding with an invite code. Provisions wallet, identity, LLM access, and PCC tools in a single call.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
reply_to_support_threadReply to an existing support thread.No findings
Why it is in this group
- The name "reply_to_support_thread" says "reply": a word for sending, and what is sent cannot be taken back.
Description, as the server wrote it Reply to an existing support thread. Use when the operator wants to add information to a thread started earlier. Needs the threadId from check_support_replies or the original send_support_message response.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
send_diagnosticsUpload an encrypted diagnostic bundle when the operator's node has problems.No findings
Why it is in this group
- The name "send_diagnostics" says "send": a word for sending, and what is sent cannot be taken back.
Description, as the server wrote it Upload an encrypted diagnostic bundle when the operator's node has problems. The bundle is encrypted client-side with a retrieval code the operator must share with support before logs can be read. Use this when the operator reports errors, crashes, or misbehavior. The pcc-node CLI runs `pcc-node logs --send` locally to collect+encrypt; prefer that path when available. This tool is for agent-driven uploads when the bundle is already prepared.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
send_support_messageSend an operator support message to the PCC team.No findings
Why it is in this group
- The name "send_support_message" says "send": a word for sending, and what is sent cannot be taken back.
Description, as the server wrote it Send an operator support message to the PCC team. Creates a new support thread or appends to the operator's existing open thread. Can optionally attach a diagnostic retrieval code (from send_diagnostics) so support staff can decrypt logs. Discord webhook fires on every new message, so expect fast response. Use this whenever the operator says something is broken, confusing, or not behaving as expected.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
Changes things 116Claude Code: ask
activate_registrationActivate an approved registration, making the operator's equipment live on the network and ready to accept jobs.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Activate an approved registration, making the operator's equipment live on the network and ready to accept jobs.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
advance_automationAdvance the automation level for a transfer pair (manual → teleoperated → pilot_operated → vla_assisted → fully_autonomous).No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Advance the automation level for a transfer pair (manual → teleoperated → pilot_operated → vla_assisted → fully_autonomous). Requires sufficient training episodes.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
analyze_machine_docsAI analysis of machine documentation.1 finding
Why it is in this group
- The name "analyze_machine_docs" says "analyze": a word for reading.
- The server marks it as not read-only (readOnlyHint: false).
Findings
- Warn
The server marks "analyze_machine_docs" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false}; The name "analyze_machine_docs" says "analyze": a word for reading.
Description, as the server wrote it AI analysis of machine documentation. Upload docs to get suggested capabilities, extracted specs, materials, and tolerances.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
approve_registrationApprove a submitted machine registration.No findings
Why it is in this group
- The name "approve_registration" says "approve": a word for a change.
Description, as the server wrote it Approve a submitted machine registration. Moves it from 'submitted' to 'approved' status, enabling the operator to activate and start accepting jobs.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
attach_operator_channelAttach a notification/dispatch channel to an operator so PCC knows how to ping them when a job lands.1 finding
Why it is in this group
- The name "attach_operator_channel" says "attach": a word for a change.
Findings
- Info
The input schema at properties.credentialRef.description mentions "credential".
What this check looks forMatched text
inputSchema.properties.credentialRef.description: "Reference to a secret in the credential vault (not the secret itself). PCC reso..."
Description, as the server wrote it Attach a notification/dispatch channel to an operator so PCC knows how to ping them when a job lands. The operator's onboarding agent calls this AFTER the conversation that produced the channel record. Transport is a small stable enum (webhook|email|sms|voice|push|mqtt|file|manual) — vendor specifics live in the free-form `describe` field, written by the operator's agent. PCC the substrate stays neutral. Returns the channel record with a generated id.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
build_contractBuild and submit a capability contract with on-chain milestone escrow.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Build and submit a capability contract with on-chain milestone escrow. Returns job ID and escrow address.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
calculate_priceCalculate price for a capability configuration.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Calculate price for a capability configuration. Returns base price, tier premiums, and estimated total cost.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
calculate_roiCalculate ROI projection for onboarding equipment.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Calculate ROI projection for onboarding equipment. Returns month-by-month revenue, cost, and break-even analysis.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
claim_bountyClaim a bounty to onboard a new capability.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Claim a bounty to onboard a new capability. The operator commits to registering the capability and completing verification.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
claim_ip_revenueClaim earned revenue from an IP asset vault.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Claim earned revenue from an IP asset vault. Returns the claimed amount and transaction hash.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
claim_poolOperator claims an investment pool reward after capability verification.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Operator claims an investment pool reward after capability verification.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
close_poolClose an investment pool to new stakes.No findings
Why it is in this group
- The name "close_pool" says "close": a word for a change.
Description, as the server wrote it Close an investment pool to new stakes. Pool enters sunset phase.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
commit_evidenceCreate a Merkle commitment for an evidence bundle hash.No findings
Why it is in this group
- The name "commit_evidence" says "commit": a word for a change.
Description, as the server wrote it Create a Merkle commitment for an evidence bundle hash. Used as the first step in ZK proof generation for Tier 3 assurance.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
convert_bounty_to_poolConvert an existing bounty into an investment pool.No findings
Why it is in this group
- The name "convert_bounty_to_pool" says "convert": a word for a change.
Description, as the server wrote it Convert an existing bounty into an investment pool. Allows community staking toward the bounty's capability.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
create_capabilityRegister a capability instance for a kernel.No findings
Why it is in this group
- The name "create_capability" says "create": a word for a change.
Description, as the server wrote it Register a capability instance for a kernel. Required before submitting jobs — the gateway needs at least one capability per kernel. Creates a liquid-handler, fdm, cnc-3axis, or other capability type.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
create_investment_poolCreate an investment pool for a capability bounty.No findings
Why it is in this group
- The name "create_investment_pool" says "create": a word for a change.
Description, as the server wrote it Create an investment pool for a capability bounty. Stakers earn future protocol fees when the capability goes live.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
create_kernelRegister a new Shop Kernel (physical site) on the PCC network.No findings
Why it is in this group
- The name "create_kernel" says "create": a word for a change.
Description, as the server wrote it Register a new Shop Kernel (physical site) on the PCC network. Part of Step 2 in the onboarding flow.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
create_protocolCreate a new protocol template draft.No findings
Why it is in this group
- The name "create_protocol" says "create": a word for a change.
Description, as the server wrote it Create a new protocol template draft. Returns the new template ID.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
create_protocol_runInstantiate a protocol template as a run on a specific kernel with given parameter values.No findings
Why it is in this group
- The name "create_protocol_run" says "create": a word for a change.
Description, as the server wrote it Instantiate a protocol template as a run on a specific kernel with given parameter values.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
create_shipmentCreate a new equipment shipment with origin, destination, package details, and provider.No findings
Why it is in this group
- The name "create_shipment" says "create": a word for a change.
Description, as the server wrote it Create a new equipment shipment with origin, destination, package details, and provider.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
deposit_bondDeposit an operator bond for a milestone on-chain.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Deposit an operator bond for a milestone on-chain. Required for Assurance Tier 3 jobs. Returns transaction hash.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
dispute_verificationFile a dispute against the consensus verdict.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it File a dispute against the consensus verdict. Only verifiers who submitted a response can dispute. Requires additional evidence CID.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
distribute_royaltiesSet revenue splits for an IP asset among stakeholders (designer, operator, verifier, assembler, curator).No findings
Why it is in this group
- The description's first verb is "set": a word for a change.
Description, as the server wrote it Set revenue splits for an IP asset among stakeholders (designer, operator, verifier, assembler, curator). Splits must sum to 100.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
emit_telemetryManually emit a telemetry event for a job pipeline phase.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Manually emit a telemetry event for a job pipeline phase. Used by kernels and agents to report execution progress.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
execute_compositionCommit a proposed composition: drives the DAG through the workflow engine, each step records a reputation outcome, the composition's reputation is finalized when the run ends.No findings
Why it is in this group
- The name "execute_composition" says "execute": a word for a change.
Description, as the server wrote it Commit a proposed composition: drives the DAG through the workflow engine, each step records a reputation outcome, the composition's reputation is finalized when the run ends. When `PCC_COMPOSE_EXECUTE_REAL=true` is set on the gateway, steps submit real jobs via JobFacade and the workflow run is durable (@pcc/workflow). When the flag is off, the NOOP runner returns synthetic success — useful in dev/test. Re-executing an already-run composition replays the stored result (idempotent — reputation deltas are applied exactly once).
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
file_escrow_disputeFile a dispute against a milestone on-chain.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it File a dispute against a milestone on-chain. Challenger must post a bond and provide evidence hash. Returns transaction hash.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
fork_dashboardFork an existing dashboard into a new artifact you own, preserving lineage back to the original (the social remix verb).No findings
Why it is in this group
- The name "fork_dashboard" says "fork": a word for a change.
Description, as the server wrote it Fork an existing dashboard into a new artifact you own, preserving lineage back to the original (the social remix verb). Use this to adapt a popular dashboard rather than build from scratch — e.g. fork a 'watch pizza' dashboard and raise the budget or add a receipt window via update_dashboard. Increments the source's fork counter. You can fork any public/unlisted artifact, or a private one you own.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
fork_protocolFork a protocol template to create your own version with parameter overrides.No findings
Why it is in this group
- The name "fork_protocol" says "fork": a word for a change.
Description, as the server wrote it Fork a protocol template to create your own version with parameter overrides. Returns the new fork ID.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
fund_escrowFund a protocol-created escrow on-chain.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Fund a protocol-created escrow on-chain. Approval is handled INTERNALLY by the gateway for protocol-created escrows (audit C-03 removed the public approve step) — do NOT call a separate approve first; fund directly. Returns transaction hash.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
get_build_optionsGet configuration options for a capability type (materials, dimensions, tolerances, assurance tiers).1 finding
Why it is in this group
- The name "get_build_options" says "get": a word for reading.
- The server marks it as not read-only (readOnlyHint: false).
Findings
- Warn
The server marks "get_build_options" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false}; The name "get_build_options" says "get": a word for reading.
Description, as the server wrote it Get configuration options for a capability type (materials, dimensions, tolerances, assurance tiers). Use before calling calculate_price.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
get_shipment_quoteGet shipping quotes from logistics providers based on origin, destination, weight, and priority.1 finding
Why it is in this group
- The name "get_shipment_quote" says "get": a word for reading.
- The server marks it as not read-only (readOnlyHint: false).
Findings
- Warn
The server marks "get_shipment_quote" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false}; The name "get_shipment_quote" says "get": a word for reading.
Description, as the server wrote it Get shipping quotes from logistics providers based on origin, destination, weight, and priority.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
grant_evidence_accessGrant a new recipient access to an encrypted evidence bundle.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Grant a new recipient access to an encrypted evidence bundle. Creates a re-encrypted key capsule for the recipient.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
kernel_announce_capabilitiesAnnounce capabilities for a kernel.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Announce capabilities for a kernel. NOTE: the gateway currently acknowledges this call but stores nothing, so it does not put any capability on the network. To publish a capability, use create_capability (POST /api/capabilities).
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
lit_decryptDecrypt a Lit Protocol-encrypted evidence bundle using a Lit auth signature.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Decrypt a Lit Protocol-encrypted evidence bundle using a Lit auth signature. Returns the decrypted bundle payload.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
marketplace_create_listingCreate a new supplies/materials listing in the marketplace.No findings
Why it is in this group
- The name "marketplace_create_listing" says "create": a word for a change.
Description, as the server wrote it Create a new supplies/materials listing in the marketplace. Suppliers post available raw materials, lab reagents, tooling, or consumables for other operators to purchase.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
marketplace_place_orderPlace a purchase order for supplies or materials.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Place a purchase order for supplies or materials. Calculates total price automatically (quantity × pricePerUnit). Returns an order with 'pending' status. Optionally links to an on-chain escrow for trustless settlement.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
marketplace_update_listingUpdate an existing supplies/materials listing (price, stock status, description, etc.).No findings
Why it is in this group
- The name "marketplace_update_listing" says "update": a word for a change.
Description, as the server wrote it Update an existing supplies/materials listing (price, stock status, description, etc.). Pass only the fields you want to change.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
match_spacesFind hosting spaces that match specific machine requirements (voltage, area, etc.).1 finding
Why it is in this group
- The description's first verb is "find": a word for reading.
- The server marks it as not read-only (readOnlyHint: false).
Findings
- Warn
The server marks "match_spaces" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false}; The description's first verb is "find": a word for reading.
Description, as the server wrote it Find hosting spaces that match specific machine requirements (voltage, area, etc.). Returns scored matches.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
mint_certificateMint a soulbound capability certificate (cNFT via Metaplex Core) for a kernel.1 finding
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Findings
- Info
The description mentions "credential".
What this check looks forMatched text
description: "...ied capability on-chain as an immutable credential. Step 5 of onboarding."
Description, as the server wrote it Mint a soulbound capability certificate (cNFT via Metaplex Core) for a kernel. Proves a verified capability on-chain as an immutable credential. Step 5 of onboarding.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
near_quoteGet a cross-chain payment quote from the NEAR 1Click solver network (chaindefuser.com).1 finding
Why it is in this group
- The description's first verb is "get": a word for reading.
- The server marks it as not read-only (readOnlyHint: false).
Findings
- Warn
The server marks "near_quote" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false}; The description's first verb is "get": a word for reading.
Description, as the server wrote it Get a cross-chain payment quote from the NEAR 1Click solver network (chaindefuser.com). Provides optimal routing and fee estimates for funding PCC escrow contracts using any source asset on any supported chain. Call near_status first to confirm available chains/assets.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
onboard_machineRegister a new machine on the PCC network.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Register a new machine on the PCC network. 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.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
operator_heartbeatOperator sends heartbeat with capability re-announcement.1 finding
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Findings
- Info
The description mentions "credentials".
What this check looks forMatched text
description: "...uthority. Another identity gets 403; no credentials gets 401; an unregistered kernel gets 4..."
Description, as the server wrote it Operator sends heartbeat with capability re-announcement. Keeps the kernel alive on the network and updates its own capability rows. Requires operate authority for this kernel: its recorded operator identity (the caller that registered it), its proven operator wallet, or the gateway admin authority. Another identity gets 403; no credentials gets 401; an unregistered kernel gets 404 for a non-admin. Operator identity proof for operate is completed by WP-A (DECISIONS items 136 and 138).
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
operator_poll_jobsOperator polls jobs assigned to their kernel; status defaults to queued, and the route can filter any status.1 finding
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Info
The description mentions "credentials".
What this check looks forMatched text
description: "...uthority. Another identity gets 403; no credentials gets 401; an unregistered kernel gets 4..."
Description, as the server wrote it Operator polls jobs assigned to their kernel; status defaults to queued, and the route can filter any status. Requires operate authority for this kernel: its recorded operator identity (the caller that registered it), its proven operator wallet, or the gateway admin authority. Another identity gets 403; no credentials gets 401; an unregistered kernel gets 404 for a non-admin. Operator identity proof for operate is completed by WP-A (DECISIONS items 136 and 138). The pcc-node 0.1.1 daemon does not call it: it takes no jobs.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
operator_push_evidenceOperator pushes evidence bundle from a completed job execution.1 finding
Why it is in this group
- The name "operator_push_evidence" says "push": a word for a change.
Findings
- Info
The description mentions "credentials".
What this check looks forMatched text
description: "...not choose the authorization target. No credentials gets 401 before the job read; a job wit..."
Description, as the server wrote it Operator pushes evidence bundle from a completed job execution. Requires decide authority for the stored job's kernel: its proven operator wallet or the gateway admin authority. A matching claimed operator key gets 403 operator_proof_required. Evidence takes decide, per DECISIONS 2026-10-04 01:25 (N31c). Evidence is posted with the kernel's proven operator wallet authority (decide). The body's kernelId cannot choose the authorization target. No credentials gets 401 before the job read; a job without a kernel gets 403 for a non-admin. Contains device ID, 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.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
operator_update_job_statusOperator reports a job's status (in_progress, completed, failed).1 finding
Why it is in this group
- The name "operator_update_job_status" says "update": a word for a change.
Findings
- Info
The description mentions "credentials".
What this check looks forMatched text
description: "...n target. Another identity gets 403; no credentials gets 401 before the job read; a job wit..."
Description, as the server wrote it Operator reports a job's status (in_progress, completed, failed). Requires operate authority for the stored job's kernel: its recorded operator identity (the caller that registered it), its proven operator wallet, or the gateway admin authority. The body's kernelId cannot choose the authorization target. Another identity gets 403; no credentials gets 401 before the job read; a job without a kernel gets 403 for a non-admin. Operator identity proof for operate is completed by WP-A (DECISIONS items 136 and 138). The node path finishes a job in two calls: submit its evidence (POST /api/operator/evidence, posted with the kernel's proven operator wallet authority, decide), 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.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
pause_protocol_runPause a running protocol run.No findings
Why it is in this group
- The name "pause_protocol_run" says "run": a word for a change.
Description, as the server wrote it Pause a running protocol run. Use resume_protocol_run to continue.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
pcc_assign_node_operatorAssign an operator to a specific capability node within a request.No findings
Why it is in this group
- The name "pcc_assign_node_operator" says "assign": a word for a change.
Description, as the server wrote it Assign an operator to a specific capability node within a request. The node status changes to 'assigned'. Operators claim nodes to indicate they will execute that capability.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
pcc_contributor_registerRegister a contributor profile binding a wallet address to a role and a published RateSchedule.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Register a contributor profile binding a wallet address to a role and a published RateSchedule. Body: address (0x40hex), role (10 ContributorRole values from ADR-12 §2.1 + legacy 'designer'), scheduleHash (0x64hex of a previously published schedule), optional ipId, metadataUri, contributorNftTokenId. Returns the persisted profile (composite id is address:role:tail). Idempotent on the composite id — re-posting the same (address, role, contributorNftTokenId) replaces the prior profile.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
pcc_create_scopeCreate an execution scope for a job.No findings
Why it is in this group
- The name "pcc_create_scope" says "create": a word for a change.
Description, as the server wrote it Create an execution scope for a job. Scopes define exactly which tool calls are allowed on a kernel during a job, with command budgets, retry limits, and time-to-live. Required before issuing SCOPED WRITE operations (protocol upload, run create, run action).
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
pcc_decompose_requestRe-trigger decomposition of an existing capability request.No findings
Why it is in this group
- The name "pcc_decompose_request" says "request": a word for a change.
Description, as the server wrote it Re-trigger decomposition of an existing capability request. Overwrites the existing capability DAG with a fresh decomposition. Useful after updating the description or budget.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
pcc_dht_announceAnnounce capabilities to the DHT network.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Announce capabilities to the DHT network. Signs the announcement with your node's Ed25519 key and broadcasts to connected peers.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
pcc_dht_queryQuery the DHT for capabilities matching your requirements.1 finding
Why it is in this group
- The name "pcc_dht_query" says "query": a word for reading.
- The server marks it as not read-only (readOnlyHint: false).
Findings
- Warn
The server marks "pcc_dht_query" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false}; The name "pcc_dht_query" says "query": a word for reading.
Description, as the server wrote it Query the DHT for capabilities matching your requirements. Returns announcements from operators whose equipment matches the type, materials, and price range you specify.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
pcc_job_completeComplete a job: gathers tool call audit trail from execution scopes, builds evidence bundle with SHA-256 hash, stores evidence, revokes scopes, and settles escrow (mock or real).No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Complete a job: gathers tool call audit trail from execution scopes, builds evidence bundle with SHA-256 hash, stores evidence, revokes scopes, 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").
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
pcc_onboard_session_ingest_docsQueue documents (datasheets, SOPs, MOPs, certifications) for ingestion into a physical-operator onboarding session.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Queue documents (datasheets, SOPs, MOPs, certifications) for ingestion into a physical-operator onboarding session. Document URLs may be local:// for files dropped in the chat console or full https:// URLs. Auth-required.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
pcc_onboard_session_live_dataFull event log for a physical-operator onboarding session — feeds the chat console's activity sidebar.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Full event log for a physical-operator onboarding session — feeds the chat console's activity sidebar. Supports incremental polling via ?since=<unix-millis>. Returns the next cursor on every response. Auth-required.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
pcc_onboard_session_scrapeScrape a URL into the running physical-operator onboarding session.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Scrape a URL into the running physical-operator onboarding session. Triggers a stealth fetch + structured extraction (machines, hours, services, certifications). Returns a small JSON summary; full extraction is appended to the session's running profile and visible via /live-data. Auth-required.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
pcc_onboard_session_startStart a new physical-operator onboarding session.No findings
Why it is in this group
- The name "pcc_onboard_session_start" says "start": a word for a change.
Description, as the server wrote it Start a new physical-operator onboarding session. Returns a session_id used by every subsequent /api/onboard/* call. Auth-required.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
pcc_oracle_verifyNot served by the PCC gateway: POST /api/oracle/verify returns 404 there.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Not served by the PCC gateway: POST /api/oracle/verify 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 it to settle a job: settlement is the gateway's step after pcc_job_complete. Where it is served, it checks that the evidence exists, its hash matches, tier requirements are met, there is no replay and the operator identity is valid, and it returns a signed EIP-712 attestation.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
pcc_orchestrator_match_capabilitiesHeuristic template matcher.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Heuristic template matcher. Pass a free-text description of what you want to onboard (e.g. 'I run a CNC milling shop' or 'I have a Postgres database with a GraphQL endpoint') and the matcher returns all templates ranked by keyword score with a 'reason' string per match. Public — no auth required.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
pcc_relay_generic_tool_callRelay a tool call to any kernel's device executor via the generic relay (not OT-2 specific).No findings
Why it is in this group
- The name "pcc_relay_generic_tool_call" says "call": a word for a change.
Description, as the server wrote it Relay a tool call to any kernel's device executor via the generic relay (not OT-2 specific). Works with any device type. Safe tools (read/safe_control) don't need a scope. Scoped write tools require an active execution scope. Returns a call ID — poll pcc_get_tool_result for the response.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
pcc_relay_tool_callRelay a tool call to a device executor.No findings
Why it is in this group
- The name "pcc_relay_tool_call" says "call": a word for a change.
Description, as the server wrote it Relay a tool call to a device executor. The brain (LLM) posts tool calls here; the executor (on the device) polls for them and executes locally. Used for the brain/executor split architecture.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
pcc_reportReport a bug, friction, or dead-end you hit while using PCC.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Report a bug, friction, or dead-end you hit while using PCC. Call this the moment you get stuck and cannot recover: a 5xx (its response carries a `report_hint` with pre-filled fields), a 4xx you cannot fix from its message, the same step failing twice, or a misleading tool/description. PUBLIC — works before you provision an API key (cold agents are exactly who this is for). Persisted durably and reviewed by the PCC team. Report each distinct failure ONCE; never include an API key, token, or wallet secret. Rate-limited per IP.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
pcc_report_attemptReport one phase of an onboarding attempt, success or failure (attempt reporting contract v1).No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Report one phase of an onboarding attempt, success or failure (attempt reporting contract v1). Send one report when each runbook phase ends, and a final report with phase "session" (with the `phases` roll-up), also when you stop early (outcome abandoned or budget_stop). Generate `sessionId` (UUID v4) once per attempt and increment `seq` with every report; a retried report with the same sessionId and seq is collapsed. Never guess: send null for what you do not know (tokens: source "unknown"). Redact keys, tokens, emails and wallet secrets before sending. Always include `summary`: contract v1 makes it optional, but until the gateway's attempt support lands it is the only field kept, and today's server refuses a report without it. The schema is contract v1: an unknown phase, outcome or harness name is accepted (the server stores it as other or unknown, with the raw value as a label), and budget-stop is a spelling of budget_stop. Never send a transcript; consent.transcript stays false until the operator decides. Unauthenticated.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
pcc_schedule_evaluateEvaluate a published RateSchedule at a moment, returning the effective bps.No findings
Why it is in this group
- The name "pcc_schedule_evaluate" says "schedule": a word for a change.
Description, as the server wrote it Evaluate a published RateSchedule at a moment, returning the effective bps. Inputs: scheduleHash + now (unix seconds) + optional jobValueCents (piecewise-value) + optional jobsPerDay (adoption-indexed). Returns {scheduleHash, bps, segmentKind, segmentIndex}. segmentIndex=-1 + bps=0 when no segment covers the moment (silent gap).
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
pcc_schedule_getFetch a published RateSchedule by its content hash.1 finding
Why it is in this group
- The name "pcc_schedule_get" says "schedule": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "pcc_schedule_get" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false}; The name "pcc_schedule_get" says "schedule": a word for a change.
Description, as the server wrote it Fetch a published RateSchedule by its content hash. Returns {schedule, publishedBy} with segments re-validated via Zod, or 404 if not found.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
pcc_submit_paid_jobFast-track paid job: one call from DHT discovery to funded escrow + active scope.No findings
Why it is in this group
- The name "pcc_submit_paid_job" says "submit": a word for a change.
Description, as the server wrote it Fast-track paid job: one call from DHT discovery to funded escrow + active scope. Auto-negotiates, quotes, creates escrow with milestones, creates execution scope. Returns jobId, scopeId, escrowId, quote with pricing adjustments, contract terms. For testnet, escrow is mock-funded automatically.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
pcc_submit_requestSubmit a high-level capability request in natural language.No findings
Why it is in this group
- The name "pcc_submit_request" says "submit": a word for a change.
Description, as the server wrote it Submit a high-level capability request in natural language. The system automatically decomposes it into a capability DAG with dependencies, timelines, and budget allocation across fabrication, design, assembly, electronics, software, logistics, and verification nodes. Returns the request with full decomposed DAG. Example: 'Build a cute animatronic plush desk robot with servo-driven animations'.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
pcc_training_manifest_setSet (insert-or-replace) the TrainingManifest for a model IP — the dataset weight map the LicensingEngine walks when distributing payouts to a 'model-author' entry in a CompositionM…No findings
Why it is in this group
- The name "pcc_training_manifest_set" says "set": a word for a change.
Description, as the server wrote it Set (insert-or-replace) the TrainingManifest for a model IP — the dataset weight map the LicensingEngine walks when distributing payouts to a 'model-author' entry in a CompositionManifest. Dataset weightBps must sum to ≤ 10000 (gateway accepts partial mixes; on-chain enforces exact 10000). Returns {modelIpId, manifestHash}.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
pcc_trilobio_build_configGenerate a complete KERNEL_CONFIG JSON for a Trilobio (tcode-api) fleet controller.No findings
Why it is in this group
- The description's first verb is "generate": a word for a change.
Description, as the server wrote it Generate a complete KERNEL_CONFIG JSON for a Trilobio (tcode-api) fleet controller. Wraps `buildTrilobioConfig()` from the @pcc/trilobio npm package. Returns a TrilobioKernelConfig with sensible defaults (pollIntervalMs=3000, maxScriptTimeoutSec=3600, allowArbitraryScripts=false). The result can be passed to `pcc-node start` via the KERNEL_CONFIG env var, or handed to setup_generate_config / setup_register_device for direct API-driven registration. Note: this is a TypeScript package helper (no HTTP call). For programmatic use, `import { buildTrilobioConfig } from "@pcc/trilobio"`.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
pcc_trilobio_validate_optionsSanity-check operator-supplied Trilobio options before generating a KERNEL_CONFIG.1 finding
Why it is in this group
- The name "pcc_trilobio_validate_options" says "validate": a word for reading.
- The server marks it as not read-only (readOnlyHint: false).
Findings
- Warn
The server marks "pcc_trilobio_validate_options" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false}; The name "pcc_trilobio_validate_options" says "validate": a word for reading.
Description, as the server wrote it Sanity-check operator-supplied Trilobio options before generating a KERNEL_CONFIG. Wraps `validateTrilobioOptions()` from @pcc/trilobio. Catches the common mistakes (malformed URL, missing creds, out-of-range timeouts, invalid tcodeApiVersion semver) before they hit the gateway or the device. Returns { valid: boolean, errors: string[], warnings?: string[] }. Note: this is a TypeScript package helper (no HTTP call); for programmatic use, `import { validateTrilobioOptions } from "@pcc/trilobio"`.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
pcc_trilobio_validate_scriptQuick lint of a tcode-api Python script before submission to a Trilobio fleet controller.1 finding
Why it is in this group
- The name "pcc_trilobio_validate_script" says "validate": a word for reading.
- The server marks it as not read-only (readOnlyHint: false).
Findings
- Warn
The server marks "pcc_trilobio_validate_script" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false}; The name "pcc_trilobio_validate_script" says "validate": a word for reading.
Description, as the server wrote it Quick lint of a tcode-api Python script before submission to a Trilobio fleet controller. Wraps `validateTcodeScript()` from @pcc/trilobio. Surface check only — NOT a sandbox or sanitizer. Looks for: imports of `tcode_api` (presence required), obviously dangerous statements (subprocess, os.system, eval, exec, __import__, socket, urllib, requests, file writes), empty scripts, and missing top-level tcode commands. Returns { valid: boolean, errors: string[], warnings?: string[] }. Operators with `allowArbitraryScripts=true` should treat results as a hint — the fleet controller is the source of truth on safety. Note: TypeScript package helper (no HTTP call); for programmatic use, `import { validateTcodeScript } from "@pcc/trilobio"`.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
pcc_update_node_statusUpdate the status of a capability node within a request.No findings
Why it is in this group
- The name "pcc_update_node_status" says "update": a word for a change.
Description, as the server wrote it Update the status of a capability node within a request. Valid transitions: pending → bidding → assigned → in_progress → completed (or failed). When all nodes complete, the request automatically moves to completed.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
pcc_update_requestUpdate a capability request's title, description, budget, deadline, urgency, or contact info.No findings
Why it is in this group
- The name "pcc_update_request" says "update": a word for a change.
Description, as the server wrote it Update a capability request's title, description, budget, deadline, urgency, or contact info. Does not re-decompose — call pcc_decompose_request afterwards if you want a fresh DAG.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
pcc_verifier_healthReport CaptureVerifier health: which adapters are loaded (c2pa, webauthn, appattest, playintegrity), their staleness status, in-memory challenge cache size, whether CaptureClassReg…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Report CaptureVerifier health: which adapters are loaded (c2pa, webauthn, appattest, playintegrity), their staleness status, in-memory challenge cache size, whether CaptureClassRegistry is deployed, and the active PCC_NETWORK. Use this to diagnose why a capture class is being rejected or degraded.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
pcc.op.capability.request_quotePrice a configured PCC capability (typed operation).1 finding
Why it is in this group
- The name "pcc.op.capability.request_quote" says "request": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "pcc.op.capability.request_quote" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The name "pcc.op.capability.request_quote" says "request": a word for a change.
Description, as the server wrote it Price a configured PCC capability (typed operation). Returns the itemized quote for the given capability type + selections. Pure calculation — no funds move and nothing is created. Maps to POST /api/build/price.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
propose_compositionPropose a composition — a sequenced DAG of capability instances to satisfy a multi-step outcome under a budget + assurance tier.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Propose a composition — a sequenced DAG of capability instances to satisfy a multi-step outcome under a budget + assurance tier. Accepts either a flat `steps` list or an outcome chain. Returns a candidate plan ranked by `optimizeFor` (price | speed | quality) with per-step assignments. The composition is persisted for ~30 minutes (proposed status) and can be executed once via execute_composition.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
protocol_create_escrowCreate a new MilestoneEscrow contract via the PCCProtocol factory on-chain.No findings
Why it is in this group
- The name "protocol_create_escrow" says "create": a word for a change.
Description, as the server wrote it Create a new MilestoneEscrow contract via the PCCProtocol factory on-chain. Protocol-deployed escrows have fee collection and registry tracking built in. Requires PCC_GATEWAY_PRIVATE_KEY write access.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
protocol_feeCalculate the protocol fee for a given USDC amount (6-decimal units).No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Calculate the protocol fee for a given USDC amount (6-decimal units). Returns the fee, the net amount after fee, and formatted versions of both. Use this before building escrow contracts to understand the true cost.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
prove_registrationFast-track: submit evidence that your device works and get auto-approved + activated immediately.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Fast-track: submit evidence that your device works and get auto-approved + activated immediately. No manual review needed. Submit a photo of test output, device health snapshot, or a full evidence bundle with completion events. If evidence meets requirements, registration jumps straight to 'active'.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
provision_api_keyCALL THIS FIRST.No findings
Why it is in this group
- The description's first verb is "call": a word for a change.
Description, as the server wrote it CALL THIS FIRST. Provisions an API key for the operator. Returns a pcc_live_* key that must be included as 'Authorization: Bearer <key>' on all subsequent requests. Accepts either email OR walletAddress. The key is shown once — save it. Without it, all other endpoints return 401.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
raise_ip_disputeRaise a Story Protocol IP dispute against an asset.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Raise a Story Protocol IP dispute against an asset. Provide evidence hash and reason.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
record_episodeRecord a transfer episode for a node pair.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Record a transfer episode for a node pair. Increments episode count toward VLA training threshold.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
register_capability_ipRegister a capability as a Story Protocol IP Asset.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Register a capability as a Story Protocol IP Asset. Returns an ipId and NFT token. The designer earns royalties whenever this capability is used.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
register_job_evidence_ipRegister job evidence as a derivative IP asset on Story Protocol, linking it to the parent capability's IP.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Register job evidence as a derivative IP asset on Story Protocol, linking it to the parent capability's IP. Operators earn royalties from derivative use.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
reject_registrationReject a machine registration with a reason.No findings
Why it is in this group
- The name "reject_registration" says "reject": a word for a change.
Description, as the server wrote it Reject a machine registration with a reason. The operator can see the rejection reason and resubmit.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
release_milestoneRelease a milestone payment on-chain after the challenge window has expired.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Release a milestone payment on-chain after the challenge window has expired. Returns transaction hash.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
render_pcc_dashboardCompose a live PCC dashboard for a physical-capability task — pass a DashboardManifest (windows + live data bindings + actions) and it renders as an interactive MCP App.1 finding
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Info
The input schema at description mentions "credential".
What this check looks forMatched text
inputSchema.description: "...AX_MANIFEST_BYTES) and the recursive no-credential refine (containsApiKey — rejects a bake..."
Description, as the server wrote it Compose a live PCC dashboard for a physical-capability task — pass a DashboardManifest (windows + live data bindings + actions) and it renders as an interactive MCP App.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
render_pcc_dashboard_irCompose a live PCC dashboard rendered through the closed, PCC-owned IR (read-only).1 finding
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Info
The input schema at description mentions "credential".
What this check looks forMatched text
inputSchema.description: "...AX_MANIFEST_BYTES) and the recursive no-credential refine (containsApiKey — rejects a bake..."
Description, as the server wrote it Compose a live PCC dashboard rendered through the closed, PCC-owned IR (read-only). Pass a DashboardManifest; it renders as an interactive MCP App via the audited closed-IR render path.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
report_anomalyReport a detected anomaly — protocol failure, evidence mismatch, stuck job, or suspicious behavior.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Report a detected anomaly — protocol failure, evidence mismatch, stuck job, or suspicious behavior. All agents on the network are notified.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
report_protocol_failureReport a protocol failure — when a step in the evidence/escrow/verification pipeline breaks.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Report a protocol failure — when a step in the evidence/escrow/verification pipeline breaks. System may auto-recover.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
resolve_anomalyMark an anomaly as resolved with a resolution note.No findings
Why it is in this group
- The name "resolve_anomaly" says "resolve": a word for reading.
- The description's first verb is "mark": a word for a change.
Description, as the server wrote it Mark an anomaly as resolved with a resolution note.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
respond_to_verificationSubmit a verifier's verdict for a verification request.No findings
Why it is in this group
- The description's first verb is "submit": a word for a change.
Description, as the server wrote it Submit a verifier's verdict for a verification request. Returns consensus state after this vote.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
resume_protocol_runResume a paused protocol run from where it stopped.No findings
Why it is in this group
- The name "resume_protocol_run" says "run": a word for a change.
Description, as the server wrote it Resume a paused protocol run from where it stopped.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
save_dashboardSave a generated dashboard to the network so the user gets a live, shareable URL: https://capability.network/a/<slug>.No findings
Why it is in this group
- The name "save_dashboard" says "save": a word for a change.
Description, as the server wrote it Save a generated dashboard to the network so the user gets a live, shareable URL: https://capability.network/a/<slug>. Pass a `manifest` — a small declarative DashboardManifest (windows + live-data bindings + actions) conforming to the schema at https://capability.network/ui-kit/v1/manifest.schema.json; the shipped pcc-ui kit renders it identically everywhere (you compose the manifest, the kit renders it — never hand-rolled HTML). WHEN to call this: only when the task needs a surface to watch/approve/compare/reuse (a live job, a value chain, a settlement trail, a recurring order) — never for a one-line answer. RECALL FIRST: call search_dashboards before generating; reload or fork a match instead of duplicating. The manifest MUST NOT contain an API key (a shared artifact travels with its contents — the network rejects one that does). Returns the stored artifact incl. its slug. Defaults visibility to 'unlisted' (link-shareable, not listed).
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
setup_detectAuto-detect current setup state: env vars, database, adapters, chain connectivity, storage, identity.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Auto-detect current setup state: env vars, database, adapters, chain connectivity, storage, identity. Use this to see what's configured and what's missing before onboarding.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
setup_generate_configGenerate a KERNEL_CONFIG JSON from device descriptions.No findings
Why it is in this group
- The name "setup_generate_config" says "generate": a word for a change.
Description, as the server wrote it Generate a KERNEL_CONFIG JSON from device descriptions. Tell it what machines you have and it produces the config ready to paste into your environment.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
setup_register_deviceRegister a device in the database with adapter config and capabilities.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Register a device in the database with adapter config and capabilities. Part of Step 3 in the onboarding flow. Required: kernelId, deviceId, type and adapterType (400 missing_required_fields otherwise).
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
setup_test_jobSubmit a test job to verify the full pipeline works end-to-end (Step 4 of onboarding).No findings
Why it is in this group
- The description's first verb is "submit": a word for a change.
Description, as the server wrote it Submit a test job to verify the full pipeline works end-to-end (Step 4 of onboarding). Returns job ID and result.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
setup_validateValidate a kernel config (20+ checks: JSON structure, device connectivity, adapter compatibility).1 finding
Why it is in this group
- The name "setup_validate" says "validate": a word for reading.
- The server marks it as not read-only (readOnlyHint: false).
Findings
- Warn
The server marks "setup_validate" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false}; The name "setup_validate" says "validate": a word for reading.
Description, as the server wrote it Validate a kernel config (20+ checks: JSON structure, device connectivity, adapter compatibility). Returns validation errors and warnings.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
stake_in_poolStake USDC or credits into a capability investment pool.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Stake USDC or credits into a capability investment pool.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
start_protocol_runStart execution of a protocol run that is in 'ready' or 'binding' state.No findings
Why it is in this group
- The name "start_protocol_run" says "start": a word for a change.
Description, as the server wrote it Start execution of a protocol run that is in 'ready' or 'binding' state.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
submit_attestationSubmit a verifier attestation for a milestone on-chain.No findings
Why it is in this group
- The name "submit_attestation" says "submit": a word for a change.
Description, as the server wrote it Submit a verifier attestation for a milestone on-chain. Used by third-party verifiers (Bittensor subnet) to confirm evidence quality. Returns transaction hash.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
submit_demandSignal that you want a capability that doesn't exist on the network yet.No findings
Why it is in this group
- The name "submit_demand" says "submit": a word for a change.
Description, as the server wrote it Signal that you want a capability that doesn't exist on the network yet. Creates a demand signal and may auto-create a bounty if enough demand accumulates.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
submit_evidence_hashSubmit an evidence bundle hash for a milestone on-chain.No findings
Why it is in this group
- The name "submit_evidence_hash" says "submit": a word for a change.
Description, as the server wrote it Submit an evidence bundle hash for a milestone on-chain. Links the physical evidence to the on-chain settlement record. Returns transaction hash.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
submit_feedbackSubmit a bug report, suggestion, or general feedback about the PCC network.No findings
Why it is in this group
- The name "submit_feedback" says "submit": a word for a change.
Description, as the server wrote it Submit a bug report, suggestion, or general feedback about the PCC network.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
submit_for_human_verificationSubmit an evidence bundle for human verification.No findings
Why it is in this group
- The name "submit_for_human_verification" says "submit": a word for a change.
Description, as the server wrote it Submit an evidence bundle for human verification. Selects a panel of verifiers from the network and returns assigned verifier IDs.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
suggest_csd_templatesBidirectional onboarding: the registry talks back.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Bidirectional onboarding: the registry talks back. Describe in plain English what you are trying to set up — 'wood-fired pizza shop in SF', 'Opentrons OT-2 liquid handler', 'same-day SF courier' — and the registry returns N candidate Capability StructureDefinition (CSD) templates ranked by keyword-overlap relevance (name×3, tags×2, description×1; tie-break on usage). Empty query falls back to popularity-ordered top picks. After picking one, pass the chosen type to pcc-author-integration. Score-zero results are dropped.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
system_telemetryRaw system state dump — actual DB rows for kernels, devices, jobs, evidence, registrations, capabilities, agent conversations, audit log.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Raw system state dump — actual DB rows for kernels, devices, jobs, evidence, registrations, capabilities, agent conversations, audit log. No fake numbers, no summaries.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
test_operator_channelsFire a synthetic job at every enabled channel for an operator so the onboarding agent (and the human watching) can confirm the integration end-to-end before a real job lands.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Fire a synthetic job at every enabled channel for an operator so the onboarding agent (and the human watching) can confirm the integration end-to-end before a real job lands. Returns per-channel dispatch results (delivered, ref, warnings).
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
update_dashboardModify a dashboard you own (owner-only).No findings
Why it is in this group
- The name "update_dashboard" says "update": a word for a change.
Description, as the server wrote it Modify a dashboard you own (owner-only). Replace the manifest or any metadata field; the version increments. Use this to edit a saved surface meaningfully — 'raise budgetUSD to 40', 'add a receipt window', 'make it public'. A replaced manifest must still conform to the schema and must not contain an API key. Only send the fields you want to change.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
update_job_statusUpdate a job's status and optional progress percentage.No findings
Why it is in this group
- The name "update_job_status" says "update": a word for a change.
Description, as the server wrote it Update a job's status and optional progress percentage. Used by kernels to report job progress.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
update_operator_channelUpdate an existing channel — toggle enabled, rewrite the describe contract, change the endpoint payload, etc.No findings
Why it is in this group
- The name "update_operator_channel" says "update": a word for a change.
Description, as the server wrote it Update an existing channel — toggle enabled, rewrite the describe contract, change the endpoint payload, etc. Merges into the existing record. The operator slug, id, and createdAt are immutable.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
update_protocolUpdate an existing protocol template (must be in draft status).No findings
Why it is in this group
- The name "update_protocol" says "update": a word for a change.
Description, as the server wrote it Update an existing protocol template (must be in draft status). Returns updated name and version.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
validate_protocolValidate a protocol template against a specific kernel — checks capability availability, transfer compatibility, and automation level feasibility.1 finding
Why it is in this group
- The name "validate_protocol" says "validate": a word for reading.
- The server marks it as not read-only (readOnlyHint: false).
Findings
- Warn
The server marks "validate_protocol" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false}; The name "validate_protocol" says "validate": a word for reading.
Description, as the server wrote it Validate a protocol template against a specific kernel — checks capability availability, transfer compatibility, and automation level feasibility.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
verify_bountyVerify bounty completion by scoring the delivered capability against requirements.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Verify bounty completion by scoring the delivered capability against requirements.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
verify_evidence_zkVerify a ZK proof by its proof ID.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Verify a ZK proof by its proof ID. Checks the proof against its verification key and public inputs.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
Only reads 114Claude Code: allow
get_active_telemetryList currently active jobs with their current pipeline phase and telemetry status.No findings
Why it is in this group
- The name "get_active_telemetry" says "get": a word for reading.
Description, as the server wrote it List currently active jobs with their current pipeline phase and telemetry status.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
get_agent_anomaliesGet anomalies involving a specific agent, plus their trust impact score.No findings
Why it is in this group
- The name "get_agent_anomalies" says "get": a word for reading.
Description, as the server wrote it Get anomalies involving a specific agent, plus their trust impact score.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
get_anomaly_statsGet aggregate anomaly statistics — total, unresolved, by severity, by category.No findings
Why it is in this group
- The name "get_anomaly_stats" says "get": a word for reading.
Description, as the server wrote it Get aggregate anomaly statistics — total, unresolved, by severity, by category.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
get_automation_statusGet automation status for a specific instrument-to-instrument transfer pair.No findings
Why it is in this group
- The name "get_automation_status" says "get": a word for reading.
Description, as the server wrote it Get automation status for a specific instrument-to-instrument transfer pair.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
get_bounty_leaderboardGet the bounty hunter leaderboard showing top operators by bounties claimed and verified.No findings
Why it is in this group
- The name "get_bounty_leaderboard" says "get": a word for reading.
Description, as the server wrote it Get the bounty hunter leaderboard showing top operators by bounties claimed and verified.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
get_bundle_ipfsGet IPFS CIDs for a bundle — returns the primary CID, metadata CID, and Filecoin deal ID if available.No findings
Why it is in this group
- The name "get_bundle_ipfs" says "get": a word for reading.
Description, as the server wrote it Get IPFS CIDs for a bundle — returns the primary CID, metadata CID, and Filecoin deal ID if available.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
get_capability_ipGet the Story Protocol IP registration for a capability by its capability ID.No findings
Why it is in this group
- The name "get_capability_ip" says "get": a word for reading.
Description, as the server wrote it Get the Story Protocol IP registration for a capability by its capability ID.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
get_compositionRetrieve a previously-proposed composition by id.No findings
Why it is in this group
- The name "get_composition" says "get": a word for reading.
Description, as the server wrote it Retrieve a previously-proposed composition by id. Returns 404 if unknown, 410 if the 30-minute proposal window has expired. Use this to inspect a plan before executing, or to recover a plan id after a restart.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
get_dashboardRecall a saved dashboard by its id or slug.No findings
Why it is in this group
- The name "get_dashboard" says "get": a word for reading.
Description, as the server wrote it Recall a saved dashboard by its id or slug. Returns the full artifact (manifest + metadata). Use this to reload a dashboard the user asks for again ('open my pizza dashboard') instead of regenerating it — a saved dashboard reloads with zero regeneration. Public for public/unlisted artifacts; owner-only for private ones. Increments the load counter (a popularity signal).
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
get_demand_supplyGet network-wide demand vs supply timeline data for capacity planning and market analysis.No findings
Why it is in this group
- The name "get_demand_supply" says "get": a word for reading.
Description, as the server wrote it Get network-wide demand vs supply timeline data for capacity planning and market analysis.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
get_depin_statsDePIN treasury, soulbound capability certificates, and current reward epoch stats.No findings
Why it is in this group
- The name "get_depin_stats" says "get": a word for reading.
Description, as the server wrote it DePIN treasury, soulbound capability certificates, and current reward epoch stats.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
get_equipment_classesList equipment classes (FDM printers, CNC mills, etc.) with market snapshot data including utilization, demand, and pricing.No findings
Why it is in this group
- The name "get_equipment_classes" says "get": a word for reading.
Description, as the server wrote it List equipment classes (FDM printers, CNC mills, etc.) with market snapshot data including utilization, demand, and pricing.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
get_escrowGet escrow details.No findings
Why it is in this group
- The name "get_escrow" says "get": a word for reading.
Description, as the server wrote it Get escrow details. Pass a DB ID for database record (with milestones and disputes), or an EVM address (0x...) to read directly from the blockchain.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
get_escrow_chain_stateRead full on-chain escrow state with all milestone details from the blockchain.No findings
Why it is in this group
- The name "get_escrow_chain_state" says "get": a word for reading.
Description, as the server wrote it Read full on-chain escrow state with all milestone details from the blockchain. More detailed than get_escrow for on-chain contracts.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
get_escrow_disputeRead dispute state for a specific milestone from the blockchain.No findings
Why it is in this group
- The name "get_escrow_dispute" says "get": a word for reading.
Description, as the server wrote it Read dispute state for a specific milestone from the blockchain.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
get_escrow_eventsGet on-chain event history for an escrow contract.No findings
Why it is in this group
- The name "get_escrow_events" says "get": a word for reading.
Description, as the server wrote it Get on-chain event history for an escrow contract. Returns funding, release, dispute, and bond events.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
get_evidence_bundleGet an encrypted evidence bundle by its bundle ID.No findings
Why it is in this group
- The name "get_evidence_bundle" says "get": a word for reading.
Description, as the server wrote it Get an encrypted evidence bundle by its bundle ID. Returns the encrypted payload and key capsules.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
get_installationsList equipment installation orders with step progress and status.No findings
Why it is in this group
- The name "get_installations" says "get": a word for reading.
Description, as the server wrote it List equipment installation orders with step progress and status.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
get_ip_lineageGet the full IP lineage chain for an asset — parent capabilities and all derivative job registrations.No findings
Why it is in this group
- The name "get_ip_lineage" says "get": a word for reading.
Description, as the server wrote it Get the full IP lineage chain for an asset — parent capabilities and all derivative job registrations.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
get_ip_revenueGet a revenue snapshot for an IP asset — total earned, pending claims, and recent payments.No findings
Why it is in this group
- The name "get_ip_revenue" says "get": a word for reading.
Description, as the server wrote it Get a revenue snapshot for an IP asset — total earned, pending claims, and recent payments.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
get_jobGet job details including progress, evidence bundles, and milestones.No findings
Why it is in this group
- The name "get_job" says "get": a word for reading.
Description, as the server wrote it Get job details including progress, evidence bundles, and milestones.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
get_job_telemetryGet full event timeline for a specific job — all pipeline phase transitions with timings and metadata.No findings
Why it is in this group
- The name "get_job_telemetry" says "get": a word for reading.
Description, as the server wrote it Get full event timeline for a specific job — all pipeline phase transitions with timings and metadata.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
get_kernelGet kernel details including full capability objects, devices, and queue.No findings
Why it is in this group
- The name "get_kernel" says "get": a word for reading.
Description, as the server wrote it Get kernel details including full capability objects, devices, and queue.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
get_kernel_devicesList all devices registered under a specific kernel, including adapter configs and device types.No findings
Why it is in this group
- The name "get_kernel_devices" says "get": a word for reading.
Description, as the server wrote it List all devices registered under a specific kernel, including adapter configs and device types.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
get_kernel_jobsList all jobs submitted to a specific kernel, including job status and progress.No findings
Why it is in this group
- The name "get_kernel_jobs" says "get": a word for reading.
Description, as the server wrote it List all jobs submitted to a specific kernel, including job status and progress.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
get_kernel_sensorsGet sensor channels for a specific kernel.No findings
Why it is in this group
- The name "get_kernel_sensors" says "get": a word for reading.
Description, as the server wrote it Get sensor channels for a specific kernel. Returns live channel descriptors.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
get_lit_conditionsGet Lit Protocol access conditions for a Lit-encrypted evidence bundle.No findings
Why it is in this group
- The name "get_lit_conditions" says "get": a word for reading.
Description, as the server wrote it Get Lit Protocol access conditions for a Lit-encrypted evidence bundle. Returns the conditions that gate decryption.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
get_logistics_overviewLogistics hub overview: active shipments, pending installations, and upcoming bookings.No findings
Why it is in this group
- The name "get_logistics_overview" says "get": a word for reading.
Description, as the server wrote it Logistics hub overview: active shipments, pending installations, and upcoming bookings.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
get_marketplace_overviewEquipment marketplace overview with demand/supply metrics across all capability types.No findings
Why it is in this group
- The name "get_marketplace_overview" says "get": a word for reading.
Description, as the server wrote it Equipment marketplace overview with demand/supply metrics across all capability types.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
get_operator_certsAnswers 501 not_available: operator certifications are not recorded on this gateway (there is no certification store; certifications typed at registration are the operator's own cl…No findings
Why it is in this group
- The name "get_operator_certs" says "get": a word for reading.
Description, as the server wrote it Answers 501 not_available: operator certifications are not recorded on this gateway (there is no certification store; certifications typed at registration are the operator's own claim and are not checked).
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
get_operator_dashboardNot available: no route answers GET /api/operator on this gateway.No findings
Why it is in this group
- The name "get_operator_dashboard" says "get": a word for reading.
Description, as the server wrote it Not available: no route answers GET /api/operator on this gateway. The operator's real kernels, devices and in-flight jobs are at GET /api/agent/me.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
get_operator_earningsAnswers 501 not_available: operator earnings history is not recorded on this gateway.No findings
Why it is in this group
- The name "get_operator_earnings" says "get": a word for reading.
Description, as the server wrote it Answers 501 not_available: operator earnings history is not recorded on this gateway. Per-job payment state is at GET /api/jobs/:jobId/execution.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
get_operator_machinesAnswers 501 not_available: operator machines with utilization and uptime are not recorded on this gateway.No findings
Why it is in this group
- The name "get_operator_machines" says "get": a word for reading.
Description, as the server wrote it Answers 501 not_available: operator machines with utilization and uptime are not recorded on this gateway. The operator's real kernels, devices and in-flight jobs are at GET /api/agent/me.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
get_operator_statusFour-slot substrate view for an operator: kernels, capabilities (with sla + availability), notification channels, and the per-kernel A2A agent-card URLs.1 finding
Why it is in this group
- The name "get_operator_status" says "get": a word for reading.
Findings
- Info
The description mentions "credentials".
What this check looks forMatched text
description: "...non-secret and the response carries no credentials (channel `credentialRef` values are vau..."
Description, as the server wrote it Four-slot substrate view for an operator: kernels, capabilities (with sla + availability), notification channels, and the per-kernel A2A agent-card URLs. Returns totals and a `missing` list naming any of the four onboarding slots that are still empty. Use this from an onboarding agent's wrap-up step to confirm 'are all four slots wired before I go live?' status is `ready` | `partial` | `unconfigured`. Public — operator slug is non-secret and the response carries no credentials (channel `credentialRef` values are vault references, not secrets).
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
get_poolGet details of a specific investment pool including stakes, status, and revenue share terms.No findings
Why it is in this group
- The name "get_pool" says "get": a word for reading.
Description, as the server wrote it Get details of a specific investment pool including stakes, status, and revenue share terms.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
get_pool_earningsCheck earnings from capability investment pools for a staker address.No findings
Why it is in this group
- The name "get_pool_earnings" says "get": a word for reading.
Description, as the server wrote it Check earnings from capability investment pools for a staker address.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
get_popular_csd_templatesReturn CSDs sorted by adoption (usage-count descending).No findings
Why it is in this group
- The name "get_popular_csd_templates" says "get": a word for reading.
Description, as the server wrote it Return CSDs sorted by adoption (usage-count descending). Useful for first-time operators who want to see what kind of capabilities others are publishing. Each entry includes the CSD record plus usage attribution: count, recent adopters (deduped, capped at 50), and lastUsedAt.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
get_protocolGet protocol template details by ID.No findings
Why it is in this group
- The name "get_protocol" says "get": a word for reading.
Description, as the server wrote it Get protocol template details by ID. Returns steps, transfers, parameters, and metadata.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
get_protocol_forksList all forks of a protocol template.No findings
Why it is in this group
- The name "get_protocol_forks" says "get": a word for reading.
Description, as the server wrote it List all forks of a protocol template. Shows who forked it and what parameters they changed.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
get_protocol_runGet protocol run status including step progress, transfer status, current phase, and evidence hashes.No findings
Why it is in this group
- The name "get_protocol_run" says "get": a word for reading.
Description, as the server wrote it Get protocol run status including step progress, transfer status, current phase, and evidence hashes.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
get_registrationGet details of a specific machine registration by ID, including capabilities, pricing, operator info, and current status.No findings
Why it is in this group
- The name "get_registration" says "get": a word for reading.
Description, as the server wrote it Get details of a specific machine registration by ID, including capabilities, pricing, operator info, and current status.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
get_sensor_channelsList all registered sensor channels across kernels.No findings
Why it is in this group
- The name "get_sensor_channels" says "get": a word for reading.
Description, as the server wrote it List all registered sensor channels across kernels. Returns channel descriptors with units and ranges.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
get_settlement_epochsGet settlement epoch history showing past batch settlements with timing and operation counts.No findings
Why it is in this group
- The name "get_settlement_epochs" says "get": a word for reading.
Description, as the server wrote it Get settlement epoch history showing past batch settlements with timing and operation counts.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
get_settlement_statusGet settlement pipeline status including pending operations count, total value queued, and smart account address.No findings
Why it is in this group
- The name "get_settlement_status" says "get": a word for reading.
Description, as the server wrote it Get settlement pipeline status including pending operations count, total value queued, and smart account address.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
get_shipmentsList equipment shipments with tracking status.No findings
Why it is in this group
- The name "get_shipments" says "get": a word for reading.
Description, as the server wrote it List equipment shipments with tracking status. Optionally filter by status.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
get_spaceGet detailed information about a hosting space including power, amenities, safety features, and pricing.No findings
Why it is in this group
- The name "get_space" says "get": a word for reading.
Description, as the server wrote it Get detailed information about a hosting space including power, amenities, safety features, and pricing.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
get_space_bookingsList space bookings for hosting equipment.No findings
Why it is in this group
- The name "get_space_bookings" says "get": a word for reading.
Description, as the server wrote it List space bookings for hosting equipment. Optionally filter by status or space.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
get_subnet_minersList verification subnet miners on the Bittensor network.No findings
Why it is in this group
- The name "get_subnet_miners" says "get": a word for reading.
Description, as the server wrote it List verification subnet miners on the Bittensor network. Returns miner addresses, scores, and leaderboard positions.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
get_subnet_statusGet Bittensor verification subnet health, agent bridge status, and network connectivity.No findings
Why it is in this group
- The name "get_subnet_status" says "get": a word for reading.
Description, as the server wrote it Get Bittensor verification subnet health, agent bridge status, and network connectivity.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
get_telemetry_logsQuery structured logs with filters for level, source, jobId, kernelId, time range, and full-text search.No findings
Why it is in this group
- The name "get_telemetry_logs" says "get": a word for reading.
Description, as the server wrote it Query structured logs with filters for level, source, jobId, kernelId, time range, and full-text search.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
get_telemetry_statsGet aggregate pipeline telemetry statistics including phase timings, success rates, and throughput metrics across all jobs.No findings
Why it is in this group
- The name "get_telemetry_stats" says "get": a word for reading.
Description, as the server wrote it Get aggregate pipeline telemetry statistics including phase timings, success rates, and throughput metrics across all jobs.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
get_token_allowanceRead the ERC-20 token allowance granted by an owner to a spender from the blockchain.No findings
Why it is in this group
- The name "get_token_allowance" says "get": a word for reading.
Description, as the server wrote it Read the ERC-20 token allowance granted by an owner to a spender from the blockchain.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
get_token_balanceRead an ERC-20 token balance for an account address from the blockchain.No findings
Why it is in this group
- The name "get_token_balance" says "get": a word for reading.
Description, as the server wrote it Read an ERC-20 token balance for an account address from the blockchain.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
get_top_demandGet top demand signals aggregated by capability type.No findings
Why it is in this group
- The name "get_top_demand" says "get": a word for reading.
Description, as the server wrote it Get top demand signals aggregated by capability type. Shows which capabilities are most wanted on the network.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
get_transfer_graphsGet resource transfer graphs showing instrument topology, transfer edges, and mechanisms for all kernels.No findings
Why it is in this group
- The name "get_transfer_graphs" says "get": a word for reading.
Description, as the server wrote it Get resource transfer graphs showing instrument topology, transfer edges, and mechanisms for all kernels.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
get_unresolved_anomaliesList all unresolved anomalies on the network.No findings
Why it is in this group
- The name "get_unresolved_anomalies" says "get": a word for reading.
Description, as the server wrote it List all unresolved anomalies on the network. Filter by severity, category, or target agent.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
get_verification_assignmentsGet pending verification assignments for a verifier node.No findings
Why it is in this group
- The name "get_verification_assignments" says "get": a word for reading.
Description, as the server wrote it Get pending verification assignments for a verifier node. Returns requests this verifier has been assigned but not yet responded to.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
get_verification_statusGet verification status for a request.No findings
Why it is in this group
- The name "get_verification_status" says "get": a word for reading.
Description, as the server wrote it Get verification status for a request. Returns vote tally, consensus state, dispute list, and pending response count.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
get_workflowGet detailed workflow information including steps, node assignments, and progress.No findings
Why it is in this group
- The name "get_workflow" says "get": a word for reading.
Description, as the server wrote it Get detailed workflow information including steps, node assignments, and progress.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
get_workflowsList active instrument workflows in the orchestrator.No findings
Why it is in this group
- The name "get_workflows" says "get": a word for reading.
Description, as the server wrote it List active instrument workflows in the orchestrator. Optionally filter by status.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
get_write_statusCheck if on-chain write operations are enabled (requires PCC_GATEWAY_PRIVATE_KEY to be configured).No findings
Why it is in this group
- The name "get_write_status" says "get": a word for reading.
Description, as the server wrote it Check if on-chain write operations are enabled (requires PCC_GATEWAY_PRIVATE_KEY to be configured). Returns write status and signer address.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
list_api_keysList all active API keys for the authenticated operator.No findings
Why it is in this group
- The name "list_api_keys" says "list": a word for reading.
Description, as the server wrote it List all active API keys for the authenticated operator. Returns key IDs, prefixes, scopes, rate limits, usage counts, and creation/expiry timestamps. Requires a valid API key or SIWE session.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
list_automation_statusList automation status for all instrument transfer pairs.No findings
Why it is in this group
- The name "list_automation_status" says "list": a word for reading.
Description, as the server wrote it List automation status for all instrument transfer pairs. Shows current automation level, episode count, and training readiness. Filter by kernelId.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
list_batchesList active and completed settlement batches.No findings
Why it is in this group
- The name "list_batches" says "list": a word for reading.
Description, as the server wrote it List active and completed settlement batches.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
list_bountiesList open bounties for capabilities the network needs.No findings
Why it is in this group
- The name "list_bounties" says "list": a word for reading.
Description, as the server wrote it List open bounties for capabilities the network needs. Operators can claim these to earn rewards by onboarding new capabilities.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
list_capability_typesList all capability types registered on the network (FDM, SLA, CNC, HPLC, etc.) with metadata.No findings
Why it is in this group
- The name "list_capability_types" says "list": a word for reading.
Description, as the server wrote it List all capability types registered on the network (FDM, SLA, CNC, HPLC, etc.) with metadata.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
list_conversationsList agent-to-agent conversations showing topic, participants, message count, and status.No findings
Why it is in this group
- The name "list_conversations" says "list": a word for reading.
Description, as the server wrote it List agent-to-agent conversations showing topic, participants, message count, and status.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
list_escrowsList escrow contracts with milestones and bonds.No findings
Why it is in this group
- The name "list_escrows" says "list": a word for reading.
Description, as the server wrote it List escrow contracts with milestones and bonds. Optionally filter by status.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
list_evidenceList encrypted evidence bundles stored in the gateway.No findings
Why it is in this group
- The name "list_evidence" says "list": a word for reading.
Description, as the server wrote it List encrypted evidence bundles stored in the gateway.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
list_evidence_grantsList all evidence access grants for an address.No findings
Why it is in this group
- The name "list_evidence_grants" says "list": a word for reading.
Description, as the server wrote it List all evidence access grants for an address. Returns bundles the address has been granted access to.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
list_jobsList all jobs with status.No findings
Why it is in this group
- The name "list_jobs" says "list": a word for reading.
Description, as the server wrote it List all jobs with status. Optionally filter by kernelId or status.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
list_kernelsList all Shop Kernels on the network with status and capability types.No findings
Why it is in this group
- The name "list_kernels" says "list": a word for reading.
Description, as the server wrote it List all Shop Kernels on the network with status and capability types. Optionally filter by status.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
list_operator_channelsList every channel attached to an operator.No findings
Why it is in this group
- The name "list_operator_channels" says "list": a word for reading.
Description, as the server wrote it List every channel attached to an operator. Returns the full channel records (id, transport, direction, endpoint, describe, enabled flags). Useful for an operator's onboarding agent to confirm what is wired up, and for status dashboards.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
list_poolsList all investment pools.No findings
Why it is in this group
- The name "list_pools" says "list": a word for reading.
Description, as the server wrote it List all investment pools. Optionally filter by status or capability type.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
list_protocol_runsList protocol runs.No findings
Why it is in this group
- The name "list_protocol_runs" says "list": a word for reading.
Description, as the server wrote it List protocol runs. Filter by status or kernelId.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
list_protocolsList protocol templates in the library.No findings
Why it is in this group
- The name "list_protocols" says "list": a word for reading.
Description, as the server wrote it List protocol templates in the library. Filter by tags, required capabilities, search query, or status.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
list_registrationsList all machine registrations on the network.No findings
Why it is in this group
- The name "list_registrations" says "list": a word for reading.
Description, as the server wrote it List all machine registrations on the network. See pending, approved, active, and rejected registrations. Public endpoint — no auth required.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
list_transfer_agentsList all transfer agents (robots and human operators) available for instrument-to-instrument transfers.No findings
Why it is in this group
- The name "list_transfer_agents" says "list": a word for reading.
Description, as the server wrote it List all transfer agents (robots and human operators) available for instrument-to-instrument transfers.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
marketplace_categoriesList all supplies and materials marketplace categories with the count of active listings in each.No findings
Why it is in this group
- The description's first verb is "list": a word for reading.
Description, as the server wrote it List all supplies and materials marketplace categories with the count of active listings in each. Categories cover the full spectrum of physical production inputs: raw metals, plastics, lab reagents, consumables, electronics, tooling, and more.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
marketplace_get_listingGet full details of a specific supplies/materials marketplace listing by ID.No findings
Why it is in this group
- The name "marketplace_get_listing" says "get": a word for reading.
Description, as the server wrote it Get full details of a specific supplies/materials marketplace listing by ID. Returns pricing, availability, lead time, location, and tags.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
marketplace_get_orderGet details of a specific supply order including the associated listing details, quantity, total price, status, and optional escrow address.No findings
Why it is in this group
- The name "marketplace_get_order" says "get": a word for reading.
Description, as the server wrote it Get details of a specific supply order including the associated listing details, quantity, total price, status, and optional escrow address.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
marketplace_list_listingsSearch and filter supplies/materials marketplace listings.No findings
Why it is in this group
- The name "marketplace_list_listings" says "list": a word for reading.
Description, as the server wrote it Search and filter supplies/materials marketplace listings. Operators buy raw materials here to fulfill capability contracts. Filter by category, in-stock status, location, or free-text query.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
marketplace_list_ordersList marketplace supply orders.No findings
Why it is in this group
- The name "marketplace_list_orders" says "list": a word for reading.
Description, as the server wrote it List marketplace supply orders. Filter by buyerId, sellerId, or status. Returns order history with pricing and status.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
near_intent_statusCheck the settlement status of a submitted NEAR 1Click cross-chain payment intent.No findings
Why it is in this group
- The name "near_intent_status" says "status": a word for reading.
Description, as the server wrote it Check the settlement status of a submitted NEAR 1Click cross-chain payment intent. Statuses progress: pending → submitted → settled | failed. Returns txHash and explorerUrl when settled.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
near_statusGet NEAR Protocol chain-abstraction integration status.No findings
Why it is in this group
- The name "near_status" says "status": a word for reading.
Description, as the server wrote it Get NEAR Protocol chain-abstraction integration status. Returns supported chains (near, eth, base, arbitrum, optimism, polygon), supported assets (USDC, USDT, NEAR, ETH, WBTC), and capability flags. Use this to confirm cross-chain settlement is available before requesting quotes.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
pcc_camera_latestGet the latest camera frame from a kernel as a JSON snapshot (base64 JPEG + metadata).No findings
Why it is in this group
- The description's first verb is "get": a word for reading.
Description, as the server wrote it Get the latest camera frame from a kernel as a JSON snapshot (base64 JPEG + metadata). For raw JPEG image, use GET /api/ot2/camera/latest directly.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
pcc_capture_statusFetch the combined verdict + on-chain anchor view for a single capture.No findings
Why it is in this group
- The name "pcc_capture_status" says "status": a word for reading.
Description, as the server wrote it Fetch the combined verdict + on-chain anchor view for a single capture. Mirrors the verifier's DB shape plus the anchor tx metadata (txHash, blockNumber, gasUsed, explorerUrl). Anchor is null if the verdict was never anchored.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
pcc_chat_historyGet chat history with a kernel.No findings
Why it is in this group
- The description's first verb is "get": a word for reading.
Description, as the server wrote it Get chat history with a kernel. Returns messages between agents, operators, and users for a specific kernel.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
pcc_contributor_listList all contributor profiles for an address across roles.No findings
Why it is in this group
- The name "pcc_contributor_list" says "list": a word for reading.
Description, as the server wrote it List all contributor profiles for an address across roles. Returns an array of {id, address, role, scheduleHash, ipId, contributorNftTokenId, metadataUri, registeredAt}. Returns empty array when no profiles exist for the address.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
pcc_dht_metricsGet a snapshot of DHT telemetry counters and recent events.No findings
Why it is in this group
- The description's first verb is "get": a word for reading.
Description, as the server wrote it Get a snapshot of DHT telemetry counters and recent events. Returns message counts, peer connection stats, query/announce rates, and a list of the last 50 metric events. Use for monitoring network health.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
pcc_dht_peersList known DHT peers and their connection status.No findings
Why it is in this group
- The description's first verb is "list": a word for reading.
Description, as the server wrote it List known DHT peers and their connection status. Shows which nodes are currently connected to the gossip network.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
pcc_get_requestGet a capability request by ID with the full decomposed DAG — all capability nodes, their dependencies, estimated costs/hours, assigned operators, and linked bounty IDs.No findings
Why it is in this group
- The name "pcc_get_request" says "get": a word for reading.
Description, as the server wrote it Get a capability request by ID with the full decomposed DAG — all capability nodes, their dependencies, estimated costs/hours, assigned operators, and linked bounty IDs.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
pcc_get_request_critical_pathGet the critical path (longest dependency chain) for a capability request.No findings
Why it is in this group
- The name "pcc_get_request_critical_path" says "get": a word for reading.
Description, as the server wrote it Get the critical path (longest dependency chain) for a capability request. The critical path determines the minimum calendar time to complete the request. Returns node IDs in order, the full node details, and total hours on the critical path.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
pcc_get_request_dagGet the capability DAG (directed acyclic graph) for a request as adjacency data — nodes with all fields plus explicit edges showing dependency relationships.No findings
Why it is in this group
- The name "pcc_get_request_dag" says "get": a word for reading.
Description, as the server wrote it Get the capability DAG (directed acyclic graph) for a request as adjacency data — nodes with all fields plus explicit edges showing dependency relationships. Useful for visualization or workflow planning.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
pcc_get_tool_manifestGet the tool manifest for a kernel's device type.No findings
Why it is in this group
- The name "pcc_get_tool_manifest" says "get": a word for reading.
Description, as the server wrote it Get the tool manifest for a kernel's device type. Lists all available tools with their safety classification (read, safe_control, scoped_write, privileged) and input schemas. Use to understand what tools are available before making tool calls.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
pcc_get_tool_resultGet the result of a previously relayed tool call.No findings
Why it is in this group
- The name "pcc_get_tool_result" says "get": a word for reading.
Description, as the server wrote it Get the result of a previously relayed tool call. Poll this endpoint until the executor has processed the call and posted results.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
pcc_job_settlementGet 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 releas…No findings
Why it is in this group
- The description's first verb is "get": a word for reading.
Description, as the server wrote it 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 a mock escrow; awaiting_settlement, no_settlement_record, unknown or unavailable otherwise), settled, payout, paidAmount (confirmed releases only), reportedReleasedAmount, quotedAmount, currency (recorded or null), escrow, milestones, the negotiation session, notices and asOf.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
pcc_list_requestsList all capability requests with optional filtering.No findings
Why it is in this group
- The name "pcc_list_requests" says "list": a word for reading.
Description, as the server wrote it List all capability requests with optional filtering. Shows status, decomposed DAG summary, estimated costs, and timelines.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
pcc_list_verdictsList recent capture verdicts, newest first.No findings
Why it is in this group
- The name "pcc_list_verdicts" says "list": a word for reading.
Description, as the server wrote it List recent capture verdicts, newest first. Optionally filter by jobId. Default limit is 50, capped at 200 server-side. Returns {verdicts, count, limit, jobId}.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
pcc_onboard_session_statusCoarse status snapshot for a physical-operator onboarding session: current state, 0-100 progress, scraped_count, ingested_count, last_event, publication payload (if built).No findings
Why it is in this group
- The name "pcc_onboard_session_status" says "status": a word for reading.
Description, as the server wrote it Coarse status snapshot for a physical-operator onboarding session: current state, 0-100 progress, scraped_count, ingested_count, last_event, publication payload (if built). Cheap — designed for polling from the chat header. Auth-required.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
pcc_oracle_statusNot served by the PCC gateway: GET /api/oracle/health returns 404 there.No findings
Why it is in this group
- The name "pcc_oracle_status" says "status": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
pcc_orchestrator_list_templatesList the orchestrator templates the dashboard's chat console can drive.No findings
Why it is in this group
- The name "pcc_orchestrator_list_templates" says "list": a word for reading.
Description, as the server wrote it List the orchestrator templates the dashboard's chat console can drive. Each entry includes slug, display_name, description, produces_kind, capability_class (physical | digital), greeting, and api_base (the route prefix that serves the six session-driver routes for that template). Public — no auth required.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
pcc_protocol_feeGet the current protocol fee rate (2.35%, immutable) and fee recipient address.No findings
Why it is in this group
- The description's first verb is "get": a word for reading.
Description, as the server wrote it Get the current protocol fee rate (2.35%, immutable) and fee recipient address. The fee is hardcoded in the PCCProtocol smart contract — no admin, no governance, no upgrade can change it.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
pcc_scope_auditGet the audit trail for an execution scope — every tool call made under this scope, with validation results, timestamps, and outcomes.No findings
Why it is in this group
- The description's first verb is "get": a word for reading.
Description, as the server wrote it Get the audit trail for an execution scope — every tool call made under this scope, with validation results, timestamps, and outcomes.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
pcc_training_manifest_getFetch the TrainingManifest for a model IP.No findings
Why it is in this group
- The name "pcc_training_manifest_get" says "get": a word for reading.
Description, as the server wrote it Fetch the TrainingManifest for a model IP. Returns the parsed datasets array + manifestHash + createdAt, or 404 if no manifest has been set.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
pcc_trilobio_capability_templateReturn the `TRILOBIO_CAPABILITY` constant from @pcc/trilobio — a default capability template for a Trilobio fleet controller.No findings
Why it is in this group
- The description's first verb is "return": a word for reading.
Description, as the server wrote it Return the `TRILOBIO_CAPABILITY` constant from @pcc/trilobio — a default capability template for a Trilobio fleet controller. Pass to POST /api/capabilities to publish a baseline liquid-handling capability for a kernel hosting a trilobot. Operators can extend the `materials` and `capabilities` arrays to advertise instrument-specific features (custom labware libraries, sample types). Notable: includes `tcode-script-execution` as an advertised capability, which is unique to Trilobio — operators who set `allowArbitraryScripts: true` can accept jobs that ship a full tcode-api Python script as the protocol payload. Note: TypeScript package helper (no HTTP call); for programmatic use, `import { TRILOBIO_CAPABILITY } from "@pcc/trilobio"`.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
protocol_escrow_feesGet protocol fees collected from a specific escrow contract.No findings
Why it is in this group
- The description's first verb is "get": a word for reading.
Description, as the server wrote it Get protocol fees collected from a specific escrow contract. Also returns whether the escrow was deployed via the protocol factory. Useful for auditing fee flows.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
protocol_stateRead the PCCProtocol root contract state: current fee rate, total protocol fees collected, total escrow count, and registry addresses.No findings
Why it is in this group
- The description's first verb is "read": a word for reading.
Description, as the server wrote it Read the PCCProtocol root contract state: current fee rate, total protocol fees collected, total escrow count, and registry addresses. Requires PCC_PROTOCOL_ADDRESS to be configured on the gateway.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
protocol_token_feesGet total protocol fees collected for a specific ERC-20 token address across all escrows.No findings
Why it is in this group
- The description's first verb is "get": a word for reading.
Description, as the server wrote it Get total protocol fees collected for a specific ERC-20 token address across all escrows. Returns raw wei amount and human-readable formatted value.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
retrieve_ipfsRetrieve raw data from IPFS by CID.No findings
Why it is in this group
- The name "retrieve_ipfs" says "retrieve": a word for reading.
Description, as the server wrote it Retrieve raw data from IPFS by CID. Used to fetch archived evidence bundles from decentralized storage.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
search_capabilitiesSearch capability templates by type or keyword.No findings
Why it is in this group
- The name "search_capabilities" says "search": a word for reading.
Description, as the server wrote it Search capability templates by type or keyword. Returns templates with pricing, assurance tiers, and availability.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
search_dashboardsDiscover existing public dashboards before you generate a new one (recall-first — the library accrues; adopt > extend > build for UIs too).No findings
Why it is in this group
- The name "search_dashboards" says "search": a word for reading.
Description, as the server wrote it Discover existing public dashboards before you generate a new one (recall-first — the library accrues; adopt > extend > build for UIs too). Filter by `capabilityType` (e.g. 'pizza.order'), free-text `q` over name/description/types, and `sort` by popularity or recency. Returns { entries, total, offset, limit }. Only public artifacts are listed; unlisted ones load by slug via get_dashboard but never appear here.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
search_spacesSearch for lab/workshop hosting spaces.No findings
Why it is in this group
- The name "search_spaces" says "search": a word for reading.
Description, as the server wrote it Search for lab/workshop hosting spaces. Filter by size, access schedule, and other requirements.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
setup_statusComprehensive setup status across 6 categories: gateway, database, adapters, chain, storage, identity.No findings
Why it is in this group
- The name "setup_status" says "status": a word for reading.
Description, as the server wrote it Comprehensive setup status across 6 categories: gateway, database, adapters, chain, storage, identity. Use to confirm everything is green before going live.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 2.19.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http physical-capability-cloud https://capability.network/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__physical-capability-cloud__list_api_keys",
"mcp__physical-capability-cloud__setup_status",
"mcp__physical-capability-cloud__list_capability_types",
"mcp__physical-capability-cloud__search_capabilities",
"mcp__physical-capability-cloud__list_kernels",
"mcp__physical-capability-cloud__get_kernel",
"mcp__physical-capability-cloud__get_kernel_devices",
"mcp__physical-capability-cloud__get_kernel_jobs",
"mcp__physical-capability-cloud__list_jobs",
"mcp__physical-capability-cloud__get_job",
"mcp__physical-capability-cloud__list_escrows",
"mcp__physical-capability-cloud__get_escrow",
"mcp__physical-capability-cloud__get_escrow_chain_state",
"mcp__physical-capability-cloud__get_escrow_events",
"mcp__physical-capability-cloud__get_token_balance",
"mcp__physical-capability-cloud__get_token_allowance",
"mcp__physical-capability-cloud__get_escrow_dispute",
"mcp__physical-capability-cloud__get_write_status",
"mcp__physical-capability-cloud__get_evidence_bundle",
"mcp__physical-capability-cloud__list_evidence_grants",
"mcp__physical-capability-cloud__get_bundle_ipfs",
"mcp__physical-capability-cloud__retrieve_ipfs",
"mcp__physical-capability-cloud__get_lit_conditions",
"mcp__physical-capability-cloud__get_telemetry_stats",
"mcp__physical-capability-cloud__get_active_telemetry",
"mcp__physical-capability-cloud__get_job_telemetry",
"mcp__physical-capability-cloud__get_telemetry_logs",
"mcp__physical-capability-cloud__get_verification_assignments",
"mcp__physical-capability-cloud__get_verification_status",
"mcp__physical-capability-cloud__get_ip_revenue",
"mcp__physical-capability-cloud__get_ip_lineage",
"mcp__physical-capability-cloud__get_capability_ip",
"mcp__physical-capability-cloud__list_protocols",
"mcp__physical-capability-cloud__get_protocol",
"mcp__physical-capability-cloud__get_protocol_forks",
"mcp__physical-capability-cloud__list_protocol_runs",
"mcp__physical-capability-cloud__get_protocol_run",
"mcp__physical-capability-cloud__get_workflows",
"mcp__physical-capability-cloud__get_workflow",
"mcp__physical-capability-cloud__get_transfer_graphs",
"mcp__physical-capability-cloud__list_automation_status",
"mcp__physical-capability-cloud__get_automation_status",
"mcp__physical-capability-cloud__list_transfer_agents",
"mcp__physical-capability-cloud__get_logistics_overview",
"mcp__physical-capability-cloud__get_shipments",
"mcp__physical-capability-cloud__get_installations",
"mcp__physical-capability-cloud__get_space_bookings",
"mcp__physical-capability-cloud__search_spaces",
"mcp__physical-capability-cloud__get_space",
"mcp__physical-capability-cloud__get_marketplace_overview",
"mcp__physical-capability-cloud__get_equipment_classes",
"mcp__physical-capability-cloud__get_demand_supply",
"mcp__physical-capability-cloud__get_operator_dashboard",
"mcp__physical-capability-cloud__get_operator_machines",
"mcp__physical-capability-cloud__get_operator_earnings",
"mcp__physical-capability-cloud__get_operator_certs",
"mcp__physical-capability-cloud__get_sensor_channels",
"mcp__physical-capability-cloud__get_kernel_sensors",
"mcp__physical-capability-cloud__get_settlement_status",
"mcp__physical-capability-cloud__get_settlement_epochs",
"mcp__physical-capability-cloud__get_depin_stats",
"mcp__physical-capability-cloud__list_batches",
"mcp__physical-capability-cloud__list_evidence",
"mcp__physical-capability-cloud__list_bounties",
"mcp__physical-capability-cloud__get_top_demand",
"mcp__physical-capability-cloud__get_bounty_leaderboard",
"mcp__physical-capability-cloud__get_pool_earnings",
"mcp__physical-capability-cloud__get_pool",
"mcp__physical-capability-cloud__list_pools",
"mcp__physical-capability-cloud__get_subnet_status",
"mcp__physical-capability-cloud__get_subnet_miners",
"mcp__physical-capability-cloud__list_conversations",
"mcp__physical-capability-cloud__get_unresolved_anomalies",
"mcp__physical-capability-cloud__get_agent_anomalies",
"mcp__physical-capability-cloud__get_anomaly_stats",
"mcp__physical-capability-cloud__pcc_dht_peers",
"mcp__physical-capability-cloud__pcc_scope_audit",
"mcp__physical-capability-cloud__pcc_get_tool_result",
"mcp__physical-capability-cloud__pcc_camera_latest",
"mcp__physical-capability-cloud__pcc_chat_history",
"mcp__physical-capability-cloud__list_registrations",
"mcp__physical-capability-cloud__get_registration",
"mcp__physical-capability-cloud__near_status",
"mcp__physical-capability-cloud__near_intent_status",
"mcp__physical-capability-cloud__protocol_state",
"mcp__physical-capability-cloud__protocol_token_fees",
"mcp__physical-capability-cloud__protocol_escrow_fees",
"mcp__physical-capability-cloud__pcc_dht_metrics",
"mcp__physical-capability-cloud__marketplace_categories",
"mcp__physical-capability-cloud__marketplace_list_listings",
"mcp__physical-capability-cloud__marketplace_get_listing",
"mcp__physical-capability-cloud__marketplace_list_orders",
"mcp__physical-capability-cloud__marketplace_get_order",
"mcp__physical-capability-cloud__pcc_job_settlement",
"mcp__physical-capability-cloud__pcc_get_tool_manifest",
"mcp__physical-capability-cloud__pcc_list_requests",
"mcp__physical-capability-cloud__pcc_get_request",
"mcp__physical-capability-cloud__pcc_get_request_dag",
"mcp__physical-capability-cloud__pcc_get_request_critical_path",
"mcp__physical-capability-cloud__pcc_oracle_status",
"mcp__physical-capability-cloud__pcc_protocol_fee",
"mcp__physical-capability-cloud__pcc_capture_status",
"mcp__physical-capability-cloud__pcc_list_verdicts",
"mcp__physical-capability-cloud__pcc_orchestrator_list_templates",
"mcp__physical-capability-cloud__pcc_onboard_session_status",
"mcp__physical-capability-cloud__pcc_contributor_list",
"mcp__physical-capability-cloud__pcc_training_manifest_get",
"mcp__physical-capability-cloud__pcc_trilobio_capability_template",
"mcp__physical-capability-cloud__list_operator_channels",
"mcp__physical-capability-cloud__get_popular_csd_templates",
"mcp__physical-capability-cloud__get_operator_status",
"mcp__physical-capability-cloud__get_composition",
"mcp__physical-capability-cloud__get_dashboard",
"mcp__physical-capability-cloud__search_dashboards"
],
"ask": [
"mcp__physical-capability-cloud__provision_api_key",
"mcp__physical-capability-cloud__setup_detect",
"mcp__physical-capability-cloud__setup_generate_config",
"mcp__physical-capability-cloud__setup_validate",
"mcp__physical-capability-cloud__setup_register_device",
"mcp__physical-capability-cloud__setup_test_job",
"mcp__physical-capability-cloud__get_build_options",
"mcp__physical-capability-cloud__calculate_price",
"mcp__physical-capability-cloud__build_contract",
"mcp__physical-capability-cloud__create_kernel",
"mcp__physical-capability-cloud__update_job_status",
"mcp__physical-capability-cloud__fund_escrow",
"mcp__physical-capability-cloud__release_milestone",
"mcp__physical-capability-cloud__file_escrow_dispute",
"mcp__physical-capability-cloud__deposit_bond",
"mcp__physical-capability-cloud__submit_evidence_hash",
"mcp__physical-capability-cloud__submit_attestation",
"mcp__physical-capability-cloud__grant_evidence_access",
"mcp__physical-capability-cloud__lit_decrypt",
"mcp__physical-capability-cloud__verify_evidence_zk",
"mcp__physical-capability-cloud__commit_evidence",
"mcp__physical-capability-cloud__emit_telemetry",
"mcp__physical-capability-cloud__submit_for_human_verification",
"mcp__physical-capability-cloud__respond_to_verification",
"mcp__physical-capability-cloud__dispute_verification",
"mcp__physical-capability-cloud__register_capability_ip",
"mcp__physical-capability-cloud__register_job_evidence_ip",
"mcp__physical-capability-cloud__distribute_royalties",
"mcp__physical-capability-cloud__pay_ip_royalty",
"mcp__physical-capability-cloud__claim_ip_revenue",
"mcp__physical-capability-cloud__raise_ip_dispute",
"mcp__physical-capability-cloud__create_protocol",
"mcp__physical-capability-cloud__update_protocol",
"mcp__physical-capability-cloud__publish_protocol",
"mcp__physical-capability-cloud__fork_protocol",
"mcp__physical-capability-cloud__validate_protocol",
"mcp__physical-capability-cloud__create_protocol_run",
"mcp__physical-capability-cloud__start_protocol_run",
"mcp__physical-capability-cloud__pause_protocol_run",
"mcp__physical-capability-cloud__resume_protocol_run",
"mcp__physical-capability-cloud__record_episode",
"mcp__physical-capability-cloud__advance_automation",
"mcp__physical-capability-cloud__create_shipment",
"mcp__physical-capability-cloud__get_shipment_quote",
"mcp__physical-capability-cloud__match_spaces",
"mcp__physical-capability-cloud__calculate_roi",
"mcp__physical-capability-cloud__mint_certificate",
"mcp__physical-capability-cloud__onboard_machine",
"mcp__physical-capability-cloud__analyze_machine_docs",
"mcp__physical-capability-cloud__redeem_invite",
"mcp__physical-capability-cloud__check_invite",
"mcp__physical-capability-cloud__submit_demand",
"mcp__physical-capability-cloud__claim_bounty",
"mcp__physical-capability-cloud__verify_bounty",
"mcp__physical-capability-cloud__create_investment_pool",
"mcp__physical-capability-cloud__stake_in_pool",
"mcp__physical-capability-cloud__close_pool",
"mcp__physical-capability-cloud__claim_pool",
"mcp__physical-capability-cloud__convert_bounty_to_pool",
"mcp__physical-capability-cloud__submit_feedback",
"mcp__physical-capability-cloud__report_anomaly",
"mcp__physical-capability-cloud__resolve_anomaly",
"mcp__physical-capability-cloud__report_protocol_failure",
"mcp__physical-capability-cloud__pcc_dht_query",
"mcp__physical-capability-cloud__pcc_dht_announce",
"mcp__physical-capability-cloud__pcc_create_scope",
"mcp__physical-capability-cloud__pcc_relay_tool_call",
"mcp__physical-capability-cloud__pcc_chat_send",
"mcp__physical-capability-cloud__approve_registration",
"mcp__physical-capability-cloud__reject_registration",
"mcp__physical-capability-cloud__activate_registration",
"mcp__physical-capability-cloud__prove_registration",
"mcp__physical-capability-cloud__near_quote",
"mcp__physical-capability-cloud__near_intent",
"mcp__physical-capability-cloud__protocol_fee",
"mcp__physical-capability-cloud__protocol_create_escrow",
"mcp__physical-capability-cloud__marketplace_create_listing",
"mcp__physical-capability-cloud__marketplace_update_listing",
"mcp__physical-capability-cloud__marketplace_place_order",
"mcp__physical-capability-cloud__system_telemetry",
"mcp__physical-capability-cloud__operator_poll_jobs",
"mcp__physical-capability-cloud__operator_push_evidence",
"mcp__physical-capability-cloud__operator_heartbeat",
"mcp__physical-capability-cloud__operator_update_job_status",
"mcp__physical-capability-cloud__pcc_submit_paid_job",
"mcp__physical-capability-cloud__pcc_job_complete",
"mcp__physical-capability-cloud__pcc_relay_generic_tool_call",
"mcp__physical-capability-cloud__pcc_submit_request",
"mcp__physical-capability-cloud__pcc_decompose_request",
"mcp__physical-capability-cloud__pcc_publish_request",
"mcp__physical-capability-cloud__pcc_assign_node_operator",
"mcp__physical-capability-cloud__pcc_update_node_status",
"mcp__physical-capability-cloud__pcc_update_request",
"mcp__physical-capability-cloud__pcc_oracle_verify",
"mcp__physical-capability-cloud__create_capability",
"mcp__physical-capability-cloud__kernel_heartbeat",
"mcp__physical-capability-cloud__kernel_announce_capabilities",
"mcp__physical-capability-cloud__send_diagnostics",
"mcp__physical-capability-cloud__send_support_message",
"mcp__physical-capability-cloud__check_support_replies",
"mcp__physical-capability-cloud__reply_to_support_thread",
"mcp__physical-capability-cloud__pcc_capture_challenge",
"mcp__physical-capability-cloud__pcc_capture_upload",
"mcp__physical-capability-cloud__pcc_capture_anchor",
"mcp__physical-capability-cloud__pcc_capture_class_registry",
"mcp__physical-capability-cloud__pcc_verifier_health",
"mcp__physical-capability-cloud__pcc_orchestrator_match_capabilities",
"mcp__physical-capability-cloud__pcc_onboard_session_start",
"mcp__physical-capability-cloud__pcc_onboard_session_scrape",
"mcp__physical-capability-cloud__pcc_onboard_session_ingest_docs",
"mcp__physical-capability-cloud__pcc_onboard_session_build_agent",
"mcp__physical-capability-cloud__pcc_onboard_session_live_data",
"mcp__physical-capability-cloud__pcc_contributor_register",
"mcp__physical-capability-cloud__pcc_schedule_publish",
"mcp__physical-capability-cloud__pcc_schedule_get",
"mcp__physical-capability-cloud__pcc_schedule_evaluate",
"mcp__physical-capability-cloud__pcc_training_manifest_set",
"mcp__physical-capability-cloud__pcc_trilobio_build_config",
"mcp__physical-capability-cloud__pcc_trilobio_validate_options",
"mcp__physical-capability-cloud__pcc_trilobio_validate_script",
"mcp__physical-capability-cloud__attach_operator_channel",
"mcp__physical-capability-cloud__update_operator_channel",
"mcp__physical-capability-cloud__test_operator_channels",
"mcp__physical-capability-cloud__suggest_csd_templates",
"mcp__physical-capability-cloud__propose_composition",
"mcp__physical-capability-cloud__execute_composition",
"mcp__physical-capability-cloud__pcc_report",
"mcp__physical-capability-cloud__pcc_report_attempt",
"mcp__physical-capability-cloud__save_dashboard",
"mcp__physical-capability-cloud__fork_dashboard",
"mcp__physical-capability-cloud__update_dashboard",
"mcp__physical-capability-cloud__render_pcc_dashboard",
"mcp__physical-capability-cloud__render_pcc_dashboard_ir",
"mcp__physical-capability-cloud__pcc_op_capability_request_quote"
],
"deny": [
"mcp__physical-capability-cloud__revoke_api_key",
"mcp__physical-capability-cloud__archive_evidence",
"mcp__physical-capability-cloud__archive_encrypted_bundle",
"mcp__physical-capability-cloud__cancel_protocol_run",
"mcp__physical-capability-cloud__pcc_revoke_scope",
"mcp__physical-capability-cloud__marketplace_delete_listing",
"mcp__physical-capability-cloud__pcc_cancel_request",
"mcp__physical-capability-cloud__delete_operator_channel"
]
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as physical-capability-cloud. Review it before you use it.