mcpbeat Sign in

Physical Capability Cloud MCP Server

by capability Your server? Claim it
answering

Physical Capability Cloud is answering right now. Last checked 9 min ago. It exposes 256 tools. Last commit 7 Nov 2026.

Discover, hire, and verify real-world physical capability through MCP.

Uptime history 91 days of history · worst day 93%
91 days agonow
100.0%
Uptime 24h
91 of 91 checks
256
Tools
read from the server
328 ms
Response time
average over 24h
3
Stars
last commit 7 Nov 2026

What changed 27

Every tool that appeared, vanished or quietly changed what it asks for. Recorded since 9 August 2026. No other catalogue keeps this.

13 Oct 4 tool descriptions were rewritten operator_heartbeat, operator_poll_jobs, operator_push_evidence and 1 more
13 Oct a tool changed version
8 Oct a tool changed version
4 Oct 14 tool descriptions were rewritten get_operator_certs, get_operator_dashboard, get_operator_earnings and 11 more
4 Oct 2 tools appeared pcc_report_attempt, render_pcc_dashboard_ir
4 Oct 2 tools changed the parameters they ask for onboard_machine, setup_register_device
4 Oct a tool disappeared pcc_generate_ui
4 Oct a tool changed version
9 Aug a tool changed version

What the code does

We read the source, 23 h ago · tools taken from the live server · rules 995398eba69f

A tool parameter reaches a dangerous call

A value the model can set ends up inside a file or shell call. That is not a flaw by itself — for a terminal server it is the job — but it is where things go wrong when it is not.

A tool parameter reaches a file or shell call start_session.url → packages/gateway/src/server.ts:945, start_session.url → packages/gateway/src/server.ts:940, start_session.url → packages/gateway/src/server.ts:963 и ещё 17
        return reply.type("text/html").send(readFileSync(indexPath, "utf-8"));
Capabilities

What this server is able to do. For an MCP server this is often the job itself — a terminal server runs commands because that is what it is for. Listed so you know what you are plugging in, not as an accusation.

Builds a file path from a variable packages/pcc-node/pcc_node/config.py:132
    tmp_path = os.path.join(directory, f".{os.path.basename(abs_path)}.{os.getpid()}.{os.urandom(4).hex()}.tmp")

Is this your server and something here is wrong? Tell us — corrections are free and do not require a plan.

A tool parameter here reaches a dangerous call

That is not a flaw by itself — but it is where things go wrong when it is not the job. We re-read this code on every release. Watch it and you hear from us the day another one appears.

Three servers free · no card

Connect this server

Endpoint below is the one we actually reach during checks — not the one copied from a README. Last verified 9 min ago.

