Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

Run402

NPM · RUN402-MCP · 2 COMPONENTS · SCANNED SEP 20

x402 pay-per-call infra for agents: $0.03 image generation, Postgres, auth, storage, functions.

0 this week 92 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security99
  • No malware found by supply-chain analysis.Pass
  • No known CVEs affecting this package version or its production dependencies.Pass
  • No install/post-install scripts declared.Pass
  • 33 of 135 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency100
  • Source repository is publicly reachable at the declared URL. View diagnostics → Pass
  • Cryptographically verified build provenance (signed, bound to kychee-com/run402). View diagnostics → Pass
  • Clear OSI-approved license (MIT).Pass
  • Actively maintained (last published 0 days ago).Pass
  • Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability77
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 22855 tokens (~115/item across 198 items; 198 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management87
  • Stability observed for 26 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 99% of tool parameters carry a description.Partial
Tool Safety76
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • 1 of 42 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "run_sql" implies "execute" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Partial
  • An AI judge read all 198 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

How do I install the Run402 MCP server?

Run402 runs locally as an npm package, launched with npx -y run402-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

npm · run402-mcp

# add to Claude Code
claude mcp add com-run402-mcp -- npx -y run402-mcp
// .cursor/mcp.json
{
  "mcpServers": {
    "com-run402-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "run402-mcp"
      ]
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "com-run402-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "run402-mcp"
      ]
    }
  }
}
# add to Codex CLI
codex mcp add com-run402-mcp -- npx -y run402-mcp
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-run402-mcp": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "run402-mcp"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add com-run402-mcp --command npx --arg -y --arg run402-mcp
# ~/.hermes/config.yaml
mcp_servers:
  com-run402-mcp:
    command: "npx"
    args: ["-y", "run402-mcp"]
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "com-run402-mcp": {
      "Transport": "stdio",
      "Command": "npx",
      "Arguments": [
        "-y",
        "run402-mcp"
      ]
    }
  }
}
# add to Vellum
assistant mcp add com-run402-mcp -t stdio -c npx -a -y run402-mcp
// mcp.json
{
  "mcpServers": {
    "com-run402-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "run402-mcp"
      ]
    }
  }
}
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 19 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 80 to 83. That category is still filling its 30-day observation window: 24 days of observed history at the previous scan, 25 at this one. The score rises as the window fills, whether or not the server changes.

  • 18 Sept 26 −3
    • Stability: pass → 0.80 functional
  • 17 Sept 26 0
    • Stability: 0.97 → pass security
  • 16 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.

  • 14 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 87 to 90. That category is still filling its 30-day observation window: 26 days of observed history at the previous scan, 27 at this one. The score rises as the window fills, whether or not the server changes.

  • 12 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 80 to 83. That category is still filling its 30-day observation window: 24 days of observed history at the previous scan, 25 at this one. The score rises as the window fills, whether or not the server changes.

  • 11 Sept 26 −3
    • Stability: pass → 0.80 functional
  • 10 Sept 26 0
    • Stability: 0.97 → pass security
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 20 Sept 2026 · Analysed npm/run402-mcp@4.16.0

Provenance Verified

A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.

Result Verified
Ecosystem npm
Reason Verified
Discovered via Registry attestation endpoint
Source repo kychee-com/run402
Certificate issuer https://token.actions.githubusercontent.com
Certificate SAN https://github.com/kychee-com/run402/.github/workflows/publish.yml@refs/heads/main
Rekor log index 2300581169
Predicate type https://slsa.dev/provenance/v1
Subject digest sha512:fe34b109b68518221abc6da2491e04325bccac66d2c9a237a361ed3052a410f3cd3b41568fa28a02e73cce22ce75c7848d3cca6795951ad151e2ca08b

Background: How many MCP packages publish verified provenance →

Dependencies 135 packages
Packages resolved 135
Stale 33
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 198 exposed · ~22,855 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
get_quote ~36

Get tier pricing for Run402 projects. Free, no auth required. Shows prices, lease durations, storage limits, and API call limits.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_schema ~55

Introspect the database schema — tables, columns, types, constraints, and RLS policies. Useful for understanding the database structure before writing queries.

NameTypeReqDescription
project_idstringThe project ID (defaults to the active project)

No output schema declared.

No examples provided.

get_signer ~61

