Skip to main content
Glama

Corply — Start and run your company

Check formation fee payment

await_payment

Wait for the incorporation payment to land, read from Corply's own payment records (the founder pays on the Corply Pay checkout page). Returns {status: 'paid'|'processing'|'pending'|'failed'|'expired'|'unpaid'}. Call it in a LOOP while it returns 'pending'; signatures precede payment, but submit_for_formation requires both on the current revision. 'processing' → a bank (ACH) payment is clearing, usually about 4 business days: STOP calling, tell the founder state filing starts after it clears and Corply emails them, never request another payment, and check get_status later. 'failed' → the card or bank declined the payment or the bank debit was returned; with the founder's approval run request_payment again so they can use another card or bank account. 'expired' → run request_payment again and share the checkout link. 'unpaid' → the founder has not paid yet; share the checkout link from request_payment. Each call waits at most ~8 seconds by design — long-held requests get killed by the gateway. A 'pending' result includes retryAfterSeconds. Prerequisite: authenticated active company access plus every prerequisite stated above. Canonicality: invokes the shared backend action; trust the returned actual_tool_output and context_engineering instead of adding a state-recovery call. Idempotency: obey the tool-specific retry key or guarantee; if none is stated, inspect refreshed state before retrying. Confirmation boundary: no additional confirmation is needed for this read, reversible save, explicit fact/evidence record, link preparation, plan refresh, or action pre-authorized by a standing founder-configured policy.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
formationIdYes
maxWaitSecondsNoSeconds to wait before returning (ceiling ~10s — the gateway kills longer-held requests).
_corply_contextNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • removedInput schema / properties / _corply_context / description
      Removed value: -"Echo context_engineering.context_session from the prior Corply result."
  2. Changed1 schema field changed
    • addedInput schema / properties / _corply_context
      Added value: +{
      +  "additionalProperties": false,
      +  "dependentRequired": {
      +    "receipt": [
      +      "id"
      +    ]
      +  },
      +  "description": "Echo context_engineering.context_session from the prior Corply result.",
      +  "properties": {
      +    "id": {
      +      "maxLength": 200,
      +      "minLength": 16,
      +      "type": "string"
      +    },
      +    "receipt": {
      +      "maxLength": 2048,
      +      "minLength": 16,
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
  3. Changed2 schema fields changed
    • addedInput schema / properties / maxWaitSeconds / description
      Added value: +"Seconds to wait before returning (ceiling ~10s — the gateway kills longer-held requests)."
    • changedInput schema / properties / maxWaitSeconds / maximum
      Previous value: -55New value: +10
  4. Added

TDQS

A4.4/5.0
Behavior4/5

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

Adds rich non-obvious behavior: each call self-limits to ~8s because the gateway kills long-held requests, 'pending' returns retryAfterSeconds, and 'processing' means an ACH clearing over ~4 business days. Annotations already cover the safety profile (readOnlyHint=false, destructiveHint=false, openWorldHint=true). Minor tension: the description frames this as 'a read' while readOnlyHint is false, but this is a conservative annotation rather than a stated contradiction.

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?

Front-loads the core action and per-status handling, and most sentences carry real information. The trailing Prerequisite/Canonicality/Idempotency/Confirmation-boundary block is largely generic boilerplate that dilutes rather than adds tool-specific value.

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

Completeness5/5

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

With no output schema, the description supplies the full status enum and what each value means, plus prerequisites and canonicality guidance. An agent has everything needed to poll correctly and interpret results.

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?

Schema description coverage is only 33%, so the description should compensate more than it does. It implies formationId (the incorporation payment) and the ~8s wait behind maxWaitSeconds, but never explains _corply_context or confirm the required parameter's meaning. Adequate but leaves the nested context object undocumented.

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?

States a specific verb and resource: waits for the incorporation payment to land and reads from Corply's own payment records. It clearly distinguishes itself from siblings like get_payment_pipeline_status, list_payment_requests, and request_payment, which it explicitly routes to.

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

Usage Guidelines5/5

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

Gives per-state instructions that leave nothing to inference: loop while 'pending', STOP on 'processing', re-run request_payment on 'failed'/'expired', share the checkout link on 'unpaid'. Explicit when-to-use, when-to-stop, and named alternative tools.

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.