Skip to main content
Glama

Initiate Pay-Per-CV Purchase

civify_purchase_cv_pass

Initiate checkout for a Pay-Per-CV unlock pass (single CV or 3-pack). Returns payment URL, invoice ID, and amount.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
methodNoPayment method: 'CARD' or 'WALLET'.CARD
gatewayNoPayment gateway ('paymob', 'fawaterak', 'dodo'). Auto-resolved by region if omitted.
resume_idNoOptional resume ID to immediately bind the single-pass entitlement to.
product_idNoProduct to purchase: 'PAY_PER_CV_SINGLE' ($2.99 / ~150 EGP) or 'PAY_PER_CV_PACK3' ($6.99 / ~350 EGP).PAY_PER_CV_SINGLE
promo_codeNoOptional discount promo code.
phone_numberNoMobile wallet number (required for Egyptian mobile wallets like Vodafone Cash).

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
dataYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • removedInput schema / properties / api_key
      Removed value: -{
      -  "description": "Optional API key override.",
      -  "type": "string"
      -}
  2. Changed8 schema fields changed
    • removedOutput schema / properties / amount
      Removed value: -{
      -  "description": "Total charge amount",
      -  "type": "number"
      -}
    • removedOutput schema / properties / currency
      Removed value: -{
      -  "description": "Charge currency code (USD or EGP)",
      -  "type": "string"
      -}
    • addedOutput schema / properties / data
      Added value: +{}
    • removedOutput schema / properties / gateway
      Removed value: -{
      -  "description": "Assigned payment gateway (paymob, fawaterak, dodo)",
      -  "type": "string"
      -}
    • removedOutput schema / properties / invoiceId
      Removed value: -{
      -  "description": "Unique transaction invoice reference",
      -  "type": "string"
      -}
    • removedOutput schema / properties / paymentUrl
      Removed value: -{
      -  "description": "Direct checkout or payment redirect URL",
      -  "type": "string"
      -}
    • removedOutput schema / properties / status
      Removed value: -{
      -  "description": "Initial order status (PENDING)",
      -  "type": "string"
      -}
    • changedOutput schema / required
      Previous value: -[
      -  "invoiceId",
      -  "paymentUrl"
      -]New value: +[
      +  "data"
      +]
  3. First observed

TDQS

A3.8/5.0
Behavior3/5

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

Annotations declare readOnlyHint=false and idempotentHint=false, so the agent already knows this is a mutating, non-idempotent operation. The description adds that the tool returns a payment URL, invoice ID, and amount, providing some outcome transparency. However, it does not disclose side effects such as creating a pending order, whether a charge is actually made, or whether the URL must be completed by the user, which would be valuable for a purchase flow.

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

Conciseness5/5

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

The description consists of two concise sentences that front-load the core action and immediately state the key return values. There is no redundant information or filler, and every word contributes to understanding the tool's function.

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?

Given the tool's moderate complexity, the presence of a full output schema, complete parameter descriptions, and annotations covering the mutating/non-idempotent nature, the description is largely sufficient for an agent to select and invoke it correctly. It communicates the essential purpose and outputs, though a brief note about the external payment flow or when a wallet phone number is mandatory could make it fully complete.

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 100%, so every parameter already has a description in the schema, establishing a baseline of 3. The tool description itself does not add further parameter-level meaning beyond noting the single vs. 3-pack options, which mirrors the product_id enum. No additional clarification is given for gateway auto-resolution, promo code behavior, or wallet phone-number requirements.

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?

The description uses a specific verb and resource ('Initiate checkout for a Pay-Per-CV unlock pass'), and explicitly mentions the single or 3-pack variants, which maps directly to the product_id enum. This clearly distinguishes the purchase action from sibling tools like get_pay_per_cv_pricing or check_cv_entitlement, even without naming them.

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

Usage Guidelines3/5

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

The description implies usage by stating the action and its result, but it does not explicitly say when to use this tool versus alternatives, nor does it mention any exclusions or prerequisites. There is no guidance such as 'if you only need pricing, use get_pay_per_cv_pricing' or 'requires an authenticated account', leaving the timing of use to inference.

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.

Resources