Skip to main content
Glama

PayPing: create customer

payping_create_customer
Destructive

Creates a new customer record in your PayPing account and returns its code for invoicing. Requires first and last name; confirm details before calling.

Instructions

Save a new customer in the PayPing account and return it with its code (needed for invoices). Creates real data: confirm the details with the user before calling.

Input Schema

NameRequiredDescriptionDefault
memoNoPrivate note.
emailNo
phoneNoMobile number, e.g. 09121234567.
last_nameYes
first_nameYes
is_businessNoTrue for a company (legal person).
national_idNoNational code or economic code.
business_nameNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed10 schema fields changedv0.2.0
    • removedInput schema / properties / business_name / title
      Removed value: -"Business Name"
    • removedInput schema / properties / email / title
      Removed value: -"Email"
    • removedInput schema / properties / first_name / title
      Removed value: -"First Name"
    • removedInput schema / properties / is_business / title
      Removed value: -"Is Business"
    • removedInput schema / properties / last_name / title
      Removed value: -"Last Name"
    • removedInput schema / properties / memo / title
      Removed value: -"Memo"
    • removedInput schema / properties / national_id / title
      Removed value: -"National Id"
    • removedInput schema / properties / phone / title
      Removed value: -"Phone"
    • removedInput schema / title
      Removed value: -"payping_create_customerArguments"
    • changedOutput schema / (root)
      Previous value: -{
      -  "additionalProperties": true,
      -  "title": "payping_create_customerDictOutput",
      -  "type": "object"
      -}New value: +null
  2. First observedv0.1.0

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true, idempotentHint=false, and openWorldHint=true, so the safety profile is covered. The description adds genuinely useful context beyond them: the operation creates real data and requires user confirmation, plus the practical fact that the returned `code` feeds invoices. It omits failure behavior (duplicate email/phone) and auth requirements.

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?

Two sentences, zero waste, and the highest-value constraints – what it does, the returned code, and the confirmation requirement – are front-loaded.

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?

For a mutation tool whose annotations already carry the safety profile and which has no output schema, the description covers purpose, the return value, and the confirmation prerequisite. It is only slightly incomplete in not addressing the 50% undocumented parameter surface or error cases.

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

Parameters2/5

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

With 8 parameters at only 50% schema description coverage, the description must compensate but adds no input-field meaning at all; it only mentions the returned code. Half the fields (email, last_name, first_name, business_name) have no schema description and the description does nothing to fill that gap.

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 ('Save a new customer in the PayPing account') and distinguishes itself from the get/list_customer siblings by adding the returned `code` needed for invoices. An agent can tell exactly what this does without opening the schema.

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?

Provides a concrete pre-call condition: 'Creates real data: confirm the details with the user before calling.' This is a clear when-to-use caveat, but it never names alternatives (e.g., payping_get_customer to check for an existing customer first) or exclusions, so it falls short of a 5.

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