MCP server for creating and managing payment links and transactions through Paytm payment gateway
Server has 3 tools with basic definitions but significant quality gaps. Tool names are action-verb based (create_, fetch_), which is good. However, descriptions are verbose and contain instruction text meant for LLMs (e.g., 'please ask from the user don't assume any fields'), which should not appear in tool definitions. Parameter schemas are present but incomplete: create_payment_link has 'amount' typed as string instead of float/number, and conditional requirements (customer_email OR customer_mobile) are documented in prose rather than schema constraints. Output schemas are not documented, tools return untyped strings or lists without field definitions. Error handling is minimal; tools catch exceptions and return str(e), providing no recovery guidance. No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite create_payment_link being a write operation.
Create a new payment link for receiving payments. This operation generates a unique payment link that can be shared with customers for accepting payments. The link can be customized with recipient details, purpose, customer details and amount. Required Parameters: recipient_name (str): Name of the person or entity receiving the payment purpose (str): Description or reason for the payment customer_email (str): Email address of the customer customer_mobile (str): Mobile number of the customer Either customer_email or customer_mobile must be provided if else please ask from the user Optional Parameters: amount (float): Fixed amount for the payment Note: - Amount can be left optional for customer to decide - Generated link will be valid according to system's expiry settings - Please ask all the required fields from the user don't assume any fields IMPORTANT NOTE: - if user is not providing customer_email or customer_mobile, please ask for the same don't call any tool before asking for the same
Retrieve all payment links created by the merchant. This operation returns a comprehensive list of all payment links created, including both active and expired links. Each link entry contains details such as: - Link ID - Link Name - Short URL - Status - Creation Date - Expiry Date Returns: List[PaymentLink]: A list of PaymentLink objects containing link details str: Error message in case of failure
Retrieve all transactions associated with a specific payment link. This operation provides detailed transaction history for a given payment link, including successful and failed transactions. Parameters: link_id (str): Unique identifier of the payment link Returns: List[Transaction]: List of transactions containing details such as: - Transaction ID - Order ID - Amount - Status - Completion Time - Customer Contact Information str: Error message in case of failure
Tool descriptions contain instruction text ('please ask from the user', 'don't assume any fields') meant for LLM prompts, not tool definitions. Descriptions should state WHAT the tool does, not HOW the LLM should use it.
Parameter 'amount' in create_payment_link is typed as string but semantically is a float/number. Type mismatch causes LLMs to pass quoted numbers ('100' instead of 100), breaking downstream validation.
Conditional parameter requirement (customer_email OR customer_mobile) is documented in prose but not enforced in schema. LLMs cannot parse this constraint and may omit both or pass invalid combinations.
Output schemas are not documented. fetch_payment_links and fetch_transactions_for_link return List[PaymentLink] and List[Transaction] objects, but field names, types, and structure are not visible in the tool definition. LLMs cannot plan downstream calls or extract required data.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 45 | <=2025-11-25 | v2 |
No tool annotations. create_payment_link is a write operation (RISK: WRITE) but lacks destructiveHint annotation. fetch_* tools are read-only but lack readOnlyHint. Annotations guide agent planning and safety.