Get a KMS signer's metadata + live native-token balance + USD-micros (Chainlink-cached price).

NameTypeReqDescription
project_idstringyesThe project ID
signer_idstringyesThe KMS signer ID (cwlt_...)

No output schema declared.

No examples provided.

get_usage ~36

Get project usage report — API calls, storage usage, limits, and lease expiry.

NameTypeReqDescription
project_idstringyesThe project ID

No output schema declared.

No examples provided.

import_project_archive ~177

Import a verified portable archive into a new local Run402 Core project through the Core gateway. Automatically verifies before import, supports dry_run and require_runnable, and reports SECRET_VALUES_REQUIRED with next actions.

NameTypeReqDescription
archive_pathstringyesLocal archive directory or .r402ar tar path.
core_urlstringCore gateway URL. Default RUN402_CORE_URL or http://127.0.0.1:4020.
dry_runbooleanVerify and plan without creating a project.
env_filestringEnv file containing required secret values.
namestringNew Core project name. Default imported-project.
require_runnablebooleanBlock import unless required secret values are supplied.
secret_valuesobjectExplicit secret values. Overrides env_file entries for duplicate names.

No output schema declared.

No examples provided.

init ~60

Set up agent allowance, request faucet funding, and check tier status — single-call bootstrap. Idempotent, safe to re-run.

NameTypeReqDescription
railstringPayment rail: x402 (Base Sepolia, default) or mpp (Tempo Moderato)

No output schema declared.

No examples provided.

initiate_project_transfer ~520

Initiate a project transfer (owned-org recipient shape v1.96+). Addressed to a WALLET (`to_wallet`, completed by `accept_project_transfer`), an EMAIL (`to_email`, completed by `claim_project_transfer`), OR an owned ORG (`to_org_id`, same-actor move that completes immediately in the first gateway release) — provide exactly one. You must currently own/admin the project; for `to_org_id` you must be an active owner of both the source and destination orgs. Wallet/email transfers create a `pending` row with 72h expiry and freeze owner-side mutations until completed, cancelled, or expired. The recipient gets the project under the `migrate` billing policy. Owner's tier lease is NOT refunded. GitHub repo ownership is NOT transferred. Calls POST /projects/v1/:project_id/transfers.

NameTypeReqDescription
billing_policystringWallet rail only. Phase 1A supports only `migrate` (default). The project moves into the recipient's organization.
kysigned_record_idstringWallet rail only. Optional KySigned record id. Phase 1A stores this verbatim (no verification).
messagestringOptional free-text note shown to the recipient in the preview and notification emails.
project_idstringyesProject id to transfer. You must currently own or admin it (the gateway verifies against fresh DB state).
retain_collaborator_rolestringEmail rail only (v1.91): keep a `developer` membership in the recipient's org after the transfer completes. The recipient must accept it at claim time (`accept_retained_collaborator`). Omit for a ful…
to_emailstringRecipient EMAIL. Provide EXACTLY ONE of `to_wallet`, `to_email`, or `to_org_id`. An email recipient completes the transfer via `claim_project_transfer` (they claim it into an org they own).
to_org_idstringDestination ORG id. Provide EXACTLY ONE of `to_wallet`, `to_email`, or `to_org_id`. First gateway release is same-actor only: caller must be an active owner of the source org and destination org. Com…
to_walletstringRecipient WALLET address (any case — the gateway lowercases). Provide EXACTLY ONE of `to_wallet`, `to_email`, or `to_org_id`. A wallet recipient completes the transfer via `accept_project_transfer`.

No output schema declared.

No examples provided.

inspect_project_archive ~69

Inspect a local run402-project-archive.v1 directory or .r402ar tar offline. Reports digest, required secrets, auth stubs, export report, portability report, and compatibility diagnostics without Cloud credentials.

NameTypeReqDescription
archive_pathstringyesLocal archive directory or .r402ar tar path.

No output schema declared.

No examples provided.

invite_auth_user ~103

Create/update a project auth user and send a trusted invite magic link. Requires service_key and an allowed redirect_url.

NameTypeReqDescription
client_stateOptional opaque state preserved through invite verification
emailstringyesEmail address of the auth user to invite
is_adminbooleanSet project_admin status before sending the invite
project_idstringyesThe project ID
redirect_urlstringyesAllowed auth redirect URL for the invite link

No output schema declared.

