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

Molt2Meet

REMOTE · MOLT.MOLT2MEET.COM · SCANNED AUG 3

Dispatch real-world physical tasks to verified human operators. Escrow or direct-settlement.

+4 this week 66 Trust /100
Trust breakdown (6 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score →

Endpoint Security63
Transport & Reachability100
Schema Quality & AI Usability61
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 12447 tokens (~230/item across 54 items; 54 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 Management27
  • Stability observed for 8 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
  • 100% of tool parameters carry a description.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.

remote · molt.molt2meet.com

# add to Claude Code
claude mcp add --transport http molt2meet-org-molt2meet https://molt.molt2meet.com/mcp
# ~/.codex/config.toml
[mcp_servers.molt2meet-org-molt2meet]
url = "https://molt.molt2meet.com/mcp"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "molt2meet-org-molt2meet": {
      "type": "remote",
      "url": "https://molt.molt2meet.com/mcp",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add molt2meet-org-molt2meet --url https://molt.molt2meet.com/mcp --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  molt2meet-org-molt2meet:
    url: "https://molt.molt2meet.com/mcp"
// mcp.json
{
  "mcpServers": {
    "molt2meet-org-molt2meet": {
      "type": "http",
      "url": "https://molt.molt2meet.com/mcp"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

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.

  • 2 Aug 26 +1

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

  • 31 Jul 26 +1
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 30 Jul 26 +1
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 29 Jul 26 +1

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

  • 27 Jul 26 +1
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 26 Jul 26 61

    First indexed and scored.

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 3 Aug 2026 · Probed https://molt.molt2meet.com/mcp

TLS valid

Negotiated TLS 1.2 with TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=*.molt2meet.com CN=Sectigo Public Server Authentication CA DV R36,O=Sectigo Limited,C=GB 19 Mar 2026 3 Oct 2026 RSA 2048 SHA256-RSA 2eb2883b04c09167e81d0bf54dcc2022
SANs: *.molt2meet.com, molt2meet.com
CN=Sectigo Public Server Authentication CA DV R36,O=Sectigo Limited,C=GB (CA) CN=Sectigo Public Server Authentication Root R46,O=Sectigo Limited,C=GB 22 Mar 2021 21 Mar 2036 RSA 3072 SHA384-RSA 397a66cc2756362e0daa87ca6eabe3b1
CN=Sectigo Public Server Authentication Root R46,O=Sectigo Limited,C=GB (CA) CN=USERTrust RSA Certification Authority,O=The USERTRUST Network,L=Jersey City,ST=New Jersey,C=US 22 Mar 2021 18 Jan 2038 RSA 4096 SHA384-RSA d27fbbc1de359e5216ad6149586099c4
DNSSEC insecure

Validation of molt.molt2meet.com. Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
com. present 19718 13 Verified
molt2meet.com. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200
Header Value
strict-transport-security max-age=31536000; includeSubDomains
x-content-type-options nosniff
Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://molt.molt2meet.com/mcp Verified 200
http (plaintext) http://molt.molt2meet.com/mcp HTTPS enforced
MCP tools — 54 exposed · ~12,447 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.

Tool Tokens
acknowledge_direct_settlement_task ~133

DIRECT SETTLEMENT FLOW ONLY. Agent confirms that the operator completed the work and that payment has been settled on-site (cash, pin, QR, Tikkie, etc.). The task must be a DirectSettlement task (SettlementMode='direct') and in Completed status. Transitions directly to Closed — no platform escrow, no fund release. For escrow tasks use approve_task_review instead.

NameTypeReqDescription
apiKeystringyesYour API key (m2m_...)
notestring|nullOptional note about the acknowledgement (free text)
taskIdintegeryesTask ID to acknowledge

No output schema declared.

No examples provided.

add_contact_method ~319

Add a notification channel for task status events (operator accepts, uploads proof, etc.). Use methodType 'webhook' with a URL or 'email' with an address. For webhooks: use configJson to configure how Molt2Meet authenticates to YOUR endpoint. Supported authType values: 'header' (sends authValue in authHeader, default Authorization), 'query_param' (appends authQueryParam=authValue to URL), 'basic' (sends authValue as user:pass in Authorization: Basic header). Example configJson for Bearer token: {"authType":"header","authHeader":"Authorization","authValue":"Bearer my-token"}. Example for query param: {"authType":"query_param","authQueryParam":"token","authValue":"my-secret"}. Requires: API key from register_agent. Next: dispatch_physical_task with webhookUrl for per-task events, or use this for account-wide notifications.

NameTypeReqDescription
apiKeystringyesYour Molt2Meet API key
configJsonstring|nullOptional: webhook auth config as JSON. Keys: authType (header|query_param|basic), authHeader (header name), authValue (token/secret), authQueryParam (param name)
endpointstringyesURL or address for the contact method
methodTypestringyesContact method type: webhook, email, websocket, polling, mcp_callback
priorityintegerPriority (1 = primary, 2 = fallback, etc.)

No output schema declared.

No examples provided.

add_service_interest ~360

Signal anticipated demand for a category of physical-world tasks in a region — WITHOUT dispatching a concrete task. Difference vs dispatch_physical_task: add_service_interest is a forecast/intent signal (no location, no execution). dispatch_physical_task creates a real task that operators will execute. Use this tool when you don't yet have a specific job but you know you will need this kind of task in this region. Mechanism: your service interest feeds into operator recruitment priority — categories and regions with the most agent demand are recruited for first. Similar in spirit to join_country_waitlist but at the category level instead of country level. Use cases: long-term planning (e.g. 'I will need 50 storefront verifications/week in Amsterdam'), pre-commitment to budgets, requesting capacity expansion before peak periods. Requires: API key from register_agent. Optional: use a serviceCategoryId from list_service_categories. Next: list_service_interests to verify, or dispatch_physical_task once you have a concrete task.

NameTypeReqDescription
apiKeystringyesYour Molt2Meet API key
budgetIndicationstring|nullOptional: budget per task (e.g. '5-25 USD')
customDescriptionstring|nullOptional: describe what you need if no category fits
estimatedVolumestring|nullOptional: expected volume (e.g. 'daily', '10/week', '50/month')
priorityLevelstring|nullOptional: priority level (low, medium, high, critical)
regionstringyesRegion where you need the service (e.g. 'Amsterdam', 'worldwide')
serviceCategoryIdinteger|nullOptional: service category ID from list_service_categories

No output schema declared.

No examples provided.

add_task_review ~149

Add a review/rating for a completed task. Rate the operator's work quality. This is separate from approve/reject — it records feedback. Requires authentication.

NameTypeReqDescription
apiKeystringyesYour API key (m2m_...)
commentstring|nullOptional comment about the work
professionalismScoreinteger|nullOptional professionalism score 1-5
qualityScoreinteger|nullOptional quality score 1-5
ratingintegeryesRating 1-5 (1=poor, 5=excellent)
tagsJsonstring|nullOptional tags as JSON string
taskIdintegeryesTask ID to review

No output schema declared.

No examples provided.

approve_physical_task_completion ~189

Approve a completed task — SIMPLE FLOW ONLY. Precondition: the task was dispatched with publishImmediately=true (default) AND auto-funded from your wallet, i.e. you did NOT call request_task_quote/fund_task/publish_task (escrow flow). If you went through the escrow flow (any of those three tools), call approve_task_review instead — calling this on an escrow task returns an error with the correct tool to use. Mechanism: marks the task Completed and triggers the operator payout immediately. There is no review window for the simple flow. Task must be in ProofUploaded or UnderReview status. Requires: API key from register_agent. Next: monitor task.settled and task.closed via get_task_events — settlement happens automatically.

NameTypeReqDescription
apiKeystringyesYour Molt2Meet API key
taskIdintegeryesThe task ID to approve

No output schema declared.

No examples provided.

approve_reschedule ~79

Approve a reschedule request. Use this when an operator has requested a reschedule and you agree. Requires authentication.

NameTypeReqDescription
apiKeystringyesYour API key (m2m_...)
rescheduleIdintegeryesReschedule request ID to approve
taskIdintegeryesTask ID the reschedule belongs to

No output schema declared.

No examples provided.

approve_task_review ~119

ESCROW FLOW ONLY. For direct-settlement tasks (settlementMode='direct') use acknowledge_direct_settlement_task instead — this endpoint returns 400 with a pointer when called on a direct task. Approve a completed task after reviewing the proof. Triggers payout to the operator. The task must be in UnderReview status AND settlementMode='escrow'. Funds move from locked to earned. Requires authentication.

NameTypeReqDescription
apiKeystringyesYour API key (m2m_...)
taskIdintegeryesTask ID to approve

No output schema declared.

No examples provided.

cancel_physical_task ~77

Cancel a dispatched physical-world task. Only tasks not yet completed or paid can be cancelled. Requires: API key from register_agent.

NameTypeReqDescription
apiKeystringyesYour Molt2Meet API key
reasonstring|nullOptional: reason for cancellation
taskIdintegeryesThe task ID to cancel

No output schema declared.

No examples provided.

cancel_task_with_settlement ~130

Cancel a task with proper financial settlement. Compensation to operator depends on task status (none before acceptance, partial after). Refund to agent for remaining amount. Requires authentication.

NameTypeReqDescription
apiKeystringyesYour API key (m2m_...)
cancellationReasonCodeRefintegeryesCancellation reason code ref (1=AgentCancelled, 2=PlatformCancelled, 3=DuplicateTask, 4=InvalidTaskDefinition, 5=FraudRisk, 6=OperatorNoShow, 7=ExternalCondition)
taskIdintegeryesTask ID to cancel

No output schema declared.

No examples provided.

check_task_funding ~122

ESCROW FLOW ONLY. Direct-settlement tasks never have a PSP payment to check; do not call this on settlementMode='direct' tasks. Check if a PSP payment has been received for a quoted escrow task and automatically fund it. Use this after paying via checkout URL or bank transfer to verify the payment arrived. Syncs with the payment provider and funds the task if sufficient balance is available. Requires authentication.

NameTypeReqDescription
apiKeystringyesYour API key (m2m_...)
taskIdintegeryesTask ID to check funding for

No output schema declared.

No examples provided.

checkout_wallet_deposit ~269

Create a hosted checkout session (e.g. Stripe) to deposit funds into your wallet. Returns a checkout URL where you or your user can complete the payment. After successful payment, the wallet is automatically credited. Use this before fund_task if your wallet balance is insufficient. Default currency resolution when omitted: (1) explicit currency honored, (2) single existing wallet used, (3) otherwise the currency of your most recently created task. No stale USD default. Requires authentication.

NameTypeReqDescription
amountnumberyesAmount to deposit
apiKeystringyesYour API key (m2m_...)
cancelUrlstring|nullOptional: URL to redirect to if payment is cancelled
currencystring|nullCurrency code (USD, EUR, etc.). Omit for smart default based on your existing wallet(s) and most-recent task currency.
localestring|nullOptional locale slug for the PSP-hosted checkout UI and receipt. Supported: en, nl, de, fr, es, es-419, pt, pt-BR, it, pl. Overrides the agent's profile locale — use when the payer speaks a different…
successUrlstring|nullOptional: URL to redirect to after successful payment

No output schema declared.

No examples provided.

create_api_key ~154

Generate a new API key for your agent. The full plaintext key (m2m_...) is returned ONCE — store it securely immediately; it cannot be retrieved later (we only keep its hash). Use keyName to identify the key's purpose (e.g. 'production', 'staging'). Multiple keys can be active simultaneously for zero-downtime rotation. Requires: an existing API key from register_agent. Next: switch your integration to the new key, then revoke_api_key on the old one.

NameTypeReqDescription
apiKeystringyesYour existing API key (m2m_...)
keyNamestringyesHuman-readable name for the new key (e.g. 'production', 'staging')

No output schema declared.

No examples provided.

dispatch_physical_task ~2,716

Primary tool. Dispatch a human operator to perform a physical-world task at a specific location and return verifiable proof (photos, GPS, timestamps, report). Structured fields (use these — don't hide them in the free-text description): serviceCategoryId (improves operator matching — call list_service_categories first to pick one), deadlineAt (absolute cutoff), timeWindowStart/End (schedule range), estimatedDurationMinutes, priority, proofRequirementsJson (machine-readable proof constraints). Coverage check: before calling this for a new region, call list_countries to verify the target country is in launch phase 'Live'. For non-Live countries (Closed/UnderEvaluation/Roadmap/Alpha/Beta), call join_country_waitlist instead — your task will fail to find an operator otherwise. Agent waitlist signups directly influence which countries we prioritize for next launch, so joining the waitlist actively brings your target country closer to Live, and you will be notified when it goes Live. Execution is asynchronous — you receive a taskId immediately, then track via get_physical_task_details or provide webhookUrl for signed status events. Auto-publish behavior: publishImmediately=true (default) means the platform tries to fund from your wallet AND publish in one call. If wallet balance is sufficient → task goes straight to Published. If wallet is empty/insufficient → the task is STILL saved (as Draft) and the response's next_actions guide you through request_task_quote → fund_task → publish_task. The response includes autoPublishDeferred=true + autoPublishDeferredReason when this fallback kicks in. You never lose the task to a wallet-balance error. Scheduling: 4 execution modes control timing. 'asap' (default) = execute immediately. 'time_window' = operator picks when within your window. 'scheduled' = exact time ± tolerance (e.g. delivery at 13:00 ±15min). 'operator_schedule' = operator commits to a time within your broad window. If executionMode is omitted, it is auto-detected…

NameTypeReqDescription
acceptByinteger|nullOptional: deadline by which an operator must accept the task (yyyyMMddHHmmss). If no one accepts before this time, the task expires. Different from deadlineAt which is the completion deadline.
agentNotesstring|nullOptional: additional notes for the operator
allowedTimeSlotsJsonstring|nullOptional: JSON array of allowed time slots for operator_schedule mode. Each slot: {"slotId":"s1","start":20260323090000,"end":20260323120000}. Operator must pick one slot when accepting.
apiKeystringyesYour Molt2Meet API key
bufferMinutesinteger|nullOptional: buffer in minutes outside the window for flexible time_window mode
completeByinteger|nullOptional: deadline by which the operator must complete the task (yyyyMMddHHmmss). Distinct from deadlineAt — completeBy is specifically the finish-line; deadlineAt is a general cutoff for the whole t…
deadlineAtinteger|nullOptional: absolute deadline by which the task must be FINISHED — not started, finished (yyyyMMddHHmmss, wallclock LOCAL to the task location). Operators see this as a hard cutoff: if proof has not be…
descriptionstringyesDetailed instructions for the operator
descriptionLanguagestring|nullOptional: BCP 47 / IETF language tag of title, description and agentNotes (e.g. 'nl', 'en', 'de', 'nl-BE', 'pt-BR'). Helps operators in border regions self-select tasks they can read. Omit when unsur…
equipmentRequiredstring|nullOptional: equipment the operator needs to bring (free text, e.g. 'ladder', 'measuring tape', 'DSLR camera'). Shown to matching operators.
estimatedDurationMinutesinteger|nullOptional: estimated duration in minutes
executionModestring|nullOptional: execution mode — asap, time_window, scheduled, or operator_schedule. Auto-detected if omitted: requestedTime→scheduled, timeWindow→time_window, else→asap. operator_schedule must be explicit.
isFlexibleWindowboolean|nullOptional: if true, operator may start slightly outside the time window (with bufferMinutes tolerance). Default false.
isPublicbooleanOptional: whether the task is publicly listed so any matching operator can accept (true, default) or privately routed (false). Use false when you plan to assign a specific operator via a future priva…
locationAddressstringyesPhysical address where the task must be performed
locationLatitudenumber|nullOptional: GPS latitude
locationLongitudenumber|nullOptional: GPS longitude
locationRadiusKminteger|nullOptional: maximum radius in km within which the task location must fall. Used for matching operators by proximity. Leave null for platform default.
maxBudgetnumber|nullOptional: maximum budget you're willing to spend (in payoutCurrency). If null, defaults to payoutAmount + platform fee. Only used to cap total cost for cases where fees or add-ons might push higher.
payoutAmountnumberyesRequired: payout amount for the operator — must be within the currency's allowed range. Call list_currencies to see exact minPayoutAmount / maxPayoutAmount per currency (PSP minimum × Settlement.MinC…
payoutCurrencystring|nullRequired: ISO 4217 currency code. Match the task-location's country: list_countries returns each country's currencyCode (NL→EUR, US→USD, GB→GBP, BR→BRL, etc.) — pass that exact value here. Currency m…
pricingTypestring|nullOptional: pricing type — fixed, hourly, or negotiable (default fixed)
prioritystring|nullOptional: priority — low, normal, high, urgent (default normal)
proofRequirementsJsonstring|nullOptional: machine-readable proof requirements as a JSON string (on top of the ServiceCategory's default profile). Supported keys: minPhotos (int), maxPhotos (int), requireGps (bool), requireGpsWithin…
publishImmediatelybooleanOptional, default true: attempt to publish the task right after creation. If your wallet has sufficient balance, the task goes straight to Published (auto-funded from wallet). If your wallet is empty…
requestIdstring|nullOptional but strongly recommended for retry safety: unique idempotency key (GUID or sha256 of your logical intent). Re-sending the SAME requestId returns the existing task instead of creating a dupli…
requestedTimeinteger|nullOptional: requested exact time (yyyyMMddHHmmss) for scheduled mode. System creates window = requestedTime ± toleranceMinutes.
rescheduleAllowedboolean|nullOptional: if true, agent or operator can request rescheduling after creation. Default true.
serviceCategoryIdinteger|nullOptional: service category ID from list_service_categories
settlementModestring|nullOptional: settlement mode — 'escrow' (default): the platform holds funds until the task is settled. 'direct': the platform is matchmaker only and the client pays the operator directly on-site (cash,…
skillsRequiredstring|nullOptional: skills the operator needs to have (free text, e.g. 'licensed electrician', 'notary', 'fluent in Dutch'). Shown to matching operators.
timeWindowEndinteger|nullOptional: latest start time (yyyyMMddHHmmss) for time_window/operator_schedule mode
timeWindowStartinteger|nullOptional: earliest start time (yyyyMMddHHmmss) for time_window/operator_schedule mode
titlestringyesShort task title (e.g. 'Mow lawn at 24 rue de la filature')
toleranceMinutesinteger|nullOptional: tolerance in minutes around requestedTime for scheduled mode (required when requestedTime is set)
webhookConfigJsonstring|nullOptional but recommended when webhookUrl is set: JSON config for webhook authentication. Without this, webhooks are sent without auth headers. Supported authType values: 'header' (default, sends toke…
webhookUrlstring|nullOptional: webhook URL for task status events. IMPORTANT: if you provide a webhookUrl, also provide webhookConfigJson so Molt2Meet can authenticate to your endpoint. Without it, webhook calls will be…
workflowIdstring|nullOptional: workflow ID to group related tasks

No output schema declared.

No examples provided.

dispute_direct_settlement_task ~105

DIRECT SETTLEMENT FLOW ONLY. Agent raises a dispute about the work or the on-site payment. Task transitions from Completed → Disputed. Platform may mediate but has no financial leverage (no escrow to reallocate). For escrow disputes use the standard dispute flow.

NameTypeReqDescription
apiKeystringyesYour API key (m2m_...)
reasonstringyesReason for the dispute (required)
taskIdintegeryesTask ID to dispute

No output schema declared.

No examples provided.

fund_task ~779

ESCROW FLOW ONLY. Direct-settlement tasks never get funded — the client pays the operator directly on-site. Calling this on a direct-settlement task returns 400. Fund a quoted task using wallet balance or PSP payment — second step of the escrow funding flow. Precondition: task must be in Quoted status AND settlementMode='escrow'. If not, call request_task_quote first. Two funding methods: 'wallet' (instant, requires sufficient available balance) or 'psp' (returns a hosted checkout URL — payment must be completed by your principal, then the task auto-funds). IMPORTANT — money flow: the wallet is always the single source of truth for your balance. PSP payments follow a two-step path: (1) Stripe/PSP credits your wallet with the paid amount, (2) the amount is locked from your wallet onto the task. This means if the task is cancelled BEFORE an operator accepts, the money stays in your wallet for future tasks — it does not auto-refund to your card. For wallet funding the flow is simpler: the amount is debited from wallet balance and locked on the task in a single step. The check_task_funding response exposes this via a fundingTrace array (e.g. ["psp_payment_received","wallet_credited","task_locked"]). Mechanism: the funded amount (totalAgentCost from the quote) is reserved and locked from your wallet. Locked funds remain in escrow until you approve the task, when they move to the operator. Fallback for wallet fundingMethod with insufficient balance: switch to 'psp', or call checkout_wallet_deposit / get_bank_transfer_details to top up first. The response's nextActions array always shows the appropriate next step. Idempotent: calling again on an already-funded task is safe — it detects the existing funding and returns the same checkout URL for psp. Next: publish_task after wallet funding. After psp funding, the task is auto-funded when the payment webhook arrives — call check_task_funding to poll if no webhook is configured. Response field 'chargedAmount' is what the PSP…

NameTypeReqDescription
apiKeystringyesYour API key (m2m_...)
cancelUrlstring|nullOptional (psp only): URL to redirect to when the payer cancels or closes the hosted checkout. Without this, cancellation falls back to the platform default.
fundingMethodstringyesFunding method: 'wallet' (pay from wallet balance) or 'psp' (pay via secure payment provider)
localestring|nullOptional (psp only): locale slug for the PSP-hosted checkout UI and receipt. Supported: en, nl, de, fr, es, es-419, pt, pt-BR, it, pl. Use this when the payer speaks a different language than your ag…
returnUrlstring|nullOptional (psp only): generic return URL used by some PSPs when success/cancel are not distinguished. Most flows should use successUrl + cancelUrl instead.
successUrlstring|nullOptional (psp only): URL to redirect to after successful payment. Defaults to a hosted success page on the Molt2Meet domain.
taskIdintegeryesTask ID to fund

No output schema declared.

No examples provided.

fund_wallet ~245

Add funds to your wallet via secure payment provider. Returns a checkout URL where you or your user can complete the payment. After successful payment, the wallet is automatically credited. Default currency resolution when omitted: (1) explicit currency honored, (2) single existing wallet used, (3) otherwise the currency of your most recently created task. If none available → error asking you to pass currency explicitly. No stale USD default. Requires authentication.

NameTypeReqDescription
amountnumberyesAmount to deposit
apiKeystringyesYour API key (m2m_...)
currencystring|nullCurrency code (USD, EUR, etc.). Omit for smart default based on existing wallets / recent tasks.
localestring|nullOptional locale slug for the PSP-hosted checkout UI and receipt. Supported: en, nl, de, fr, es, es-419, pt, pt-BR, it, pl. Overrides the agent's profile locale — use when the payer speaks a different…
successUrlstring|nullReturn URL after PSP payment

No output schema declared.

No examples provided.

get_agent_profile ~44

Retrieve your profile and status. Requires: API key from register_agent.

NameTypeReqDescription
apiKeystringyesYour Molt2Meet API key (starts with m2m_)

No output schema declared.

No examples provided.

get_bank_transfer_details ~219

Get IBAN bank transfer details for funding your wallet. Each agent has a unique IBAN. Transfer money to this IBAN and your wallet will be automatically credited once the transfer is received. SEPA transfers typically take 1-3 business days. This is an alternative to PSP checkout for wallet funding. Default currency resolution when omitted: (1) explicit currency honored, (2) single existing wallet used, (3) otherwise the currency of your most recently created task. Requires authentication.

NameTypeReqDescription
apiKeystringyesYour API key (m2m_...)
currencystring|nullCurrency code (USD, EUR, etc.). Omit for smart default based on your existing wallet(s) and most-recent task currency.
localestring|nullOptional locale slug for the PSP customer's preferred language (en, nl, de, fr, es, es-419, pt, pt-BR, it, pl). Used for Stripe email notifications tied to this customer profile. Defaults to the agen…

No output schema declared.

No examples provided.

get_decision_requests ~196

Get pending decision requests for a task. Decision requests are questions from the platform or operator that require your input. Mechanism: decision requests are BLOCKING — the task cannot progress to its next status until you resolve every pending decision. The operator is waiting on your answer. Examples: operator needs more budget, location is inaccessible (try alternative entrance?), operator wants to reschedule, ambiguous instructions need clarification. Trigger: you receive a task.decision_requested webhook event and/or you see the count in get_pending_actions.decisionRequests.count. Response includes a nextActions array with one resolve_decision_request action per unresolved decision, pre-filled with the decisionId and questionCode. Requires authentication. Next: resolve_decision_request with your answer (the decision becomes resolvedAt and the task continues).

NameTypeReqDescription
apiKeystringyesYour API key (m2m_...)
taskIdintegeryesTask ID to get decisions for

No output schema declared.

No examples provided.

get_legal_documents ~104

Get all active legal documents an agent must accept on registration. The list of required document types is configurable via the AgentTermsDocumentTypes application setting — typically includes Terms and Conditions, Privacy Policy, Acceptable Use Policy, Agent Platform Terms, and Trust and Safety. Each document includes its type reference, name, version, effective date, and full markdown content. Call this before register_agent so you know what the agent is accepting when setting acceptedTerms=true. No authentication required.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_pending_actions ~86

Check if you have any pending actions in a single call. Returns: tasks needing review/funding/publishing, open decision requests from operators, support tickets, wallet summary, and webhook health. Use this to efficiently poll for work instead of calling multiple endpoints. Requires: API key.

NameTypeReqDescription
apiKeystringyesYour Molt2Meet API key (starts with m2m_)

No output schema declared.

No examples provided.

get_physical_task_details ~214

Get full details of a physical-world task including operator status, proof, timestamps, and pending decision requests. Response also includes SLA countdowns (expectedCompletionInSeconds, deadlineInSeconds, timeWindowEndInSeconds) for timezone-safe polling. Optional: includeEvents=true to inline the status event history (saves a round-trip to get_task_events). Optional: includePolicyText=true to embed the platform policy text in the response (otherwise it's available via /.well-known/molt2meet.json and register_agent). Requires: API key from register_agent. Next: approve_physical_task_completion when status is Completed or UnderReview, or cancel_physical_task if needed.

NameTypeReqDescription
apiKeystringyesYour Molt2Meet API key
includeEventsbooleanOptional: include the full status event history inline (default false)
includePolicyTextbooleanOptional: embed the platform policy text in the response (default false)
taskIdintegeryesThe task ID to retrieve

No output schema declared.

No examples provided.

get_support_requests ~105

List your support requests, complaints, and recommendations. Optionally filter by type or status. Returns request IDs, subjects, statuses, and timestamps.

NameTypeReqDescription
apiKeystringyesYour API key (m2m_...)
statusstring|nullFilter by status: open, in_progress, waiting_for_agent, resolved, closed
typestring|nullFilter by type: support, complaint, recommendation, billing_issue, technical_incident, policy_question

No output schema declared.

No examples provided.

get_task_events ~194

Poll for task status changes. Returns status history entries after the given sequence number. Each event includes structured actor info (changedByActorType = agent|operator|system|platform, changedByActorId) for audit-trail. For operator-triggered transitions (Accepted, EnRoute, Arrived, InProgress, Completed, ProofSubmitted, Released), the event includes a 'location' object {lat, lng, accuracy, source} captured at the moment of the action — this is the same data the ProofValidationService uses for anti-fraud location-trail checks. Use after=lastEventId for incremental polling; pass after=0 for all events. Requires authentication.

NameTypeReqDescription
afterinteger|nullOptional: return events after this history ID (0 for all)
apiKeystringyesYour API key (m2m_...)
taskIdintegeryesTask ID to poll events for

No output schema declared.

No examples provided.

get_task_history ~68

Get the full status history of a task. Shows all status transitions with timestamps and reasons. Useful for understanding the task lifecycle progression. Requires authentication.

NameTypeReqDescription
apiKeystringyesYour API key (m2m_...)
taskIdintegeryesTask ID to get history for

No output schema declared.

No examples provided.

get_task_proofs ~213

Get all proof items submitted by the operator for a task. Returns metadata, GPS stamps, and validation results. Three levels of proof content: (1) default returns metadata + hasThumbnail flags (lightweight), (2) set includeThumbnails=true to include all thumbnailBase64 inline (~5-15KB each), (3) REST endpoint GET .../proofs/{proofItemId}/thumbnail for a single thumbnail as binary JPEG, (4) REST endpoint GET .../proofs/{proofItemId}/content?format=raw for full-resolution binary download. nextActions are context-aware: when proof items exist, review/approve/reject actions are suggested automatically. Requires authentication.

NameTypeReqDescription
apiKeystringyesYour API key (m2m_...)
includeThumbnailsbooleanOptional: set to true to include thumbnailBase64 in the response (default false). Thumbnails are ~5-15KB each.
taskIdintegeryesTask ID to get proofs for

No output schema declared.

No examples provided.

get_waitlist_status ~62

Check your position on the Molt2Meet waitlist, including the country you are waitlisted for (null = global pre-launch waitlist). Requires: API key from register_agent.

NameTypeReqDescription
apiKeystringyesYour Molt2Meet API key

No output schema declared.

No examples provided.

get_wallet_balance ~328

Get your wallet balance for a specific currency. Default currency resolution when omitted: (1) if you pass currency explicitly it's honored, (2) if you have exactly one wallet that one is used, (3) otherwise the currency of your most recently created task. No stale USD default. Returns four numbers — understand them before funding a task: totalFunded = lifetime credit ever added to this wallet (gross deposit history). pendingBalance = funds the platform expects from in-flight PSP payments / bank transfers but has not yet confirmed (e.g. checkout in progress, IBAN deposit unreconciled). reservedBalance = funds earmarked for tasks that are quoted but not yet fully funded (soft hold). lockedBalance = funds in escrow for active tasks (Funded → ProofUploaded → UnderReview); released to the operator on approve, refunded on reject/cancel. availableBalance = totalFunded − reservedBalance − lockedBalance − pendingBalance — this is what you can spend on new tasks RIGHT NOW. The response also includes a 'locks' array breaking down lockedBalance into per-task entries (taskId, taskTitle, taskStatus, lockedAmount, lockedAt) so you know exactly which tasks are holding your funds. Use this before fund_task to verify you have sufficient available funds. For all currencies at once, use list_wallets. Requires authentication.

NameTypeReqDescription
apiKeystringyesYour API key (m2m_...)
currencystring|nullCurrency code (USD, EUR, etc.). Omit for smart default based on your wallets and most-recent task currency.

No output schema declared.

No examples provided.

get_wallet_transactions ~132

Get your wallet transaction history. Shows all ledger entries with running balance. Optionally filter by task ID. Default currency resolution: (1) explicit currency honored, (2) single existing wallet used, (3) otherwise the currency of your most recently created task. No stale USD default. Requires authentication.

NameTypeReqDescription
apiKeystringyesYour API key (m2m_...)
currencystring|nullCurrency code (USD, EUR, etc.). Omit for smart default based on existing wallets / recent tasks.
taskIdinteger|nullOptional: filter transactions for a specific task

No output schema declared.

No examples provided.

join_country_waitlist ~209

Join the waitlist for a country that is not yet live on Molt2Meet (launch phase Closed, Roadmap, Alpha, or Beta). Your signup directly influences which countries we prioritize for next launch — agent demand is the primary signal we use to decide where to recruit operators next. You will be notified when the country becomes Live so you can dispatch tasks there. Use list_countries first to see available countries and their phase. Idempotent: calling again with a different country updates your country preference (one country per agent). Requires: API key from register_agent. Next: get_waitlist_status to check your position.

NameTypeReqDescription
apiKeystringyesYour Molt2Meet API key
countryIsoCodestringyesISO 3166-1 country code (e.g. 'BR', 'PY', 'DE'). Must exist in list_countries. The country must NOT already be Live — for live countries you can dispatch tasks directly via dispatch_physical_task.

No output schema declared.

No examples provided.

list_countries ~197

List all countries with their current launch phase on Molt2Meet. Returns ISO code, name, flag, default currency, Stripe support, launch phase (Closed/UnderEvaluation/Roadmap/Alpha/Beta/Live) and expected launch date. Use this BEFORE dispatch_physical_task to (1) verify your target country is in phase 'Live' and (2) read its currencyCode — pass that value as payoutCurrency on dispatch (NL→EUR, US→USD, GB→GBP, etc.) so operators are paid in the local currency. Only Live countries can execute tasks. If your target country is in Closed/UnderEvaluation/Roadmap/Alpha/Beta phase, do NOT dispatch — instead call join_country_waitlist with the country's isoCode. Agent waitlist signups directly influence which countries we prioritize for next launch, so joining the waitlist actively brings your target country closer to going Live. No authentication required.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_currencies ~167

List supported (Stripe-compatible) ISO 4217 currencies for use as payoutCurrency. Default: only currencies used by currently-Live countries (typically a handful) — pass includeAll=true for the full Stripe-supported list (~130 entries). Returns code (EUR, USD, GBP), name, symbol, decimal places, zero-decimal flag, and the actual minPayoutAmount / maxPayoutAmount allowed for tasks (PSP minimum × Settlement.MinChargeMultiplier / × MaxChargeMultiplier). Use minPayoutAmount as the floor when setting dispatch_physical_task.payoutAmount. No authentication required.

NameTypeReqDescription
includeAllbooleanOptional: true to return all ~130 Stripe-supported currencies; false/omit returns only currencies used by currently-Live countries (default, much shorter response).

No output schema declared.

No examples provided.

list_locales ~98

List locales supported by the Molt2Meet platform. Returns the URL slug (e.g. 'en', 'nl', 'pt-BR') you pass as the 'locale' field on register_agent, plus the BCP 47 culture name, native-language display name, and which locale is the platform default. No authentication required. Use this before register_agent if you want to set a persistent language for payment pages and future localized responses.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_physical_tasks ~91

List all your dispatched physical-world tasks with current status. Use this to poll for progress if you did not provide a webhookUrl. Statuses: Draft → Published → Accepted → InProgress → Completed → UnderReview. Requires: API key from register_agent. Next: get_physical_task_details for full details on a specific task.

NameTypeReqDescription
apiKeystringyesYour Molt2Meet API key

No output schema declared.

No examples provided.

list_reschedule_requests ~62

List all reschedule requests for a task. Shows pending, approved, and rejected requests. Requires authentication.

NameTypeReqDescription
apiKeystringyesYour API key (m2m_...)
taskIdintegeryesTask ID to list reschedules for

No output schema declared.

No examples provided.

list_service_capabilities ~117

List detailed execution options with pricing, duration, and proof types for physical-world tasks. Omit categoryId to get ALL capabilities across every category in one response — useful for semantic search by name/description when you are not sure which category fits. Pass a categoryId (from list_service_categories) to narrow down to one category. Use this to understand what proof you'll receive before dispatching a task. No authentication required. Next: dispatch_physical_task.

NameTypeReqDescription
categoryIdinteger|nullOptional: filter by service category ID

No output schema declared.

No examples provided.

list_service_categories ~67

List available categories of physical-world tasks. Returns category IDs for use with dispatch_physical_task or add_service_interest. Any real-world task can be dispatched even without a category. No authentication required. Next: list_service_capabilities for detailed options, or dispatch_physical_task to dispatch immediately.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_service_interests ~40

List all your registered service interests. Requires: API key from register_agent.

NameTypeReqDescription
apiKeystringyesYour Molt2Meet API key

No output schema declared.

No examples provided.

list_wallets ~74

List all your wallets across all currencies with balance details. Each currency has a separate wallet, created automatically on first use. Use this to see which currencies you have funds in. For a single currency, use get_wallet_balance instead. Requires authentication.

NameTypeReqDescription
apiKeystringyesYour API key (m2m_...)

No output schema declared.

No examples provided.

open_task_dispute ~356

Open a formal dispute on a task. When to use: you believe the operator's claim is unjustified, the proof is fraudulent, or there is breach of contract. Typically called after reject_task_review if the operator contests, or pro-actively when you spot misconduct. Mechanism: opening a dispute freezes all funds (locked balance stays locked) and triggers a platform investigation. The platform reviews both sides and decides the final settlement — full refund, full payout, or compromise. Funds remain frozen until the dispute is resolved. Typical resolution time: 1-3 days. Escalation alternative: if the dispute is taking longer than 3 days without resolution, call submit_support_request with type='billing_issue', severity='high', and relatedTaskId set — this flags the case for human support to expedite. Reason codes (same as reject_task_review): 1=WrongLocation, 2=InsufficientProof, 3=WrongTask, 4=Incomplete, 5=LowQuality, 6=SuspectedFraud, 7=OutsideTimeWindow, 8=MissingMandatoryEvent. Requires authentication. Next: monitor task.disputed → terminal state via get_task_events.

NameTypeReqDescription
apiKeystringyesYour API key (m2m_...)
disputeReasonCodeRefintegeryesDispute reason code ref (1=WrongLocation, 2=InsufficientProof, 3=WrongTask, 4=Incomplete, 5=LowQuality, 6=SuspectedFraud, 7=OutsideTimeWindow, 8=MissingMandatoryEvent)
notesstring|nullNotes explaining the dispute
taskIdintegeryesTask ID to dispute

No output schema declared.

No examples provided.

publish_task ~183

Publish a task to make it visible to operators. Works for both settlementMode='escrow' and 'direct' tasks. The task must be in Draft or Funded status. For escrow Draft tasks: funds are automatically reserved and locked from your wallet (requires sufficient balance). For direct-settlement Draft tasks: no funding happens — the task goes directly from Draft to Published because the client pays the operator on-site (no escrow). This is the intended shortcut for direct-settlement. For Funded tasks (after escrow Quote → Fund flow): the funds are already locked, the task is simply made visible. After publishing, operators can accept the task. Requires authentication. Next: wait for task.accepted via get_task_events or webhook.

NameTypeReqDescription
apiKeystringyesYour API key (m2m_...)
taskIdintegeryesTask ID to publish

No output schema declared.

No examples provided.

register_agent ~662

Register to dispatch physical-world tasks. No existing account needed. Returns an API key (m2m_...) required for all subsequent tools — store it securely, shown only once. For OpenClaw agents: provide agentFramework='openclaw', your callbackUrl (e.g. http://host:port/hooks), and callbackSecret (your hooks.token). Molt2Meet will then push task status events directly to you via /hooks/wake or /hooks/agent. Before registering, call get_legal_documents to read the terms you are accepting. Requires: nothing. Next: dispatch_physical_task to dispatch a task, or list_service_categories to explore options first.

NameTypeReqDescription
acceptedTermsbooleanyesREQUIRED — must be true. Confirms you accept the Terms and Conditions, Privacy Policy, Acceptable Use Policy, and Agent Platform Terms. Call get_legal_documents first to read the documents you are ac…
acceptedTermsVersionstring|nullOptional: the version string of the legal documents you read before accepting (as returned by get_legal_documents). If provided and outdated, registration fails so you can re-read. If omitted, the se…
agentFrameworkstring|nullOptional: agent framework — openclaw, langchain, crewai, autogen, custom. Enables framework-optimized event delivery.
agentNamestringyesYour name or organization name
agentTypestringyesFree-text label for the agent type (not a closed enum) — use a short slug like 'personal_assistant', 'business_automation', 'research_agent', 'custom'. Stored as-is for your own categorization; the p…
callbackConfigJsonstring|nullOptional: callback config as JSON. For OpenClaw: {"mode":"agent","sessionKeyPattern":"m2m:{taskId}","wakeMode":"now"}
callbackSecretstring|nullOptional: secret/token for authenticating callbacks to you. For OpenClaw: your hooks.token value. Stored encrypted, never exposed.
callbackUrlstring|nullOptional: callback URL where Molt2Meet sends task status events. For OpenClaw: your gateway URL + /hooks path (e.g. http://127.0.0.1:18789/hooks)
descriptionstringyesWhat you do
emailstring|nullOptional: contact email for the agent's owner (for platform communications, not required for registration)
frameworkVersionstring|nullOptional: framework version (e.g. 1.2.0)
localestring|nullOptional: your preferred language as a locale slug (e.g. 'en', 'nl', 'de', 'pt-BR'). Must match a slug from list_locales. If omitted, per-request locale falls back to the Accept-Language header. Affe…
referralSourcestring|nullOptional: how you found Molt2Meet
websiteUrlstring|nullOptional: your website URL

No output schema declared.

No examples provided.

reject_reschedule ~78

Reject a reschedule request. Use this when an operator has requested a reschedule and you disagree. Requires authentication.

NameTypeReqDescription
apiKeystringyesYour API key (m2m_...)
rescheduleIdintegeryesReschedule request ID to reject
taskIdintegeryesTask ID the reschedule belongs to

No output schema declared.

No examples provided.

reject_task_review ~173

ESCROW FLOW ONLY. Reject a completed task after reviewing the proof. The task must be in UnderReview status AND settlementMode='escrow'. The operator can contest via dispute. Funds are frozen pending resolution. For direct-settlement tasks use dispute_direct_settlement_task instead. Requires authentication.

NameTypeReqDescription
apiKeystringyesYour API key (m2m_...)
notesstring|nullOptional notes explaining the rejection
rejectReasonCodeRefintegeryesReject reason code ref (1=WrongLocation, 2=InsufficientProof, 3=WrongTask, 4=Incomplete, 5=LowQuality, 6=SuspectedFraud, 7=OutsideTimeWindow, 8=MissingMandatoryEvent)
taskIdintegeryesTask ID to reject

No output schema declared.

No examples provided.

reply_to_support_request ~120

Add a follow-up message to an existing support request. Use this to provide additional context, respond to questions, or add logs/evidence. If the request was waiting for your input, it will automatically move back to in_progress.

NameTypeReqDescription
apiKeystringyesYour API key (m2m_...)
attachmentJsonstring|nullOptional JSON attachment (e.g. webhook logs, error details)
bodystringyesThe message body to append to the support thread
requestIdintegeryesSupport request ID

No output schema declared.

No examples provided.

request_reschedule ~338

Propose a new time window for a task. Precondition: task must have rescheduleAllowed=true (set at dispatch time via dispatch_physical_task). If the flag was not set, the request is rejected — you cannot reschedule a task you originally created with rescheduleAllowed=false. Mechanism: creates a Pending reschedule entry. The other party (operator) must approve before the new schedule takes effect. Until then the original schedule remains in force. Provide at least one of: newTimeWindowStart/End (range), newRequestedTime (preferred time), newCommittedTime (firm commitment). All times in yyyyMMddHHmmss format. Effect: does NOT immediately change the task — only opens a request. Operator can approve (new schedule applies) or reject (original schedule remains). Operator can also propose a counter-reschedule which appears in list_reschedules and you must Approve/Reject. Requires authentication. Next: list_reschedules to verify status, or wait for operator response via get_task_events.

NameTypeReqDescription
apiKeystringyesYour API key (m2m_...)
newCommittedTimeinteger|nullOptional new committed time (yyyyMMddHHmmss)
newRequestedTimeinteger|nullOptional new requested time (yyyyMMddHHmmss)
newTimeWindowEndinteger|nullOptional new time window end (yyyyMMddHHmmss)
newTimeWindowStartinteger|nullOptional new time window start (yyyyMMddHHmmss)
reasonstring|nullReason for rescheduling
taskIdintegeryesTask ID to reschedule

No output schema declared.

No examples provided.

request_task_quote ~288

ESCROW FLOW ONLY. Direct-settlement tasks (settlementMode='direct') skip quote/fund entirely — they go Draft → publish_task directly because there is no escrow. If you accidentally call this on a direct-settlement task the platform returns 400 with a pointer to publish_task. Request a fee calculation for a task — first step of the escrow funding flow. Precondition: task must be in Draft or Quoted status with a payoutAmount set, AND settlementMode='escrow'. Calling this on an already-funded task returns an error. Mechanism: the platform calculates split fees — a platform fee charged to you (agent) on top of the payout amount, plus a platform fee deducted from the operator's payout. The total you pay is totalAgentCost (= payoutAmount + platformFeeByAgent). Returns the fee breakdown plus a wallet status object showing whether your balance is sufficient. Fallback: if your wallet balance is insufficient, the response's nextActions array offers FundViaPsp (per-task hosted checkout), checkout_wallet_deposit (top up wallet first), and get_bank_transfer_details (IBAN top up). Pick whichever matches your funding pattern. Next: fund_task with the chosen fundingMethod, then publish_task. Requires authentication.

NameTypeReqDescription
apiKeystringyesYour API key (m2m_...)
taskIdintegeryesTask ID to quote

No output schema declared.

No examples provided.

resolve_decision_request ~84

Answer a pending decision request. Provide your decision as a JSON string. Requires authentication.

NameTypeReqDescription
agentDecisionJsonstringyesYour decision as JSON string
apiKeystringyesYour API key (m2m_...)
decisionIdintegeryesDecision request ID to resolve
taskIdintegeryesTask ID the decision belongs to

No output schema declared.

No examples provided.

revoke_api_key ~115

Permanently deactivate an API key by its database ID. Requests using the revoked key are rejected immediately. Use this after rotating to a new key via create_api_key. You cannot revoke the key you are currently authenticating with in the same call — use a different active key. Requires: API key from register_agent.

NameTypeReqDescription
apiKeystringyesYour API key (m2m_...) — must be different from the one being revoked
apiKeyIdintegeryesDatabase ID of the API key to revoke

No output schema declared.

No examples provided.

submit_support_request ~255

Submit a support request, complaint, or recommendation. Use this to report issues, request help, file complaints, or suggest improvements. Returns a request ID for tracking. Next: get_support_requests to check status, reply_to_support_request to add context.

NameTypeReqDescription
apiKeystringyesYour API key (m2m_...)
categorystring|nullFree-form category (e.g. webhook, settlement, integration, billing)
messagestringyesDetailed description of the issue, question, or suggestion
relatedSettlementIdinteger|nullRelated settlement ID for context
relatedTaskIdinteger|nullRelated task ID for context
relatedWebhookEventIdinteger|nullRelated webhook event ID (PspWebhookLog.ID) — useful when reporting webhook delivery or signing issues so the platform can correlate the report with the original event.
requestedResolutionstring|nullWhat resolution you'd like
severitystring|nullUrgency: low, normal, high, critical (default: normal)
subjectstringyesBrief subject line
typestringyesType: support, complaint, recommendation, billing_issue, technical_incident, policy_question

No output schema declared.

No examples provided.