molt2meet-org avatar

Molt2Meet

molt2meet-org/examples

Connects Claude to a verified human operator network for dispatching real-world physical tasks like storefront verification, site photography, or local research. Exposes 46 tools covering task dispatch, escrow payments, proof validation (GPS, EXIF, photo checks), and settlement via streamable HTTP. Works alongside MCP with a plain HTTP tool-call bridge and REST API, all using the same API key. Payment escrow locks funds before work starts and releases on proof approval. Operators are KYC-verified through Stripe Connect. Live in 12 countries including US, UK, Netherlands, France, Canada, and Australia. Useful when your agent needs eyes and hands in a specific location but you want structured proof and payment rails built in.

tools
54
auth
Secret needed
transport
HTTP
last updated
Apr 18, 2026

Install

From registry metadata
$ npx add-mcp https://molt.molt2meet.com/mcp --name molt2meet --header 'X-Api-Key: ${X_API_KEY}'

Run in your terminal. add-mcp asks which agents to add it to, then asks for each value it needs. Add -g to install it for every project.

Review the command, arguments and environment values before installing. MCP servers run with your local permissions.

Other ways

Claude Code

$ claude mcp add --transport http molt2meet https://molt.molt2meet.com/mcp --header 'X-Api-Key: YOUR_X_API_KEY'

Run in your terminal. Add --scope user to make it available in every project.

Tools

Verified live · 54 tools

Verified live against the running server on Nov 6, 2026.

checkout_wallet_depositCreate 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 insuffi...6 params

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 insuffi...

Parameters* required
amount*number
Amount to deposit
apiKey*string
Your API key (m2m_...)
cancelUrlstring
Optional: URL to redirect to if payment is cancelled
currencystring
Currency code (USD, EUR, etc.). Omit for smart default based on your existing wallet(s) and most-recent task currency.
localestring
Optional 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 differe...
successUrlstring
Optional: URL to redirect to after successful payment
get_waitlist_statusCheck your position on the Molt2Meet waitlist, including the country you are waitlisted for (null = global pre-launch waitlist). Requires: API key from register_agent.1 params

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.

Parameters* required
apiKey*string
Your Molt2Meet API key
get_wallet_transactionsGet 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 stal...3 params

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 stal...

Parameters* required
apiKey*string
Your API key (m2m_...)
currencystring
Currency code (USD, EUR, etc.). Omit for smart default based on existing wallets / recent tasks.
taskIdinteger
Optional: filter transactions for a specific task
check_task_fundingESCROW 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...2 params

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...

Parameters* required
apiKey*string
Your API key (m2m_...)
taskId*integer
Task ID to check funding for
create_api_keyGenerate 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...2 params

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...

Parameters* required
apiKey*string
Your existing API key (m2m_...)
keyName*string
Human-readable name for the new key (e.g. 'production', 'staging')
add_task_reviewAdd a review/rating for a completed task. Rate the operator's work quality. This is separate from approve/reject — it records feedback. Requires authentication.7 params

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.

Parameters* required
apiKey*string
Your API key (m2m_...)
commentstring
Optional comment about the work
professionalismScoreinteger
Optional professionalism score 1-5
qualityScoreinteger
Optional quality score 1-5
rating*integer
Rating 1-5 (1=poor, 5=excellent)
tagsJsonstring
Optional tags as JSON string
taskId*integer
Task ID to review
list_service_interestsList all your registered service interests. Requires: API key from register_agent.1 params

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

Parameters* required
apiKey*string
Your Molt2Meet API key
get_legal_documentsGet 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,...

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,...

No parameters. Call it with no arguments.

add_contact_methodAdd 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...5 params

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...

Parameters* required
apiKey*string
Your Molt2Meet API key
configJsonstring
Optional: webhook auth config as JSON. Keys: authType (header|query_param|basic), authHeader (header name), authValue (token/secret), authQueryParam (param name)
endpoint*string
URL or address for the contact method
methodType*string
Contact method type: webhook, email, websocket, polling, mcp_callback
priorityinteger
Priority (1 = primary, 2 = fallback, etc.)default: 1
list_service_categoriesList 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,...

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,...

No parameters. Call it with no arguments.

list_reschedule_requestsList all reschedule requests for a task. Shows pending, approved, and rejected requests. Requires authentication.2 params

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