No examples provided.

invoke_function ~222

Invoke a deployed function via HTTP. Free functions behave like the direct test path; paid functions require idempotency_key and may spend allowance, returning a result or pollable run_id. Stable errors preserve code and set isError=true.

NameTypeReqDescription
bodyRequest body (string or JSON object)
headersobjectAdditional headers to send
idempotency_keystringStable Idempotency-Key required by paid function invocations. Reuse it for the same paid intent; use a new key only for a new paid intent.
methodstringHTTP method (default: POST)
namestringyesFunction name to invoke
poll_interval_msintegerPolling interval in milliseconds when wait is true.
project_idstringyesThe project ID
timeout_msintegerMaximum wait time in milliseconds when wait is true.
waitbooleanWhen a paid invocation returns a 202 run handle, poll the run and replay the same idempotency key for the retained result.

No output schema declared.

No examples provided.

jobs_cancel ~39

Cancel a queued or running managed job.

NameTypeReqDescription
job_idstringyesManaged job run ID
project_idstringyesThe project ID

No output schema declared.

No examples provided.

jobs_download_artifact ~126

Download a completed managed job's artifact by filename to a local file. Discover the recorded filenames from the artifacts map returned by jobs_get; the legacy run402:// refs were retired in favor of these gateway URLs.

NameTypeReqDescription
filenamestringyesArtifact filename to download. Discover the recorded set from the artifacts map returned by jobs_get.
job_idstringyesManaged job run ID (must be completed)
output_pathstringyesLocal filesystem path to write the artifact bytes to. Parent directories will be created.
project_idstringyesThe project ID

No output schema declared.

No examples provided.

jobs_get ~39

Get a managed job run by id.

NameTypeReqDescription
job_idstringyesManaged job run ID
project_idstringyesThe project ID

No output schema declared.

No examples provided.

jobs_logs ~101

Read recent runner logs for a managed job. Use tail to cap entries and since for an ISO-8601 lower bound; legacy epoch milliseconds are still accepted.

NameTypeReqDescription
job_idstringyesManaged job run ID
project_idstringyesThe project ID
sinceOnly include logs at or after this ISO-8601 timestamp. Legacy epoch milliseconds are also accepted.
tailintegerMaximum number of log entries to return

No output schema declared.

No examples provided.

jobs_purge ~36

Purge all managed job runs for a project, terminating known active runners first.

NameTypeReqDescription
project_idstringyesThe project ID

No output schema declared.

No examples provided.

jobs_submit ~75

Submit a platform-managed job. The request must match the gateway jobs API shape: job_type, input with input.json, and max_cost_usd_micros. The SDK supplies the required idempotency header.

NameTypeReqDescription
project_idstringyesThe project ID
requestobjectyesGateway-shaped managed job submit request

No output schema declared.

No examples provided.

link_wallet_to_organization ~70

Link a wallet to an existing email organization, enabling hybrid Stripe + x402 access. Fails if the wallet is already linked elsewhere.

NameTypeReqDescription
org_idstringyesThe organization ID (from create_email_organization)
walletstringyesThe wallet address to link (0x...)

No output schema declared.

No examples provided.

list_emails ~138

List sent emails from the project's mailbox. Shows message ID, template, recipient, status, and timestamp.

NameTypeReqDescription
afterstringPagination cursor (message id from prior page)
directionstringFilter to received (inbound) or sent (outbound) messages. Omit for both. 'inbound' is the reconciliation backstop for a missed reply_received webhook.
limitintegerMax messages to return (server caps at 200)
mailboxstringTarget mailbox by slug or id; omit only when the project has exactly one mailbox.
project_idstringyesThe project ID

No output schema declared.

No examples provided.

list_function_runs ~147

List durable runs for a function, filterable by status, event_type, time window, limit, and cursor.

NameTypeReqDescription
cursorstringPagination cursor returned by a prior list call.
event_typestringFilter by event type
limitintegerMaximum runs to return (max 100).
namestringyesFunction name
project_idstringyesThe project ID
sincestringOnly include runs created/updated at or after this ISO timestamp or epoch ms.
statusstringFilter by run status
untilstringOnly include runs created/updated before this ISO timestamp or epoch ms.

No output schema declared.

No examples provided.

list_functions ~100