run in your terminal
claude mcp add physical-capability-cloud --transport http https://capability.network/mcp
Settings → Connectors → Add custom connector, then paste this address
https://capability.network/mcp
~/.codex/config.toml
[mcp_servers.physical-capability-cloud]
url = "https://capability.network/mcp"
.cursor/mcp.json
{
  "mcpServers": {
    "physical-capability-cloud": {
      "url": "https://capability.network/mcp"
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "physical-capability-cloud": {
      "type": "http",
      "url": "https://capability.network/mcp"
    }
  }
}

Available tools 256

Read directly from the server with tools/list, grouped by what they act on. If a tool disappears, we record the date.

pcc
pcc.op.capability.request_quote
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.
pcc_assign_node_operator
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.
pcc_camera_latest
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.
pcc_cancel_request
Cancel a capability request. Cancelled requests cannot be updated, decomposed, or published. This is a soft delete — the request remains visible with status 'cancelled'.
pcc_capture_anchor
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).
pcc_capture_challenge
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).
pcc_capture_class_registry
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.
pcc_capture_status
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.
pcc_capture_upload
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}.
pcc_chat_history
Get chat history with a kernel. Returns messages between agents, operators, and users for a specific kernel.
pcc_chat_send
Send a chat message to a kernel's operator or agent. Used for human-in-the-loop communication during job execution, troubleshooting, and escalation.
pcc_contributor_list
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.
pcc_contributor_register
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.
pcc_create_scope
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).
pcc_decompose_request
Re-trigger decomposition of an existing capability request. Overwrites the existing capability DAG with a fresh decomposition. Useful after updating the description or budget.
pcc_dht_announce
Announce capabilities to the DHT network. Signs the announcement with your node's Ed25519 key and broadcasts to connected peers.
pcc_dht_metrics
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.
pcc_dht_peers
List known DHT peers and their connection status. Shows which nodes are currently connected to the gossip network.
pcc_dht_query
Query the DHT for capabilities matching your requirements. Returns announcements from operators whose equipment matches the type, materials, and price range you specify.
pcc_get_request
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.
pcc_get_request_critical_path
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.
pcc_get_request_dag
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.
pcc_get_tool_manifest
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.
pcc_get_tool_result
Get the result of a previously relayed tool call. Poll this endpoint until the executor has processed the call and posted results.
pcc_job_complete
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").
pcc_job_settlement
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.
pcc_list_requests
List all capability requests with optional filtering. Shows status, decomposed DAG summary, estimated costs, and timelines.
pcc_list_verdicts
List recent capture verdicts, newest first. Optionally filter by jobId. Default limit is 50, capped at 200 server-side. Returns {verdicts, count, limit, jobId}.
pcc_onboard_session_build_agent
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.
pcc_onboard_session_ingest_docs
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.
pcc_onboard_session_live_data
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.
pcc_onboard_session_scrape
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.
pcc_onboard_session_start
Start a new physical-operator onboarding session. Returns a session_id used by every subsequent /api/onboard/* call. Auth-required.
pcc_onboard_session_status
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.
pcc_oracle_status
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.
pcc_oracle_verify
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.
pcc_orchestrator_list_templates
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.
pcc_orchestrator_match_capabilities
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.
pcc_protocol_fee
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.
pcc_publish_request
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.
pcc_relay_generic_tool_call
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.
pcc_relay_tool_call
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.
pcc_report
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.
pcc_report_attempt
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.
pcc_revoke_scope
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.
pcc_schedule_evaluate
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).
pcc_schedule_get
Fetch a published RateSchedule by its content hash. Returns {schedule, publishedBy} with segments re-validated via Zod, or 404 if not found.
pcc_schedule_publish
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}.
pcc_scope_audit
Get the audit trail for an execution scope — every tool call made under this scope, with validation results, timestamps, and outcomes.
pcc_submit_paid_job
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.
pcc_submit_request
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'.
pcc_training_manifest_get
Fetch the TrainingManifest for a model IP. Returns the parsed datasets array + manifestHash + createdAt, or 404 if no manifest has been set.
pcc_training_manifest_set
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}.
pcc_trilobio_build_config
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"`.
pcc_trilobio_capability_template
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"`.
pcc_trilobio_validate_options
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"`.
pcc_trilobio_validate_script
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"`.
pcc_update_node_status
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.
pcc_update_request
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.
pcc_verifier_health
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.
operator
delete_operator_channel
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`.
get_operator_certs
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).
get_operator_dashboard
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.
get_operator_earnings
Answers 501 not_available: operator earnings history is not recorded on this gateway. Per-job payment state is at GET /api/jobs/:jobId/execution.
get_operator_machines
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.
get_operator_status
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).
list_operator_channels
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.
operator_heartbeat
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).
operator_poll_jobs
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.
operator_push_evidence
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.
operator_update_job_status
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.
update_operator_channel
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.
protocol
create_protocol
Create a new protocol template draft. Returns the new template ID.
create_protocol_run
Instantiate a protocol template as a run on a specific kernel with given parameter values.
get_protocol
Get protocol template details by ID. Returns steps, transfers, parameters, and metadata.
get_protocol_forks
List all forks of a protocol template. Shows who forked it and what parameters they changed.
get_protocol_run
Get protocol run status including step progress, transfer status, current phase, and evidence hashes.
list_protocol_runs
List protocol runs. Filter by status or kernelId.
protocol_create_escrow
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.
protocol_escrow_fees
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.
protocol_fee
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.
protocol_state
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.
protocol_token_fees
Get total protocol fees collected for a specific ERC-20 token address across all escrows. Returns raw wei amount and human-readable formatted value.
update_protocol
Update an existing protocol template (must be in draft status). Returns updated name and version.
marketplace
get_marketplace_overview
Equipment marketplace overview with demand/supply metrics across all capability types.
marketplace_categories
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.
marketplace_create_listing
Create a new supplies/materials listing in the marketplace. Suppliers post available raw materials, lab reagents, tooling, or consumables for other operators to purchase.
marketplace_delete_listing
Remove a supplies/materials listing from the marketplace. The listing is immediately hidden from search results.
marketplace_get_listing
Get full details of a specific supplies/materials marketplace listing by ID. Returns pricing, availability, lead time, location, and tags.
marketplace_get_order
Get details of a specific supply order including the associated listing details, quantity, total price, status, and optional escrow address.
marketplace_list_listings
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.
marketplace_list_orders
List marketplace supply orders. Filter by buyerId, sellerId, or status. Returns order history with pricing and status.
marketplace_place_order
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.
marketplace_update_listing
Update an existing supplies/materials listing (price, stock status, description, etc.). Pass only the fields you want to change.
kernel
create_kernel
Register a new Shop Kernel (physical site) on the PCC network. Part of Step 2 in the onboarding flow.
get_kernel
Get kernel details including full capability objects, devices, and queue.
get_kernel_devices
List all devices registered under a specific kernel, including adapter configs and device types.
get_kernel_jobs
List all jobs submitted to a specific kernel, including job status and progress.
get_kernel_sensors
Get sensor channels for a specific kernel. Returns live channel descriptors.
kernel_announce_capabilities
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).
kernel_heartbeat
Send a per-kernel heartbeat to keep the kernel marked online. Used by pcc-node daemons as an alternative to the operator relay heartbeat.
setup
setup_detect
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.
setup_generate_config
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.
setup_register_device
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).
setup_status
Comprehensive setup status across 6 categories: gateway, database, adapters, chain, storage, identity. Use to confirm everything is green before going live.
setup_test_job
Submit a test job to verify the full pipeline works end-to-end (Step 4 of onboarding). Returns job ID and result.
setup_validate
Validate a kernel config (20+ checks: JSON structure, device connectivity, adapter compatibility). Returns validation errors and warnings.
submit
submit_attestation
Submit a verifier attestation for a milestone on-chain. Used by third-party verifiers (Bittensor subnet) to confirm evidence quality. Returns transaction hash.
submit_demand
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.
submit_evidence_hash
Submit an evidence bundle hash for a milestone on-chain. Links the physical evidence to the on-chain settlement record. Returns transaction hash.
submit_feedback
Submit a bug report, suggestion, or general feedback about the PCC network.
submit_for_human_verification
Submit an evidence bundle for human verification. Selects a panel of verifiers from the network and returns assigned verifier IDs.
escrow
get_escrow
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.
get_escrow_chain_state
Read full on-chain escrow state with all milestone details from the blockchain. More detailed than get_escrow for on-chain contracts.
get_escrow_dispute
Read dispute state for a specific milestone from the blockchain.
get_escrow_events
Get on-chain event history for an escrow contract. Returns funding, release, dispute, and bond events.
near
near_intent
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.
near_intent_status
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.
near_quote
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.
near_status
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.
capability
create_capability
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.
get_capability_ip
Get the Story Protocol IP registration for a capability by its capability ID.
list_capability_types
List all capability types registered on the network (FDM, SLA, CNC, HPLC, etc.) with metadata.
claim
claim_bounty
Claim a bounty to onboard a new capability. The operator commits to registering the capability and completing verification.
claim_ip_revenue
Claim earned revenue from an IP asset vault. Returns the claimed amount and transaction hash.
claim_pool
Operator claims an investment pool reward after capability verification.
evidence
get_evidence_bundle
Get an encrypted evidence bundle by its bundle ID. Returns the encrypted payload and key capsules.
list_evidence
List encrypted evidence bundles stored in the gateway.
list_evidence_grants
List all evidence access grants for an address. Returns bundles the address has been granted access to.
job
get_job
Get job details including progress, evidence bundles, and milestones.
get_job_telemetry
Get full event timeline for a specific job — all pipeline phase transitions with timings and metadata.
update_job_status
Update a job's status and optional progress percentage. Used by kernels to report job progress.
archive
archive_encrypted_bundle
Archive an encrypted evidence bundle to IPFS and store the resulting CID in the database. Idempotent — returns existing CID if already archived.
archive_evidence
Archive an evidence bundle to IPFS/Storacha for permanent decentralized storage. Returns the content-addressed CID.
automation
get_automation_status
Get automation status for a specific instrument-to-instrument transfer pair.
list_automation_status
List automation status for all instrument transfer pairs. Shows current automation level, episode count, and training readiness. Filter by kernelId.
build
build_contract
Build and submit a capability contract with on-chain milestone escrow. Returns job ID and escrow address.
get_build_options
Get configuration options for a capability type (materials, dimensions, tolerances, assurance tiers). Use before calling calculate_price.
calculate
calculate_price
Calculate price for a capability configuration. Returns base price, tier premiums, and estimated total cost.
calculate_roi
Calculate ROI projection for onboarding equipment. Returns month-by-month revenue, cost, and break-even analysis.
dashboard
get_dashboard
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).
update_dashboard
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.
fork
fork_dashboard
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.
fork_protocol
Fork a protocol template to create your own version with parameter overrides. Returns the new fork ID.
lit
get_lit_conditions
Get Lit Protocol access conditions for a Lit-encrypted evidence bundle. Returns the conditions that gate decryption.
lit_decrypt
Decrypt a Lit Protocol-encrypted evidence bundle using a Lit auth signature. Returns the decrypted bundle payload.
pool
get_pool
Get details of a specific investment pool including stakes, status, and revenue share terms.
get_pool_earnings
Check earnings from capability investment pools for a staker address.
register
register_capability_ip
Register a capability as a Story Protocol IP Asset. Returns an ipId and NFT token. The designer earns royalties whenever this capability is used.
register_job_evidence_ip
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.
render
render_pcc_dashboard
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.
render_pcc_dashboard_ir
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.
report
report_anomaly
Report a detected anomaly — protocol failure, evidence mismatch, stuck job, or suspicious behavior. All agents on the network are notified.
report_protocol_failure
Report a protocol failure — when a step in the evidence/escrow/verification pipeline breaks. System may auto-recover.
send
send_diagnostics
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.
send_support_message
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.
settlement
get_settlement_epochs
Get settlement epoch history showing past batch settlements with timing and operation counts.
get_settlement_status
Get settlement pipeline status including pending operations count, total value queued, and smart account address.
shipment
create_shipment
Create a new equipment shipment with origin, destination, package details, and provider.
get_shipment_quote
Get shipping quotes from logistics providers based on origin, destination, weight, and priority.
space
get_space
Get detailed information about a hosting space including power, amenities, safety features, and pricing.
get_space_bookings
List space bookings for hosting equipment. Optionally filter by status or space.
subnet
get_subnet_miners
List verification subnet miners on the Bittensor network. Returns miner addresses, scores, and leaderboard positions.
get_subnet_status
Get Bittensor verification subnet health, agent bridge status, and network connectivity.
telemetry
get_telemetry_logs
Query structured logs with filters for level, source, jobId, kernelId, time range, and full-text search.
get_telemetry_stats
Get aggregate pipeline telemetry statistics including phase timings, success rates, and throughput metrics across all jobs.
token
get_token_allowance
Read the ERC-20 token allowance granted by an owner to a spender from the blockchain.
get_token_balance
Read an ERC-20 token balance for an account address from the blockchain.
transfer
get_transfer_graphs
Get resource transfer graphs showing instrument topology, transfer edges, and mechanisms for all kernels.
list_transfer_agents
List all transfer agents (robots and human operators) available for instrument-to-instrument transfers.
verification
get_verification_assignments
Get pending verification assignments for a verifier node. Returns requests this verifier has been assigned but not yet responded to.
get_verification_status
Get verification status for a request. Returns vote tally, consensus state, dispute list, and pending response count.
verify
verify_bounty
Verify bounty completion by scoring the delivered capability against requirements.
verify_evidence_zk
Verify a ZK proof by its proof ID. Checks the proof against its verification key and public inputs.
activate
activate_registration
Activate an approved registration, making the operator's equipment live on the network and ready to accept jobs.
active
get_active_telemetry
List currently active jobs with their current pipeline phase and telemetry status.
advance
advance_automation
Advance the automation level for a transfer pair (manual → teleoperated → pilot_operated → vla_assisted → fully_autonomous). Requires sufficient training episodes.
agent
get_agent_anomalies
Get anomalies involving a specific agent, plus their trust impact score.
analyze
analyze_machine_docs
AI analysis of machine documentation. Upload docs to get suggested capabilities, extracted specs, materials, and tolerances.
anomaly
get_anomaly_stats
Get aggregate anomaly statistics — total, unresolved, by severity, by category.
api
list_api_keys
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.
approve
approve_registration
Approve a submitted machine registration. Moves it from 'submitted' to 'approved' status, enabling the operator to activate and start accepting jobs.
attach
attach_operator_channel
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.
batches
list_batches
List active and completed settlement batches.
bounties
list_bounties
List open bounties for capabilities the network needs. Operators can claim these to earn rewards by onboarding new capabilities.
bounty
get_bounty_leaderboard
Get the bounty hunter leaderboard showing top operators by bounties claimed and verified.
bundle
get_bundle_ipfs
Get IPFS CIDs for a bundle — returns the primary CID, metadata CID, and Filecoin deal ID if available.
cancel
cancel_protocol_run
Cancel a protocol run. Cannot be cancelled once completed or already cancelled.
capabilities
search_capabilities
Search capability templates by type or keyword. Returns templates with pricing, assurance tiers, and availability.
close
close_pool
Close an investment pool to new stakes. Pool enters sunset phase.
commit
commit_evidence
Create a Merkle commitment for an evidence bundle hash. Used as the first step in ZK proof generation for Tier 3 assurance.
composition
get_composition
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.
conversations
list_conversations
List agent-to-agent conversations showing topic, participants, message count, and status.
convert
convert_bounty_to_pool
Convert an existing bounty into an investment pool. Allows community staking toward the bounty's capability.
dashboards
search_dashboards
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.
demand
get_demand_supply
Get network-wide demand vs supply timeline data for capacity planning and market analysis.
depin
get_depin_stats
DePIN treasury, soulbound capability certificates, and current reward epoch stats.
deposit
deposit_bond
Deposit an operator bond for a milestone on-chain. Required for Assurance Tier 3 jobs. Returns transaction hash.
dispute
dispute_verification
File a dispute against the consensus verdict. Only verifiers who submitted a response can dispute. Requires additional evidence CID.
distribute
distribute_royalties
Set revenue splits for an IP asset among stakeholders (designer, operator, verifier, assembler, curator). Splits must sum to 100.
emit
emit_telemetry
Manually emit a telemetry event for a job pipeline phase. Used by kernels and agents to report execution progress.
equipment
get_equipment_classes
List equipment classes (FDM printers, CNC mills, etc.) with market snapshot data including utilization, demand, and pricing.
escrows
list_escrows
List escrow contracts with milestones and bonds. Optionally filter by status.
execute
execute_composition
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).
file
file_escrow_dispute
File a dispute against a milestone on-chain. Challenger must post a bond and provide evidence hash. Returns transaction hash.
fund
fund_escrow
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.
grant
grant_evidence_access
Grant a new recipient access to an encrypted evidence bundle. Creates a re-encrypted key capsule for the recipient.
installations
get_installations
List equipment installation orders with step progress and status.
investment
create_investment_pool
Create an investment pool for a capability bounty. Stakers earn future protocol fees when the capability goes live.
invite
check_invite
Validate an invite code before redeeming it. Returns whether the code is valid and what it includes.
jobs
list_jobs
List all jobs with status. Optionally filter by kernelId or status.
kernels
list_kernels
List all Shop Kernels on the network with status and capability types. Optionally filter by status.
lineage
get_ip_lineage
Get the full IP lineage chain for an asset — parent capabilities and all derivative job registrations.
logistics
get_logistics_overview
Logistics hub overview: active shipments, pending installations, and upcoming bookings.
match
match_spaces
Find hosting spaces that match specific machine requirements (voltage, area, etc.). Returns scored matches.
mint
mint_certificate
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.
onboard
onboard_machine
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.
pause
pause_protocol_run
Pause a running protocol run. Use resume_protocol_run to continue.
pay
pay_ip_royalty
Pay royalties to an IP asset vault. The payer sends tokens that flow to stakeholders via the royalty splits.
pools
list_pools
List all investment pools. Optionally filter by status or capability type.
popular
get_popular_csd_templates
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.
propose
propose_composition
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.
protocols
list_protocols
List protocol templates in the library. Filter by tags, required capabilities, search query, or status.
prove
prove_registration
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'.
provision
provision_api_key
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.
publish
publish_protocol
Publish a draft protocol template, making it visible in the protocol library for others to discover and use.
raise
raise_ip_dispute
Raise a Story Protocol IP dispute against an asset. Provide evidence hash and reason.
record
record_episode
Record a transfer episode for a node pair. Increments episode count toward VLA training threshold.
redeem
redeem_invite
One-click agent onboarding with an invite code. Provisions wallet, identity, LLM access, and PCC tools in a single call.
registration
get_registration
Get details of a specific machine registration by ID, including capabilities, pricing, operator info, and current status.
registrations
list_registrations
List all machine registrations on the network. See pending, approved, active, and rejected registrations. Public endpoint — no auth required.
reject
reject_registration
Reject a machine registration with a reason. The operator can see the rejection reason and resubmit.
release
release_milestone
Release a milestone payment on-chain after the challenge window has expired. Returns transaction hash.
reply
reply_to_support_thread
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.
resolve
resolve_anomaly
Mark an anomaly as resolved with a resolution note.
respond
respond_to_verification
Submit a verifier's verdict for a verification request. Returns consensus state after this vote.
resume
resume_protocol_run
Resume a paused protocol run from where it stopped.
retrieve
retrieve_ipfs
Retrieve raw data from IPFS by CID. Used to fetch archived evidence bundles from decentralized storage.
revenue
get_ip_revenue
Get a revenue snapshot for an IP asset — total earned, pending claims, and recent payments.
revoke
revoke_api_key
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.
save
save_dashboard
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).
sensor
get_sensor_channels
List all registered sensor channels across kernels. Returns channel descriptors with units and ranges.
shipments
get_shipments
List equipment shipments with tracking status. Optionally filter by status.
spaces
search_spaces
Search for lab/workshop hosting spaces. Filter by size, access schedule, and other requirements.
stake
stake_in_pool
Stake USDC or credits into a capability investment pool.
start
start_protocol_run
Start execution of a protocol run that is in 'ready' or 'binding' state.
status
get_write_status
Check if on-chain write operations are enabled (requires PCC_GATEWAY_PRIVATE_KEY to be configured). Returns write status and signer address.
suggest
suggest_csd_templates
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.
support
check_support_replies
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.
system
system_telemetry
Raw system state dump — actual DB rows for kernels, devices, jobs, evidence, registrations, capabilities, agent conversations, audit log. No fake numbers, no summaries.
test
test_operator_channels
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).
top
get_top_demand
Get top demand signals aggregated by capability type. Shows which capabilities are most wanted on the network.
unresolved
get_unresolved_anomalies
List all unresolved anomalies on the network. Filter by severity, category, or target agent.
validate
validate_protocol
Validate a protocol template against a specific kernel — checks capability availability, transfer compatibility, and automation level feasibility.
workflow
get_workflow
Get detailed workflow information including steps, node assignments, and progress.
workflows
get_workflows
List active instrument workflows in the orchestrator. Optionally filter by status.

Tools removed

Tools this server used to expose. Anything built against them stopped working on the day they went.

pcc_generate_ui
removed 4 Oct 2026

Endpoints

URLTransportStateLatencyChecked
https://capability.network/mcp streamable-http answering 313 ms 9 min ago

Alternatives to Physical Capability Cloud

same job, measured the same way
MEKU Human Cloud
by meku

AI agents discover human capabilities, request real-world human execution, and track status.

1 tools answering
Human Dispatch MCP
by zyntarasystems

MCP server that dispatches physical-world tasks to humans through a unified API

70 installs/wk local only
Daski
by daski-io

Discover, purchase, and manage real-world services through Daski's curated marketplace.

22 tools answering
Rooster Agent Gateway
by roosteragents

Discover, read and book verified real-world businesses through one endpoint.

3 tools answering
World Resolver
by ajithisaac

Resolve real-world capability gaps: validate native MCPs, search the web, and record unmet demand.

9 tools answering
P
ProofStream
by proofstreamai

Dispatch a human verifier to physically verify anything in the real world. For AI agents.

43 installs/wk local only
QuoAPI
by quoapi

Discover and execute authorized API capabilities through QuoAPI policy, routing and billing.

4 tools answering
MCP Gateway
by mikkoparkkola

Universal MCP gateway with Meta-MCP discovery, routing, and REST API capabilities.

local only

Physical Capability Cloud — questions

Answers built from our own checks of this server.

What can Physical Capability Cloud do?
It exposes 256 tools, read directly from the server on our last check. Among them: activate_registration, advance_automation, analyze_machine_docs, approve_registration, archive_encrypted_bundle, archive_evidence and 250 more. The full list with descriptions is on this page — we take it from the server itself via tools/list, not from a README. How MCP servers expose tools in the first place →
What is Physical Capability Cloud mostly used for?
Its tools cluster around pcc, operator and protocol. That is what this server is built to work with — the grouping comes from the actual tool names, not from a category we assigned.
Is Physical Capability Cloud working right now?
We send a real MCP handshake every 15 minutes. Over the last 24 hours 91 of 91 checks got a reply (100.0%), average response time 328 ms. The bar chart above shows every period we have measured.
Did Physical Capability Cloud ever remove tools?
Yes. pcc_generate_ui is no longer exposed — we recorded the date each one disappeared. A tool vanishing usually means a breaking change for anything that depended on it.
How do I connect Physical Capability Cloud?
Copy the ready config from this page. We generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each in the form that client actually reads. It is a remote server, so there is nothing to install — the client connects to the address.
Does Physical Capability Cloud need an API key?
No. Physical Capability Cloud completed a full MCP handshake with us as an anonymous client and listed its tools without asking for anything. All 256 of them are readable on this page. This is what we observed, not what the docs claim.
How fast is Physical Capability Cloud?
It answers our handshake in 328 ms on average, which is faster than 43% of all working MCP servers we measure. The comparison comes from our own checks across the whole registry, every 15 minutes.
Is Physical Capability Cloud open source?
The code is open source: it is published under the Apache-2.0 licence, written in TypeScript, 3 stars on GitHub and 1 open issue. The licence covers the code in the repository, not the hosted service at capability.network, which runs on its operator's own terms.