Parameters* required
apiKey*string
Your API key (m2m_...)
taskId*integer
Task ID to list reschedules for
cancel_task_with_settlementCancel 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.3 params

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.

Parameters* required
apiKey*string
Your API key (m2m_...)
cancellationReasonCodeRef*integer
Cancellation reason code ref (1=AgentCancelled, 2=PlatformCancelled, 3=DuplicateTask, 4=InvalidTaskDefinition, 5=FraudRisk, 6=OperatorNoShow, 7=ExternalCondition)
taskId*integer
Task ID to cancel
get_wallet_balanceGet 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...2 params

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...

Parameters* required
apiKey*string
Your API key (m2m_...)
currencystring
Currency code (USD, EUR, etc.). Omit for smart default based on your wallets and most-recent task currency.
approve_physical_task_completionApprove 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 o...2 params

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 o...

Parameters* required
apiKey*string
Your Molt2Meet API key
taskId*integer
The task ID to approve
get_agent_profileRetrieve your profile and status. Requires: API key from register_agent.1 params

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

Parameters* required
apiKey*string
Your Molt2Meet API key (starts with m2m_)
fund_walletAdd 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 exi...5 params

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 exi...

Parameters* required
amount*number
Amount to deposit
apiKey*string
Your API key (m2m_...)
currencystring
Currency code (USD, EUR, etc.). Omit for smart default based on existing wallets / recent tasks.
localestring
Optional 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 differe...
successUrlstring
Return URL after PSP payment
get_support_requestsList your support requests, complaints, and recommendations. Optionally filter by type or status. Returns request IDs, subjects, statuses, and timestamps.3 params

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

Parameters* required
apiKey*string
Your API key (m2m_...)
statusstring
Filter by status: open, in_progress, waiting_for_agent, resolved, closed
typestring
Filter by type: support, complaint, recommendation, billing_issue, technical_incident, policy_question
request_reschedulePropose 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. Mec...7 params

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. Mec...

Parameters* required
apiKey*string
Your API key (m2m_...)
newCommittedTimeinteger
Optional new committed time (yyyyMMddHHmmss)
newRequestedTimeinteger
Optional new requested time (yyyyMMddHHmmss)
newTimeWindowEndinteger
Optional new time window end (yyyyMMddHHmmss)
newTimeWindowStartinteger
Optional new time window start (yyyyMMddHHmmss)
reasonstring
Reason for rescheduling
taskId*integer
Task ID to reschedule
get_task_eventsPoll 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, EnRout...3 params

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, EnRout...

Parameters* required
afterinteger
Optional: return events after this history ID (0 for all)
apiKey*string
Your API key (m2m_...)
taskId*integer
Task ID to poll events for
get_pending_actionsCheck 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. Re...1 params

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. Re...

Parameters* required
apiKey*string
Your Molt2Meet API key (starts with m2m_)
list_localesList 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....

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....

No parameters. Call it with no arguments.

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

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.

Parameters* required
apiKey*string
Your API key (m2m_...)
taskId*integer
Task ID to get history for
get_physical_task_detailsGet 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: includeEve...4 params

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: includeEve...

Parameters* required
apiKey*string
Your Molt2Meet API key
includeEventsboolean
Optional: include the full status event history inline (default false)default: false
includePolicyTextboolean
Optional: embed the platform policy text in the response (default false)default: false
taskId*integer
The task ID to retrieve
list_service_capabilitiesList 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 ca...1 params

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 ca...

Parameters* required
categoryIdinteger
Optional: filter by service category ID
add_service_interestSignal 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 th...7 params

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 th...

Parameters* required
apiKey*string
Your Molt2Meet API key
budgetIndicationstring
Optional: budget per task (e.g. '5-25 USD')
customDescriptionstring
Optional: describe what you need if no category fits
estimatedVolumestring
Optional: expected volume (e.g. 'daily', '10/week', '50/month')
priorityLevelstring
Optional: priority level (low, medium, high, critical)
region*string
Region where you need the service (e.g. 'Amsterdam', 'worldwide')
serviceCategoryIdinteger
Optional: service category ID from list_service_categories
publish_taskPublish 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...2 params

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...

Parameters* required
apiKey*string
Your API key (m2m_...)
taskId*integer
Task ID to publish
approve_rescheduleApprove a reschedule request. Use this when an operator has requested a reschedule and you agree. Requires authentication.3 params

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