List all deployed functions for a project. Shows names, URLs, Node runtime, timeout, memory, resolved direct deps, and injected `@run402/functions` compatibility metadata: deployed `runtime_version`, gateway `runtime_current_version`, guaranteed `runtime_minimum_version`, and `runtime_stale`. Rebuild stale functions with `functions_rebuild`; an unchanged-source redeploy does not refresh the injected runtime.

NameTypeReqDescription
project_idstringyesThe project ID

No output schema declared.

No examples provided.

list_incoming_transfers ~86

List pending project transfers OFFERED TO the authenticated wallet (v1.59+). Each entry carries `preview_path` for deep-linking into the preview tool. Calls GET /agent/v1/transfers/incoming.

NameTypeReqDescription
afterstringOpaque pagination cursor (next_cursor from a prior page).
limitintegerPage size (default 50).

No output schema declared.

No examples provided.

list_mailbox_webhook_deliveries ~172

List durable webhook delivery rows for the project's mailbox. Webhook delivery is at-least-once with bounded retries + backoff; failures land in 'failed_permanent' (the dead-letter queue). Filter by status to inspect what was lost. Consumers must dedupe on the envelope idempotency_key.

NameTypeReqDescription
afterstringPagination cursor (delivery id from a prior page)
limitintegerMax rows to return (server caps at 200)
mailboxstringTarget mailbox by slug or id; omit only when the project has exactly one mailbox.
project_idstringyesThe project ID
statusstringFilter by delivery status. 'failed_permanent' is the dead-letter queue (events that exhausted retries or failed permanently).

No output schema declared.

No examples provided.

list_mailbox_webhooks ~55

List all webhooks registered on the project's mailbox.

NameTypeReqDescription
mailboxstringTarget mailbox by slug or id; omit only when the project has exactly one mailbox.
project_idstringyesThe project ID

No output schema declared.

No examples provided.

list_mailboxes ~86

List a project's mailboxes, including address/managed_address, default-role metadata (`is_default_outbound`, `is_auth_sender`), readiness (`can_send`, `can_receive`, `send_blocked_reason`, `domain_kind`), footer-policy fields, mailbox_settings, and next_actions. Use before choosing or repairing email defaults.

NameTypeReqDescription
project_idstringyesThe project ID

No output schema declared.

No examples provided.

list_notification_channels ~64

List every notification channel for the operator: email, webhook, and every live (non-revoked) Telegram binding with its id, status (pending/active/revoked), chat metadata, and label. Use this to find a telegram_binding_id for create_notification_rule.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_notification_rules ~51

List the operator's Telegram routing rules. Each rule ANDs its match dimensions (project_id, source, event_types, classes); an omitted dimension is a wildcard. One rule always targets exactly one Telegram binding.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_notifications ~107

List the operator's notification audit log (delivered, failed, and skipped attempts). Paginated; filter by event type or since timestamp.

NameTypeReqDescription
afterstringOpaque pagination cursor (next_cursor from a prior page).
limitintegerPage size (default 50, max 200)
sincestringISO timestamp; only notifications at or after this time
typestringFilter by event_type (e.g. project_past_due)

No output schema declared.

No examples provided.

list_org_members ~44

List the members of an org and their roles. Params: `org_id`.

NameTypeReqDescription
org_idstringyesThe org id, e.g. `org_...`.

No output schema declared.

No examples provided.

list_orgs ~35

List the orgs you are a member of, with each org's id, display name, your role, and membership status.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_outgoing_transfers ~87

List pending project transfers INITIATED BY the authenticated wallet (v1.59+). Each entry carries `preview_path` for deep-linking into the preview tool. Calls GET /agent/v1/transfers/outgoing.

NameTypeReqDescription
afterstringOpaque pagination cursor (next_cursor from a prior page).
limitintegerPage size (default 50).

No output schema declared.

No examples provided.

list_passkeys ~41

List the authenticated user's active passkeys.

NameTypeReqDescription
access_tokenstringyesAuthenticated user's access_token
project_idstringyesThe project ID

No output schema declared.

No examples provided.

list_project_branches ~31

List active contained branch projects for a parent project.

NameTypeReqDescription
project_idstringyesParent project ID.

No output schema declared.

No examples provided.

list_project_events ~432

