Skip to main content
Glama

submit_task

Submit an account verification task to a real human operator. Use this when your agent is blocked on something only a real person can complete — a KYC check, a platform sign-in or 2FA prompt, a CAPTCHA, an identity confirmation, or any verification step that requires a human. The task is charged automatically via Stripe ($39). A vetted operator claims it, performs the verification on real hardware, and returns the result (with optional screenshot) to your callback_url or via get_task_status. Typical completion: 30 minutes.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
task_typeYesaccount_verification — a real human verifies an account, KYC check, sign-in, or CAPTCHA on real hardware and returns structured proof ($39).
callback_urlNoWebhook URL to receive a POST request with the task result when completed. Recommended for async agent workflows. If omitted, poll get_task_status instead.
instructionsYesStructured input for account_verification. Required fields: platform (e.g. 'gmail', 'stripe'), url (where to perform the verification), credentials (login info or how to obtain the code), what_to_verify (what the operator must confirm). Optional: screenshot_required (boolean, default true), additional_notes.
deadline_minutesYesTime in minutes the operator has to complete the verification after claiming it. Minimum 20. Recommended: 30.
payment_credentialNoStripe Link Agent Wallet Single-use Payment Token (SPT) for fully autonomous agent payments with no human intervention required. Omit if the developer account has a saved card on file.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
statusYesCurrent task status
messageNoConfirmation or error message
task_idYesUnique identifier for the submitted task
estimated_completionNoEstimated completion time based on deadline_minutes

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Changed4 schema fields changed
    • changedInput schema / properties / deadline_minutes / description
      Previous value: -"Time in minutes the operator has to complete the task after claiming it. Minimum 20. Recommended: 60 for phone calls, 120 for videos, 30 for form filling."New value: +"Time in minutes the operator has to complete the verification after claiming it. Minimum 20. Recommended: 30."
    • changedInput schema / properties / instructions / description
      Previous value: -"Task-specific structured input. Fields vary by task_type. For phone_call: phone_number, identity, objective, language, attempts. For ugc_video: script, tone, location, frame, duration, language. For form_filling: form_url, fields object. For account_verification: platform, url, credentials, what_to_verify. For authentic_posting: platform, content, scheduled_time, account_access. For lead_enrichment: leads (array of objects), fields_needed (array of strings), instructions."New value: +"Structured input for account_verification. Required fields: platform (e.g. 'gmail', 'stripe'), url (where to perform the verification), credentials (login info or how to obtain the code), what_to_verify (what the operator must confirm). Optional: screenshot_required (boolean, default true), additional_notes."
    • changedInput schema / properties / task_type / description
      Previous value: -"The type of human task to request. ugc_video: face-cam video recorded by a real creator ($99). phone_call: a real human makes or receives a phone call ($49). account_verification: identity or account verification with optional screenshot ($39). form_filling: forms requiring authentic human input ($39). authentic_posting: real posts on Instagram, TikTok, Twitter, or LinkedIn ($29). lead_enrichment: a human researcher finds requested fields (email, phone, LinkedIn URL, job title) for a list of leads and returns structured data ($29)."New value: +"account_verification — a real human verifies an account, KYC check, sign-in, or CAPTCHA on real hardware and returns structured proof ($39)."
    • changedInput schema / properties / task_type / enum
      Previous value: -[
      -  "ugc_video",
      -  "phone_call",
      -  "form_filling",
      -  "account_verification",
      -  "authentic_posting",
      -  "lead_enrichment"
      -]New value: +[
      +  "account_verification"
      +]
  2. Changed3 schema fields changed
    • changedInput schema / properties / instructions / description
      Previous value: -"Task-specific structured input. Fields vary by task_type. For phone_call: phone_number, identity, objective, language, attempts. For ugc_video: script, tone, location, frame, duration, language. For form_filling: form_url, fields object. For account_verification: platform, url, credentials, what_to_verify. For authentic_posting: platform, content, scheduled_time, account_access."New value: +"Task-specific structured input. Fields vary by task_type. For phone_call: phone_number, identity, objective, language, attempts. For ugc_video: script, tone, location, frame, duration, language. For form_filling: form_url, fields object. For account_verification: platform, url, credentials, what_to_verify. For authentic_posting: platform, content, scheduled_time, account_access. For lead_enrichment: leads (array of objects), fields_needed (array of strings), instructions."
    • changedInput schema / properties / task_type / description
      Previous value: -"The type of human task to request. ugc_video: face-cam video recorded by a real creator ($99). phone_call: a real human makes or receives a phone call ($49). account_verification: identity or account verification with optional screenshot ($39). form_filling: forms requiring authentic human input ($39). authentic_posting: real posts on Instagram, TikTok, Twitter, or LinkedIn ($29)."New value: +"The type of human task to request. ugc_video: face-cam video recorded by a real creator ($99). phone_call: a real human makes or receives a phone call ($49). account_verification: identity or account verification with optional screenshot ($39). form_filling: forms requiring authentic human input ($39). authentic_posting: real posts on Instagram, TikTok, Twitter, or LinkedIn ($29). lead_enrichment: a human researcher finds requested fields (email, phone, LinkedIn URL, job title) for a list of leads and returns structured data ($29)."
    • changedInput schema / properties / task_type / enum
      Previous value: -[
      -  "ugc_video",
      -  "phone_call",
      -  "form_filling",
      -  "account_verification",
      -  "authentic_posting"
      -]New value: +[
      +  "ugc_video",
      +  "phone_call",
      +  "form_filling",
      +  "account_verification",
      +  "authentic_posting",
      +  "lead_enrichment"
      +]
  3. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "estimated_completion": {
      +      "description": "Estimated completion time based on deadline_minutes",
      +      "type": "string"
      +    },
      +    "message": {
      +      "description": "Confirmation or error message",
      +      "type": "string"
      +    },
      +    "status": {
      +      "description": "Current task status",
      +      "enum": [
      +        "pending",
      +        "in_progress",
      +        "pending_review",
      +        "completed",
      +        "disputed"
      +      ],
      +      "type": "string"
      +    },
      +    "task_id": {
      +      "description": "Unique identifier for the submitted task",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "task_id",
      +    "status"
      +  ],
      +  "type": "object"
      +}
  4. Changed5 schema fields changed
    • changedInput schema / properties / callback_url / description
      Previous value: -"URL to POST the result to when the task is completed"New value: +"Webhook URL to receive a POST request with the task result when completed. Recommended for async agent workflows. If omitted, poll get_task_status instead."
    • changedInput schema / properties / deadline_minutes / description
      Previous value: -"Minutes the operator has to complete the task after claiming"New value: +"Time in minutes the operator has to complete the task after claiming it. Minimum 20. Recommended: 60 for phone calls, 120 for videos, 30 for form filling."
    • changedInput schema / properties / instructions / description
      Previous value: -"Structured instructions for the operator based on task_type"New value: +"Task-specific structured input. Fields vary by task_type. For phone_call: phone_number, identity, objective, language, attempts. For ugc_video: script, tone, location, frame, duration, language. For form_filling: form_url, fields object. For account_verification: platform, url, credentials, what_to_verify. For authentic_posting: platform, content, scheduled_time, account_access."
    • changedInput schema / properties / payment_credential / description
      Previous value: -"Stripe Link Agent Wallet SPT for autonomous payment"New value: +"Stripe Link Agent Wallet Single-use Payment Token (SPT) for fully autonomous agent payments with no human intervention required. Omit if the developer account has a saved card on file."
    • changedInput schema / properties / task_type / description
      Previous value: -"Type of task to assign to a human operator"New value: +"The type of human task to request. ugc_video: face-cam video recorded by a real creator ($99). phone_call: a real human makes or receives a phone call ($49). account_verification: identity or account verification with optional screenshot ($39). form_filling: forms requiring authentic human input ($39). authentic_posting: real posts on Instagram, TikTok, Twitter, or LinkedIn ($29)."
  5. First observed

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond annotations (readOnlyHint=false etc.), description discloses automatic Stripe charge ($39), human operator workflow, async result delivery via callback or get_task_status, and typical 30-minute completion. This adds meaningful side-effect and latency context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Starts with a one-sentence purpose, followed by when-to-use list and process details. It is compact and information-dense, though slightly longer than strictly necessary.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Combined with a rich schema and output schema, the description covers trigger conditions, cost, execution flow, delivery method, and timing. No critical gaps for an agent deciding to submit a human-verification task.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema has 100% parameter description coverage, including nested `instructions` and `payment_credential`. The description only adds the overall cost and result-delivery flow, not new per-parameter meaning, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description opens with a specific verb+resource ('Submit ... account verification task to a real human operator') and enumerates exact use cases (KYC, sign-in, CAPTCHA). This clearly distinguishes it from siblings get_task_status and review_task.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use ('when your agent is blocked on something only a real person can complete') and gives concrete examples. It does not provide explicit exclusions or contrast with review_task, but the guidance is unambiguous.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.5/5.0
Disambiguation5/5

Each tool serves a distinct stage in the task lifecycle: submit creates a task, get_task_status polls it, and review acts on the pending_review outcome. There is no overlap or ambiguity between them.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern (submit_task, get_task_status, review_task) with clear, specific verbs and the same domain object. This is a model of naming consistency.

Tool Count5/5

Three tools is the ideal number for this server's narrow purpose—submitting, monitoring, and reviewing human tasks. Each tool is necessary and there are no redundant or missing tools.

Completeness5/5

The toolset fully covers the workflow: task creation, status polling, and final approval/dispute resolution. The documented auto-approval mechanism fills any edge case, leaving no obvious functional gaps.

Resources