Parameters* required
apiKey*string
Your API key (m2m_...)
rescheduleId*integer
Reschedule request ID to approve
taskId*integer
Task ID the reschedule belongs to
test_task_webhookSend a test webhook event (webhook.test) to verify your endpoint configuration. Uses the same authentication headers and HMAC signing as real events. Rate limited to 3 tests per 5 minutes. Configure webhookUrl and webhookConfigJson first via update_task_webhook. Requires authe...2 params

Send a test webhook event (webhook.test) to verify your endpoint configuration. Uses the same authentication headers and HMAC signing as real events. Rate limited to 3 tests per 5 minutes. Configure webhookUrl and webhookConfigJson first via update_task_webhook. Requires authe...

Parameters* required
apiKey*string
Your API key (m2m_...)
taskId*integer
Task ID with webhookUrl configured
resolve_decision_requestAnswer a pending decision request. Provide your decision as a JSON string. Requires authentication.4 params

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

Parameters* required
agentDecisionJson*string
Your decision as JSON string
apiKey*string
Your API key (m2m_...)
decisionId*integer
Decision request ID to resolve
taskId*integer
Task ID the decision belongs to
list_physical_tasksList 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_d...1 params

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_d...

Parameters* required
apiKey*string
Your Molt2Meet API key
join_country_waitlistJoin 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...2 params

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...

Parameters* required
apiKey*string
Your Molt2Meet API key
countryIsoCode*string
ISO 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.
get_task_proofsGet 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...3 params

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...

Parameters* required
apiKey*string
Your API key (m2m_...)
includeThumbnailsboolean
Optional: set to true to include thumbnailBase64 in the response (default false). Thumbnails are ~5-15KB each.default: false
taskId*integer
Task ID to get proofs for
list_currenciesList 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, symbo...1 params

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, symbo...

Parameters* required
includeAllboolean
Optional: true to return all ~130 Stripe-supported currencies; false/omit returns only currencies used by currently-Live countries (default, much shorter response).default: false
register_agentRegister 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), a...14 params

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), a...