Catch up on what happened to a project since you last looked: the durable, cursored feed of deploy activations, mailbox suspensions, transfers, lifecycle cliffs, and verification outcomes, each with platform-suggested next_actions. The feed also carries app-emitted business facts (a deployed function's own events.emit calls) alongside the platform's own events — pass source:"app" to read just the app's facts, source:"platform" for just the platform's operational record, or event_type (comma-separated) to filter to one-or-more specific types; key on (source, event_type) together since app-chosen type names are free-form. Reach for this after any deploy (the apply/promote response hands you a positioned cursor) and at the start of a session on an existing project. Store the returned cursor and pass it back next time; an expired cursor returns reset:true + earliest_cursor instead of an error. Read-only; works even on frozen projects.

NameTypeReqDescription
cursorstringOpaque cursor from a prior page (the response's `cursor`, or any event's `id`). Returns events strictly after it. Omit on first contact to start from the earliest retained event. Never parse cursors.
event_typestringRestrict to one or more event types, comma-separated (e.g. "signature_completed,booking_created"). Composes with source — e.g. source: "app" + event_type to watch for one specific business fact.
limitintegerPage size (default 50, max 200).
org_idstringRead the org-wide feed instead (union across the org's projects; requires an active org membership).
project_idstringProject whose feed to read. Omit when passing org_id.
sourcestringRestrict to one source: "app" (business facts a deployed function emitted itself via events.emit) or "platform" (every non-app source — the platform's own operational record). Omit to read both lanes…

No output schema declared.

No examples provided.

list_project_snapshots ~77

List project data snapshots with optional kind filter and keyset pagination.

NameTypeReqDescription
afterstringKeyset pagination cursor from a previous response.
kindstringOptional snapshot kind filter.
limitintegerPage size, max 100.
project_idstringyesProject ID whose snapshots should be listed.

No output schema declared.

No examples provided.

list_projects ~253

List projects from the named, domain-aware inventory (GET /projects/v1). Membership-scoped by default: every project owned by an org the agent's wallet is an active member of, with name, site_url, custom_domains, org (org_id), and status. SIWX wallet auth is signed automatically. Pass org_id to filter to one org (authorize-before-reveal: non-member/guessed → 403, non-UUID → 400), all:true to read the cross-wallet inventory across every wallet controlling your operator email, or limit/cursor to paginate.

NameTypeReqDescription
allbooleanRead the cross-wallet inventory across every wallet controlling your operator email instead of just this wallet's membership-scoped slice. Mutually exclusive with org_id.
cursorstringPagination cursor from a previous response's next_cursor.
limitintegerPage size for the membership-scoped read (server default 50, max 200).
org_idstringOptional org (organization) id to filter to. Authorize-before-reveal: a non-member or guessed id returns the same 403 as a real-but-unauthorized org; a non-UUID id is a 400.

No output schema declared.

No examples provided.

list_secrets ~46

List secret keys for a project. Values and value-derived hashes are never shown; use this only to check which keys are configured.

NameTypeReqDescription
project_idstringyesThe project ID

No output schema declared.

No examples provided.

list_signers ~35

List all KMS signers owned by the project, including deleted ones.

NameTypeReqDescription
project_idstringyesThe project ID

No output schema declared.

No examples provided.

list_subdomains ~29

List all subdomains claimed by a project.

NameTypeReqDescription
project_idstringyesThe project ID

No output schema declared.

No examples provided.

list_tenant_payments ~142

List redacted tenant x402 payment records for priced function web routes on a project (GET /projects/v1/:project_id/tenant-payments). Requires project.tenant_payments.read: org developer+ or read-scoped project grant/delegate. Raw X-PAYMENT headers, authorization hashes, and internal metadata are never returned.

NameTypeReqDescription
afterstringOpaque keyset cursor from a previous next_cursor.
limitintegerPage size. Server default 50, max 200.
project_idstringyesProject id, e.g. `prj_...`.
statusstringOptional status filter.

No output schema declared.

No examples provided.

list_versions ~26

List published versions of a project.

NameTypeReqDescription
project_idstringyesThe project ID

No output schema declared.

No examples provided.

passkey_login_options ~68

Create WebAuthn passkey login options for a project app origin.

NameTypeReqDescription
app_originstringyesExact app origin for the WebAuthn ceremony
emailstringOptional email hint. Does not expose allowCredentials.
project_idstringyesThe project ID

No output schema declared.

No examples provided.

passkey_login_verify ~67

Verify a browser WebAuthn assertion and return a normal Run402 auth session.

NameTypeReqDescription
challenge_idstringyeschallenge_id returned by passkey_login_options
project_idstringyesThe project ID
responsePublicKeyCredential assertion response JSON from the browser

No output schema declared.

No examples provided.

passkey_register_options ~64

Create WebAuthn passkey registration options for the authenticated user.

NameTypeReqDescription
access_tokenstringyesAuthenticated user's access_token
app_originstringyesExact app origin for the WebAuthn ceremony
project_idstringyesThe project ID

No output schema declared.

No examples provided.

passkey_register_verify ~90

Verify a browser WebAuthn registration response and store the user's passkey.

NameTypeReqDescription
access_tokenstringyesAuthenticated user's access_token
challenge_idstringyeschallenge_id returned by passkey_register_options
labelstringOptional passkey label
project_idstringyesThe project ID
responsePublicKeyCredential registration response JSON from the browser

No output schema declared.

No examples provided.

pay_url ~187

Call an arbitrary HTTP(S) URL and automatically satisfy a supported x402 exact-payment challenge. Defaults to a $0.10 ceiling, uses the configured allowance wallet, forwards Idempotency-Key, and returns the HTTP response plus a structured payment receipt.

NameTypeReqDescription
bodyRequest body as text or a JSON object
idempotency_keystringStable Idempotency-Key forwarded to the seller; on Run402 pending, retry the identical call with the same payer and key
max_usd_microsintegerMaximum payment in USD micros (default: 100000, or $0.10)
methodstringHTTP method (default: GET)
require_receiptbooleanRequire a verified wallet-rooted merchant offer before payment and a matching receipt after settlement
urlstringyesThe HTTP(S) URL to call

No output schema declared.

No examples provided.

preview_project_transfer ~150

Fetch the preview document for a project transfer of any pending kind (v1.93+). Returns the safe review payload: project name, custom domains, subdomains, function names, secret NAMES (values are never returned), CI bindings that will be revoked at completion, mailbox summary, billing implications, and — on email transfers — the retain_collaborator offer. Caller must be a party to the transfer. Calls GET /agent/v1/transfers/:transfer_id.

NameTypeReqDescription
transfer_idstringyesTransfer id to preview. You must be a party to it (wallet signer, the addressed-email principal, or an offering-org member). Kind-agnostic — works for wallet and email transfers.

No output schema declared.

No examples provided.

project_get ~78

Authoritative server read of a project — name, owning org, tier, effective status, active deploy, mailbox addresses, and usage vs. tier limits. Live API call; returns no keys (use project_key_cache_status/export for local cached keys).

NameTypeReqDescription
project_idstringyesProject ID to read (authoritative server view; no keys)

No output schema declared.

No examples provided.

project_key_cache_export ~72

Export local cached anon/service keys for one project. Requires reveal:true and emits secret material; use only when a credential-required operation needs keys.

NameTypeReqDescription
project_idstringyesProject ID to export from the local project-key credential cache
revealbooleanyesMust be true to emit secret key material

No output schema declared.

No examples provided.

project_key_cache_status ~55

Read redacted local project-key cache status for one project. Local cache only; not authoritative project inventory and never returns full keys.

NameTypeReqDescription
project_idstringyesProject ID to inspect in the local project-key credential cache

No output schema declared.

No examples provided.

project_use ~41

Server-validate a project and store its id as the active project pointer for this local profile.

NameTypeReqDescription
project_idstringyesProject ID to set as active

No output schema declared.

No examples provided.

Common questions

What is the Run402 MCP server?

Run402 is an MCP server listed in the public MCP registry as com.run402/mcp. x402 pay-per-call infra for agents: $0.03 image generation, Postgres, auth, storage, functions. This page covers its npm package (run402-mcp).

Is the Run402 MCP server safe to use?

Run402 scores 92 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 20 September 2026. It declares no install or post-install scripts. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the Run402 MCP server expose?

Run402 exposes 198 tools: provision_postgres_project, run_sql, rest_query, apply_expose, validate_manifest, and 193 more. Their descriptions and schemas cost roughly 22,855 tokens of context every time the server is loaded.

Is the Run402 MCP server still maintained?

Run402 is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the Run402 MCP server under?

Run402 declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.