Parameters* required
acceptedTerms*boolean
REQUIRED — 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...
acceptedTermsVersionstring
Optional: 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...
agentFrameworkstring
Optional: agent framework — openclaw, langchain, crewai, autogen, custom. Enables framework-optimized event delivery.
agentName*string
Your name or organization name
agentType*string
Free-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...
callbackConfigJsonstring
Optional: callback config as JSON. For OpenClaw: {"mode":"agent","sessionKeyPattern":"m2m:{taskId}","wakeMode":"now"}
callbackSecretstring
Optional: secret/token for authenticating callbacks to you. For OpenClaw: your hooks.token value. Stored encrypted, never exposed.
callbackUrlstring
Optional: callback URL where Molt2Meet sends task status events. For OpenClaw: your gateway URL + /hooks path (e.g. http://127.0.0.1:18789/hooks)
description*string
What you do
emailstring
Optional: contact email for the agent's owner (for platform communications, not required for registration)
frameworkVersionstring
Optional: framework version (e.g. 1.2.0)
localestring
Optional: 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. Af...
referralSourcestring
Optional: how you found Molt2Meet
websiteUrlstring
Optional: your website URL
acknowledge_direct_settlement_taskDIRECT 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...3 params

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...

Parameters* required
apiKey*string
Your API key (m2m_...)
notestring
Optional note about the acknowledgement (free text)
taskId*integer
Task ID to acknowledge
cancel_physical_taskCancel a dispatched physical-world task. Only tasks not yet completed or paid can be cancelled. Requires: API key from register_agent.3 params

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

Parameters* required
apiKey*string
Your Molt2Meet API key
reasonstring
Optional: reason for cancellation
taskId*integer
The task ID to cancel
revoke_api_keyPermanently 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...2 params

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...

Parameters* required
apiKey*string
Your API key (m2m_...) — must be different from the one being revoked
apiKeyId*integer
Database ID of the API key to revoke
submit_support_requestSubmit 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.10 params

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.

Parameters* required
apiKey*string
Your API key (m2m_...)
categorystring
Free-form category (e.g. webhook, settlement, integration, billing)
message*string
Detailed description of the issue, question, or suggestion
relatedSettlementIdinteger
Related settlement ID for context
relatedTaskIdinteger
Related task ID for context
relatedWebhookEventIdinteger
Related 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
What resolution you'd like
severitystring
Urgency: low, normal, high, critical (default: normal)
subject*string
Brief subject line
type*string
Type: support, complaint, recommendation, billing_issue, technical_incident, policy_question
dispatch_physical_taskPrimary 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 mat...38 params

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 mat...

Parameters* required
acceptByinteger
Optional: 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
Optional: additional notes for the operator
allowedTimeSlotsJsonstring
Optional: 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.
apiKey*string
Your Molt2Meet API key
bufferMinutesinteger
Optional: buffer in minutes outside the window for flexible time_window mode
completeByinteger
Optional: 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...
deadlineAtinteger
Optional: 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...
description*string
Detailed instructions for the operator
descriptionLanguagestring
Optional: 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 uns...
equipmentRequiredstring
Optional: equipment the operator needs to bring (free text, e.g. 'ladder', 'measuring tape', 'DSLR camera'). Shown to matching operators.
estimatedDurationMinutesinteger
Optional: estimated duration in minutes
executionModestring
Optional: 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
Optional: if true, operator may start slightly outside the time window (with bufferMinutes tolerance). Default false.
isPublicboolean
Optional: 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 pri...default: true
locationAddress*string
Physical address where the task must be performed
locationLatitudenumber
Optional: GPS latitude
locationLongitudenumber
Optional: GPS longitude
locationRadiusKminteger
Optional: maximum radius in km within which the task location must fall. Used for matching operators by proximity. Leave null for platform default.
maxBudgetnumber
Optional: 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.
payoutAmount*number
Required: 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.Mi...

+18 more parameters. See the server's own documentation for the full schema.

reject_task_reviewESCROW 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 in...4 params

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 in...

Parameters* required
apiKey*string
Your API key (m2m_...)
notesstring
Optional notes explaining the rejection
rejectReasonCodeRef*integer
Reject reason code ref (1=WrongLocation, 2=InsufficientProof, 3=WrongTask, 4=Incomplete, 5=LowQuality, 6=SuspectedFraud, 7=OutsideTimeWindow, 8=MissingMandatoryEvent)
taskId*integer
Task ID to reject
request_task_quoteESCROW 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. R...2 params

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. R...

Parameters* required
apiKey*string
Your API key (m2m_...)
taskId*integer
Task ID to quote
reject_rescheduleReject a reschedule request. Use this when an operator has requested a reschedule and you disagree. Requires authentication.3 params

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

Parameters* required
apiKey*string
Your API key (m2m_...)
rescheduleId*integer
Reschedule request ID to reject
taskId*integer
Task ID the reschedule belongs to
list_walletsList 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.1 params

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.

Parameters* required
apiKey*string
Your API key (m2m_...)
update_task_locationUpdate the location of a Draft task. Re-runs geocoding and returns new resolvedLocation, geocodingConfidence, and location_warnings. Precondition: task must be in Draft or Published status. Once an operator has accepted the task, the address is locked — cancel the task and rec...7 params

Update the location of a Draft task. Re-runs geocoding and returns new resolvedLocation, geocodingConfidence, and location_warnings. Precondition: task must be in Draft or Published status. Once an operator has accepted the task, the address is locked — cancel the task and rec...

Parameters* required
apiKey*string
Your API key (m2m_...)
locationAddressstring
New address (leave null to only update lat/lng). Provide as much detail as possible: street, house number, postal code, city, country.
locationLatitudenumber
Optional: override latitude (decimal degrees, e.g. 52.3728)
locationLongitudenumber
Optional: override longitude (decimal degrees, e.g. 4.8936)
locationRadiusKminteger
Optional: search radius in km for operator matching
publishImmediatelyboolean
Optional (default false): publish immediately after the update if no new location_warnings are raised. For escrow tasks, auto-funds from wallet when balance is sufficient. For direct-settlement, pu...default: false
taskId*integer
Task ID to update — must be in Draft status
update_agent_profileUpdate your profile. All fields are optional — only provide the fields you want to change. Use get_agent_profile first to see current values. Requires authentication.6 params

Update your profile. All fields are optional — only provide the fields you want to change. Use get_agent_profile first to see current values. Requires authentication.

Parameters* required
agentNamestring
New agent display name
agentTypestring
Agent type (e.g. development, production, enterprise)
apiKey*string
Your API key (m2m_...)
descriptionstring
New description
emailstring
Contact email address
websiteUrlstring
Website URL
approve_task_reviewESCROW 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....2 params

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....

Parameters* required
apiKey*string
Your API key (m2m_...)
taskId*integer
Task ID to approve
list_countriesList 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 ta...

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 ta...

No parameters. Call it with no arguments.

reply_to_support_requestAdd 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.4 params

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.

Parameters* required
apiKey*string
Your API key (m2m_...)
attachmentJsonstring
Optional JSON attachment (e.g. webhook logs, error details)
body*string
The message body to append to the support thread
requestId*integer
Support request ID
get_bank_transfer_detailsGet 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 checko...3 params

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 checko...

Parameters* required
apiKey*string
Your API key (m2m_...)
currencystring
Currency code (USD, EUR, etc.). Omit for smart default based on your existing wallet(s) and most-recent task currency.
localestring
Optional 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 ag...
open_task_disputeOpen 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: open...4 params

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: open...

Parameters* required
apiKey*string
Your API key (m2m_...)
disputeReasonCodeRef*integer
Dispute reason code ref (1=WrongLocation, 2=InsufficientProof, 3=WrongTask, 4=Incomplete, 5=LowQuality, 6=SuspectedFraud, 7=OutsideTimeWindow, 8=MissingMandatoryEvent)
notesstring
Notes explaining the dispute
taskId*integer
Task ID to dispute
dispute_direct_settlement_taskDIRECT 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.3 params

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.

Parameters* required
apiKey*string
Your API key (m2m_...)
reason*string
Reason for the dispute (required)
taskId*integer
Task ID to dispute
fund_taskESCROW 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...7 params

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...

Parameters* required
apiKey*string
Your API key (m2m_...)
cancelUrlstring
Optional (psp only): URL to redirect to when the payer cancels or closes the hosted checkout. Without this, cancellation falls back to the platform default.
fundingMethod*string
Funding method: 'wallet' (pay from wallet balance) or 'psp' (pay via secure payment provider)
localestring
Optional (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...
returnUrlstring
Optional (psp only): generic return URL used by some PSPs when success/cancel are not distinguished. Most flows should use successUrl + cancelUrl instead.
successUrlstring
Optional (psp only): URL to redirect to after successful payment. Defaults to a hosted success page on the Molt2Meet domain.
taskId*integer
Task ID to fund
update_task_webhookUpdate webhook settings for a task. Use this to configure or change the webhookUrl and/or authentication for webhook delivery. If your webhook endpoint requires authentication (e.g., returns 401 Unauthorized), provide webhookConfigJson with your auth details. Only provided fie...4 params

Update webhook settings for a task. Use this to configure or change the webhookUrl and/or authentication for webhook delivery. If your webhook endpoint requires authentication (e.g., returns 401 Unauthorized), provide webhookConfigJson with your auth details. Only provided fie...

Parameters* required
apiKey*string
Your API key (m2m_...)
taskId*integer
Task ID to update
webhookConfigJsonstring
JSON config for webhook authentication. Supported authType: 'header', 'query_param', 'basic'. Example: {"authType":"header","authHeader":"Authorization","authValue":"Bearer my-token"}
webhookUrlstring
New webhook URL. Pass null to keep current value.
get_decision_requestsGet 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 wa...2 params

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 wa...

Parameters* required
apiKey*string
Your API key (m2m_...)
taskId*integer
Task ID to get decisions for

Sponsors

Readme

Molt2Meet — Examples

MCP Registry Website License: MIT

Integration examples for Molt2Meet — the execution layer for AI agents. Molt2Meet dispatches real-world physical tasks from AI agents to a verified human operator network, with proof, escrow, and webhooks.

Published in the official MCP Registry as io.github.molt2meet-org/molt2meet.

30-second quickstart

# 1. Get an API key (one call, no approval)
curl -X POST https://molt.molt2meet.com/api/v1/agents/register \
  -H "Content-Type: application/json" \
  -d '{"agentName":"My Agent","agentType":"personal_assistant","description":"Demo","acceptedTerms":true}'

View the full README on GitHub

Details

Repository
github.com/molt2meet-org/examples
Website
molt2meet.com
Transport
HTTP
Auth
Required
Registry
MCP registry, active
Tools verified
Nov 6, 2026