Paymenter MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Paymenter MCP ServerShow me all unpaid invoices"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Paymenter MCP Server π
πLanguage Selection / Chα»n NgΓ΄n Ngα»― TΓ i Liα»u:
πΊπΈ English (README.md) β’ π»π³ TiαΊΏng Viα»t (README_VI.md)
Enterprise Model Context Protocol (MCP) Server and Agent Skill for Paymenter (v1.2.0+).
Empowers AI Agents (Google Antigravity, Claude Desktop, Cursor, Cline) to autonomously govern cloud hosting infrastructure, provision VPS/servers, orchestrate client billing, automate support helpdesks, and manage wallet credits.
π Table of Contents
Related MCP server: Plesk MCP Server
π Translations / Δa NgΓ΄n Ngα»―
This documentation is available in multiple languages:
Language | Document Link | Description |
πΊπΈ English | Official documentation (Default) | |
π»π³ TiαΊΏng Viα»t | BαΊ£n dα»ch tΓ i liα»u ΔαΊ§y Δα»§ & chi tiαΊΏt 100% |
ποΈ Architecture Overview
ββββββββββββββ
βAgentRequestβ
ββ¬ββββββββββββ
ββ½βββββββββββββββββββββ
βMCP Router (35 Tools)β
ββ¬βββββββββββββββββββββ
ββ½ββββββββββββββββββββββββββββββββ
βLazy Schema Validator (draft-07)β
ββ¬ββββββββββββββββββββββββββββββββ
ββ½βββββββββββββββββββββ
βPaymenter HTTP Clientβ
ββ¬βββββββββββββββββββββ
ββ½ββββββββββββββββββββββββββ
βJSON:API Sideload Hydratorβ
ββ¬ββββββββββββββββββββββββββ
ββ½βββββββββββββ
βAgentResponseβ
βββββββββββββββ π‘ Why Paymenter MCP?
Capability | Manual API Integration | Paymenter MCP Server |
Agent Discovery | Requires feeding 180KB OpenAPI JSON into context (~45k tokens) | Lazy-Loaded Tool Schemas: Zero token bloat at startup (~85% savings) |
Relational Data | Raw JSON:API with scattered | Automatic Hydration: Seamlessly maps nested entities into single coherent objects |
Runtime Portability | Complex dependencies or Docker wrappers | Zero Dependencies: Pure Node.js built-ins ( |
Error Handling | Unformatted 422 HTTP validation crashes | Standard MCP |
Verification | Blind runtime calls | Built-in offline test ratchet suite ( |
β¨ Key Features
β‘ Zero External Dependencies: 100% native Node.js (
http,https,readline). Works out-of-the-box on Node.js 18+ without runningnpm install.π― 35 Specialized Tools: Comprehensive management across 7 business domains (Users, Orders, Services, Invoices, Credits, Tickets, Catalog).
π¦ JSON:API Compound Document Hydration: Automatically resolves references between
data.relationshipsand theincludedarray so LLMs receive rich, context-complete payloads.π§ Modern Antigravity Lazy-Loading: Includes 35 standalone JSON Schema Draft-07 files (
schemas/*.json) and an operationalinstructions.md, preventing context window saturation.π‘οΈ Self-Test Ratchet Suite: Run
node server.js --testanytime to execute 9 offline test suites with guaranteed Exit Code 0.
π§° 35 Tools Catalog
Category | Tool Name | Description |
System & Health |
| Verify API connectivity, latency, auth token validity, and Paymenter server version. |
| Global cross-entity search across Users, Orders, Services, Tickets, and Invoices. | |
| Executive metrics (active services count, unpaid invoices, pending tickets, users). | |
User Management |
| List & filter users ( |
| Fetch single user profile by ID (sideload | |
| Create new client account ( | |
| Update client details, email verification status, or role. | |
| Permanently remove client account from database. | |
| 360Β° client snapshot in 1 call (Profile + Credits + Services + Invoices + Tickets). | |
Orders & Services |
| List client orders ( |
| Retrieve order details and constituent service instances. | |
| Generate new order ( | |
| Cancel and delete order. | |
| List hosting/VPS instances ( | |
| Detailed service configuration, package specs, and expiry date. | |
| Provision new service instance ( | |
| Modify service attributes, expiration, or billing cycle. | |
Lifecycle Actions |
| Lock/suspend active service instance with reason. |
| Re-activate suspended service instance. | |
| Extend expiration date ( | |
| Terminate and mark service as cancelled. | |
Billing & Credits |
| List invoices ( |
| Fetch invoice breakdown and line items ( | |
| Generate new billing invoice ( | |
| Update invoice status or due date. | |
| Delete invoice from billing system. | |
| Add line item to invoice ( | |
| Add or debit client prepaid wallet credit ( | |
Support Desk |
| List tickets ( |
| View ticket discussion thread ( | |
| Open new support ticket ( | |
| Post message reply and optionally update status ( | |
Catalog & Affiliates |
| Browse hosting packages, server specifications, and pricing. |
| Browse product service categories. | |
| Manage referral affiliate codes ( |
π Quickstart & Verification
1. Prerequisites
Node.js: v18.0.0 or higher.
Paymenter Instance: v1.2.0 or higher with an API Bearer token.
2. Environment Variables
export PAYMENTER_URL="https://billing.yourdomain.com/api"
export PAYMENTER_API_TOKEN="your_paymenter_api_bearer_token_here"3. Run Built-in Verification Suite
node server.js --testOutput Evidence:
=== Paymenter MCP Server Self-Test Suite ===
1. Testing method "initialize"... PASSED
2. Testing method "ping"... PASSED
3. Testing notification "notifications/initialized"... PASSED
4. Testing method "tools/list"... PASSED (Exactly 35 tools registered)
5. Verifying schema structure of all 35 tools... PASSED
6. Testing "tools/call" for "paymenter_health_check"... PASSED
7. Testing "tools/call" error handling for non-existent tool... PASSED
8. Testing "tools/call" error handling for missing arguments... PASSED
9. Testing JSON:API compound document hydration... PASSED
>>> All 9 MCP Self-Tests Passed Successfully! Exit Code 0. <<<π Client Configurations
Google Antigravity CLI / IDE
Add to your ~/.gemini/antigravity-cli/settings.json (or project .agents/settings.json):
{
"mcpServers": {
"paymenter": {
"command": "node",
"args": ["/path/to/paymenter-mcp/server.js"],
"env": {
"PAYMENTER_URL": "https://billing.yourdomain.com/api",
"PAYMENTER_API_TOKEN": "your_api_token"
}
}
}
}Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"paymenter": {
"command": "node",
"args": ["/path/to/paymenter-mcp/server.js"],
"env": {
"PAYMENTER_URL": "https://billing.yourdomain.com/api",
"PAYMENTER_API_TOKEN": "your_api_token"
}
}
}
}Cursor IDE
Add to .cursor/mcp.json:
{
"mcpServers": {
"paymenter": {
"command": "node",
"args": ["/path/to/paymenter-mcp/server.js"],
"env": {
"PAYMENTER_URL": "https://billing.yourdomain.com/api",
"PAYMENTER_API_TOKEN": "your_api_token"
}
}
}
}π¦ JSON:API Sideload Hydration
Paymenter utilizes the JSON:API v1.0 standard where related objects reside in an included array. Paymenter MCP Server intercepts and hydrates these relationships client-side:
// Example: Querying service with user and order relations
// Raw JSON:API separates data.relationships and included array.
// Paymenter MCP Server returns unified, hydrated data:
{
"id": "104",
"type": "services",
"attributes": {
"status": "active",
"expires_at": "2027-01-01T00:00:00Z"
},
"hydrated_relationships": {
"user": {
"id": "42",
"email": "customer@example.com",
"first_name": "Jane"
},
"order": {
"id": "89",
"currency_code": "USD"
}
}
}β Frequently Asked Questions (FAQ)
Q1: What version of Paymenter is supported?
A: Paymenter MCP Server officially supports Paymenter v1.2.0 and higher, which features the modern Laravel JSON:API administrative backend.
Q2: Does this work if Paymenter is running in Docker?
A: Yes! As long as your Paymenter container exposes its web port (e.g. http://localhost:8000/api or https://billing.domain.com/api), the MCP server will interact seamlessly via standard HTTP.
Q3: What API token permissions are required?
A: The Bearer token should be generated with Administrator privileges inside the Paymenter admin control panel to access administrative routes (/v1/admin/*).
Q4: Why is this written in Zero-Dependency Node.js?
A: To maximize portability, reliability, and speed. AI coding assistants (Antigravity CLI, Claude Desktop, Cursor) can launch server.js instantly without risking broken dependencies or needing an active internet connection to run npm install.
Q5: Can I use this alongside the Antigravity Agent Skill?
A: Yes! The included skill/ directory contains SKILL.md and reference guides designed specifically for Antigravity, providing deep domain knowledge while the MCP server executes the API operations.
Q6: How are rate limits handled?
A: Paymenter MCP Server gracefully handles HTTP 429 Too Many Requests responses, returning formatted error diagnostics with retry suggestions directly to the calling LLM.
π Repository Structure
paymenter-mcp/
βββ package.json # Node.js project manifest (zero dependencies)
βββ server.js # Standalone MCP server (JSON-RPC 2.0 stdio, 35 tools)
βββ schemas/ # Modern Antigravity Lazy-Loaded JSON schemas
β βββ instructions.md # Operational guidelines & relationship rules
β βββ paymenter_health_check.json
β βββ paymenter_list_users.json
β βββ ... (all 35 draft-07 schemas)
βββ skill/ # Antigravity agent skill module
β βββ SKILL.md # Comprehensive agent skill guide
β βββ references/
β β βββ api-endpoints.md # 22 endpoints technical reference
β β βββ jsonapi-conventions.md # JSON:API v1.0 specifications
β βββ scripts/
β βββ paymenter_client.py # Standalone Python client SDK
βββ .github/ # GitHub templates
β βββ ISSUE_TEMPLATE/
β βββ bug_report.md
β βββ feature_request.md
βββ CONTRIBUTING.md # Contribution guidelines
βββ .gitignore
βββ LICENSE # MIT License
βββ README.md # Documentation & user guideπ€ Contributing & Community
Contributions are welcomed! Please read our Contributing Guidelines and check out our Bug Report and Feature Request templates.
If you find this project useful, please give it a Star β on GitHub to support open-source AI infrastructure!
π License
This repository is licensed under the MIT License.
Copyright (c) 2026 Do Ngoc Anh (dongocanh0501).
Available Tools
35 toolspaymenter_cancel_serviceC
Cancel a service gracefully.
| Name | Required | Description | Default |
|---|---|---|---|
| reason | No | Reason for cancellation | |
| service_id | Yes | Service ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It does not state whether cancellation is immediate or end-of-term, irreversible, whether it triggers refunds, or what permissions are required; 'gracefully' hints at a soft path but is undefined.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence is front-loaded and short, but brevity comes at the cost of substance, and the ambiguous adverb 'gracefully' is filler rather than information. It is not padded, but it is under-specified for a mutation tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a state-changing service lifecycle tool with no annotations and no output schema, the description omits the consequences of the call, reversibility, and relationship to suspend/terminate. An agent cannot confidently invoke it without external assumptions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both service_id and reason are already documented in the schema. The description adds no extra meaning (e.g., acceptable reason values or identifier formats), so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (cancel) and resource (service), so the core action is unambiguous. However, it offers no differentiation from the closely related suspend_service or delete-type siblings, and the modifier 'gracefully' adds vagueness rather than precision.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to choose cancel over suspend_service, unsuspend_service, or update_service, which all operate on the same resource. The agent must infer the intended lifecycle distinction with no help from the description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
paymenter_create_invoiceC
Create a new invoice for a customer.
| Name | Required | Description | Default |
|---|---|---|---|
| due_at | No | Due date in ISO 8601 format | |
| status | No | Initial status (default pending) | |
| user_id | Yes | Target user ID | |
| currency_code | Yes | 3-letter ISO currency code (e.g. USD) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, yet it discloses nothing about side effects such as whether the invoice is emailed to the customer, whether inventory/credit is touched, or what permissions are required. Only the mutation intent is implied by "Create".
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with zero filler, which is efficient. It is arguably undersized for a mutation tool with four parameters and no annotations, but nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a write operation with no annotations and no output schema, the description omits what the caller needs: permissions, whether the response returns the created invoice, and any downstream effects. Required parameters are left to the schema, and no behavioral context is provided.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents user_id, currency_code, due_at, and the status enum. The description adds no semantics beyond the schema, making the baseline 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ("Create a new invoice"), which is accurate and unambiguous about the operation. It does not, however, distinguish itself from close siblings such as paymenter_create_invoice_item, paymenter_update_invoice, or paymenter_create_order, so the agent gets no explicit routing signal.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives like paymenter_create_order or paymenter_create_invoice_item, nor any stated prerequisites (e.g., user must exist). The agent must infer all usage context from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
paymenter_create_invoice_itemC
Add a line item or charge to an existing invoice.
| Name | Required | Description | Default |
|---|---|---|---|
| price | Yes | Unit price | |
| quantity | Yes | Quantity (default 1) | |
| invoice_id | Yes | Parent invoice ID | |
| description | Yes | Item description | |
| reference_id | No | Polymorphic model ID | |
| reference_type | No | Polymorphic model type (e.g. App\Models\Service) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It indicates this is a mutation operation on an existing invoice, but it omits permissions required, reversibility, side effects on invoice totals, and what the operation returns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence that states the action and its scope with no wasted words. It is appropriately sized for the core operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description is too thin. It does not explain return values, side effects, permissions, or how the new item affects the invoice, leaving important context missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters. The description adds no parameter-level meaning beyond the generic mention of 'line item or charge', leaving this at the baseline for fully covered schemas.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Add') and resource ('line item or charge'), and scopes it to an existing invoice, which distinguishes it from sibling invoice operations like create_invoice or update_invoice. It does not name an alternative sibling explicitly, but the purpose is clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by stating it adds to an existing invoice, but it gives no explicit when-to-use guidance, no conditions for choosing this tool over alternatives like create_invoice, and no prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
paymenter_create_orderC
Create a new order for a user.
| Name | Required | Description | Default |
|---|---|---|---|
| user_id | Yes | Target user ID | |
| currency_code | Yes | 3-letter ISO currency code (e.g. USD) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure, and it does not state whether the target user must already exist, what side effects occur, whether the order is billed immediately, or what permissions are required. For a mutation tool with zero annotation coverage, this is a substantial gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler or repetition. It is efficient, though its brevity is partly under-specification rather than pure conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description is too thin: it omits preconditions, side effects, and result behavior. An agent could invoke it but would lack the context needed to do so reliably.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the two parameters (user_id, currency_code) are fully documented by the schema itself. The description adds no format or constraint detail beyond that, making the baseline 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (create) and resource (order) with scope (for a user), which is clear enough to distinguish it from list/get/delete order siblings. It stops short of explicitly naming or contrasting those alternatives, so it isn't maximally differentiating.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to create an order versus related operations (e.g., creating a service or invoice item), no prerequisites, and no exclusions. Usage is only inferable from the literal purpose statement, which is the minimum, not real guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
paymenter_create_serviceC
Provision and assign a new digital/hosting service to a customer.
| Name | Required | Description | Default |
|---|---|---|---|
| price | Yes | Recurring price | |
| status | Yes | Initial status | |
| plan_id | Yes | Plan/billing cycle ID | |
| user_id | Yes | User ID | |
| order_id | No | Linked order ID | |
| quantity | Yes | Quantity (default 1) | |
| coupon_id | No | Coupon ID applied | |
| expires_at | No | ISO 8601 expiration timestamp | |
| product_id | Yes | Product ID | |
| currency_code | Yes | 3-letter ISO currency code (e.g. USD) | |
| subscription_id | No | Gateway subscription ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it only implies a write operation ('Provision and assign'). It does not disclose side effects such as billing implications, whether the initial status triggers provisioning workflows, permission requirements, reversibility, or what happens on failure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single efficient sentence with the core action front-loaded and no filler. It is concise, though its brevity contributes to the completeness gaps elsewhere.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 11-parameter mutation tool with 7 required fields, no annotations, and no output schema, the description is far too thin. It does not explain the required parameters, the effect of the initial status enum, or the expected outcome of provisioning, leaving significant gaps an agent must fill.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all 11 parameters are already documented in the schema, and the baseline is 3. The description adds no parameter-level meaning beyond that, but it does not need to.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Provision and assign') and resource ('new digital/hosting service') plus the target ('to a customer'), so an agent can tell what the tool creates. It stops short of distinguishing this from siblings like paymenter_create_order or paymenter_update_service, leaving the boundary implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus paymenter_create_order, paymenter_list_services, or paymenter_update_service, and no prerequisites such as needing a valid product_id/plan_id or an existing user are mentioned. The agent must infer usage entirely from the name and sentence.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
paymenter_create_ticketC
Open a new customer support ticket.
| Name | Required | Description | Default |
|---|---|---|---|
| status | Yes | Initial status (default open) | |
| subject | Yes | Ticket subject line | |
| user_id | Yes | Author customer user ID | |
| priority | Yes | Ticket priority | |
| department | No | Department name (e.g. Billing, Technical) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It says 'Open a new' (implying a write/mutation), but discloses nothing about required permissions, whether user_id must reference an existing customer, what happens on duplicate subject, or side effects such as notifications. For a mutation tool with zero structured behavioral coverage, this is a real gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no wasted words. It is appropriately scoped, though its terseness is what leaves the behavioral gaps rather than a conciseness problem per se.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 5 parameters (4 required), no annotations, and no output schema, the description should do more than one sentence. It omits required-field expectations, the user_id linkage to an existing customer, and any return information, leaving an agent under-informed for a creation call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all five parameters including enum values and the 'default open' default. The description adds no parameter-level meaning beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Open') and resource ('customer support ticket'), clearly separating it from siblings like paymenter_get_ticket, paymenter_list_tickets, and paymenter_reply_ticket. It does not explicitly name those siblings, but the create-vs-read-vs-reply distinction is obvious from the verb.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use guidance, no prerequisites (e.g. user must already exist), and no mention of alternatives. An agent must infer usage entirely from the tool name and surrounding sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
paymenter_create_userC
Register and create a new customer account in Paymenter.
| Name | Required | Description | Default |
|---|---|---|---|
| Yes | User email address | ||
| role_id | No | Role ID (e.g. administrator role ID) | |
| password | Yes | Account initial password | |
| last_name | No | Last name | |
| first_name | No | First name | |
| email_verified_at | No | ISO 8601 timestamp for email verification |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It does not disclose required permissions/role, whether a verification email is sent (relevant given the email_verified_at field), what happens on duplicate email, or whether the created account is returned. For a mutation tool with zero annotation coverage, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short, front-loaded sentence with no filler or redundancy. It is appropriately sized, though its terseness is partly why behavioral and contextual gaps remain.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 6-parameter mutation tool with no annotations and no output schema, the description is too thin. It omits permission requirements, duplicate-email behavior, side effects like verification emails, and any sense of the return value, leaving the agent without the context needed to call it safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so each of the 6 parameters is already documented in the schema, establishing a baseline of 3. The description adds no extra meaning about field semantics (e.g., what role_id controls or how email_verified_at is handled), so it does not exceed the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (register/create) and resource (new customer account) plus the system (Paymenter), which is clear enough to act on. It does not explicitly differentiate from siblings like paymenter_update_user or paymenter_delete_user, but the 'new customer account' phrasing implicitly signals creation rather than mutation of an existing user.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus alternatives (e.g., update_user), no preconditions such as requiring unique email or admin privileges, and no exclusions. The agent must infer usage entirely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
paymenter_delete_invoiceB
Permanently delete an invoice record.
| Name | Required | Description | Default |
|---|---|---|---|
| invoice_id | Yes | Invoice ID to delete |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden. It does disclose the one trait that matters most for a delete tool, irreversibility ('Permanently'), but is silent on permission requirements, cascade effects on related records, and what happens if the invoice is not found.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single four-word sentence that front-loads the permanence qualifier and contains no filler. Nothing could be removed without losing meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter destructive tool with a fully documented schema, the description covers the essential behavior (permanent removal). The remaining gap is the absence of annotations or text describing side effects, failure modes, and permission needs on a destructive operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with 'invoice_id' documented as 'Invoice ID to delete', so the parameter is fully explained by structured data. The description adds nothing beyond that, which is the expected baseline when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (delete an invoice record) and adds the crucial qualifier 'Permanently', so the agent immediately knows the operation is destructive. It does not explicitly name or contrast with sibling delete tools (paymenter_delete_order, paymenter_delete_user), but the resource noun 'invoice' makes the scope unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives such as paymenter_update_invoice or paymenter_cancel_service for cases where deletion is not appropriate. The word 'Permanently' hints that care is needed but offers no routing or caution instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
paymenter_delete_orderB
Permanently delete an order by ID.
| Name | Required | Description | Default |
|---|---|---|---|
| order_id | Yes | Order ID to delete |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full behavioral burden, and "Permanently" is a genuine disclosure that the operation is irreversible. However, it says nothing about required permissions, cascading effects on related invoices/services, or failure behavior for an invalid ID.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short, front-loaded sentence with zero filler; the destructive qualifier appears immediately.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, high-stakes operation with no annotations and no output schema, the description should say more about consequences, dependencies, or confirmation expectations. As written, an agent lacks enough context to use it safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single order_id parameter, so the schema already documents it; the description only restates "by ID." Baseline 3 is appropriate since the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb and resource ("delete an order") plus the key qualifier "Permanently," which cleanly separates it from get_order, list_orders, and create_order. It does not, however, explicitly contrast itself with any sibling beyond the resource name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to delete versus other order life-cycle actions, no prerequisites, and no exclusions or warnings about when not to use it. The agent must infer all usage conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
paymenter_delete_userA
Permanently delete a user account from Paymenter (irreversible).
| Name | Required | Description | Default |
|---|---|---|---|
| user_id | Yes | The unique numeric ID of the user to delete |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It usefully discloses permanence and irreversibility, which is the single most important trait for a mutation tool, but says nothing about cascading effects on related resources (orders, services, tickets) or required permissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, zero filler, with the irreversible warning front-loaded alongside the action. Nothing is padded or redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter destructive tool with no output schema, the description covers the essentials: what is deleted and that it cannot be undone. It falls short only on downstream impact and authorization expectations, which are minor given the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with a single self-documented user_id parameter, so the baseline of 3 applies. The description adds no additional semantics such as accepted ID formats or whether cross-account IDs are valid.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('delete') and resource ('a user account') plus the source system, and the resource noun cleanly separates it from sibling delete tools like paymenter_delete_order and paymenter_delete_invoice. An agent can route to it 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the tool is for removing a user permanently. It never says when to prefer this over alternatives (e.g., suspending or deactivating a user) or what prerequisite state the account must be in, and no sibling is named as the non-destructive option.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
paymenter_get_dashboard_summaryB
Fetch key operational metrics and statistics: total users, active services, pending invoices, open tickets.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full behavioral burden. It does disclose what the call returns (four aggregate metric families), which is genuinely useful given there is no output schema, but it says nothing about permissions/auth, data freshness, or whether metrics are scoped to the tenant or a time window.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with the resource stated first and the returned metrics enumerated after. The pairing 'metrics and statistics' is mildly redundant, but otherwise there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-argument, read-only summary tool with no siblings covering the same aggregate, the description supplies the essential information: that it is a fetch and what four things come back. Coverage of scope (tenant-wide? time-bounded?) and freshness is missing, but that is a modest gap for this complexity level.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so per the rubric the baseline is 4; there is no parameter semantics to explain and the description does not introduce misleading parameter behavior.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Fetch') and resource (dashboard metrics/statistics: total users, active services, pending invoices, open tickets), which clearly separates it from the per-entity list/get siblings. It never names an alternative sibling explicitly, but the aggregate-summary nature is unambiguous from the enumerated metrics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or alternative-routing guidance at all; an agent gets no signal about preferring this over paymenter_list_users / paymenter_list_invoices / paymenter_get_user_overview for an overview. Usage is only inferable from the tool's obvious single purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
paymenter_get_invoiceB
Get invoice details and line items by invoice ID.
| Name | Required | Description | Default |
|---|---|---|---|
| include | No | Relations (user, items) | |
| invoice_id | Yes | Invoice ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It never states that this is a read-only operation, what happens when the ID does not exist, or that permissions/auth are required; it also fails to explain that the 'include' relation expansion affects what is returned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no padding; the key lookup key is stated up front. It is efficient, though it could have used one or two more clauses for guidance without bloat.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter read tool with no output schema, what is present is workable, but with zero annotations the description should at least mark it as a non-mutating lookup and note the include-Relations behavior. It stops just short of complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with only two parameters, so the baseline is 3. The description restates 'by invoice ID' and implies line items, adding nothing about the 'include' relation syntax beyond the schema's own 'Relations (user, items)' note.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (get invoice) plus the payload (details and line items) and the lookup key (invoice ID). This clearly separates it from paymenter_list_invoices and the create/update/delete_invoice siblings, though it never names them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the 'by invoice ID' phrasing signals this is the single-record fetch versus paymenter_list_invoices, but there is no explicit when-to-use, when-not-to-use, or named alternative. Adequate minimum, nothing more.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
paymenter_get_orderC
Get order details by order ID.
| Name | Required | Description | Default |
|---|---|---|---|
| include | No | Relations (services, user) | |
| order_id | Yes | Order ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It implies a read-only retrieval via 'Get' but does not state permissions, side effects, or what 'details' includes; it also omits any rate-limit or auth context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with zero waste, appropriate for a simple retrieval tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description should explain return values, but it does not. With no annotations either, the definition omits read-only safety and the effect of the include parameter, leaving gaps for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters (order_id and include) are already documented in the schema. The description only echoes the order_id purpose and adds no extra semantics beyond the schema baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Get order details') and scopes it to 'by order ID'. It does not differentiate from sibling tools like paymenter_list_orders or paymenter_get_user, but the purpose is clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives such as paymenter_list_orders. The only implied condition is having an order ID, with no exclusions or prerequisites stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
paymenter_get_serviceC
Get detailed service provision record by ID.
| Name | Required | Description | Default |
|---|---|---|---|
| include | No | Relations | |
| service_id | Yes | Service ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full behavioral burden, but it only implies a read via 'Get' and says nothing about permissions, side effects, error cases, or whether relation data is included. That is a significant gap for a tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short, front-loaded sentence with no filler; the action and key qualifier are immediately visible. The phrasing 'service provision record' is slightly awkward, but it is otherwise efficiently sized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema and no annotations, so the description should explain what the returned record contains and how the include parameter affects it, yet it does not. It is minimally functional for selection but leaves the agent guessing about the response shape.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so service_id and include are already documented in the schema, and the description adds only the phrase 'by ID'. This matches the baseline 3 when structured fields do the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Get') and resource ('service provision record') and scopes it to a single record by ID, which cleanly separates it from sibling list_services. It does not explicitly name list_services or other alternatives, so it falls just short of 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternative guidance is provided; the only implied condition is that a service ID is already known. This mirrors a 2-level definition with no routing information for the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
paymenter_get_ticketA
Get ticket details and message thread by ticket ID.
| Name | Required | Description | Default |
|---|---|---|---|
| include | No | Relations (messages, user, assigned_to) | |
| ticket_id | Yes | Ticket ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that the tool returns ticket details and the message thread, and the verb 'Get' implies a read-only operation. However, it does not mention permissions, rate limits, or pagination behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words. Every element earns its place by specifying the verb, resource, and scoping parameter.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter retrieval tool with full schema coverage, the description adequately summarizes the return content ('ticket details and message thread'). Since no output schema exists, this high-level return description is sufficient, though it could mention the 'include' parameter's effect on returned relations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both 'ticket_id' and 'include' (including its allowed relations). The description adds only the phrase 'by ticket ID', which does not expand on the schema's parameter details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Get') and resource ('ticket details and message thread') scoped by ticket ID. It clearly distinguishes this retrieval operation from siblings like list_tickets, create_ticket, and reply_ticket.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'by ticket ID' implies the prerequisite of having a ticket ID, which gives some usage context. However, it does not say when to use this tool versus list_tickets or search_tickets, nor does it provide explicit exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
paymenter_get_userC
Retrieve detailed profile information for a specific user by ID.
| Name | Required | Description | Default |
|---|---|---|---|
| include | No | Relations to sideload (e.g. orders, services, invoices, tickets, credits, role) | |
| user_id | Yes | The unique numeric ID of the user |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It implies a read, but discloses nothing about error behavior for unknown IDs, required permissions, or the fact that extra relations (orders, services, invoices, tickets, credits, role) can be expanded. For a retrieval tool with zero annotation coverage, that is a real gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler or redundancy. It is efficient, though it is arguably too terse to be maximally useful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter read tool with no output schema, 'detailed profile information' is vague about what is actually returned, and the relation-sideloading capability is left entirely to the schema. It is minimally adequate rather than complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, including an example list for the 'include' parameter, so the schema already documents both parameters. The description adds only 'by ID', which merely restates the required parameter, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Retrieve') and resource ('profile information for a specific user by ID'), which distinguishes it from the list/create/update/delete siblings on the same resource. However, it does nothing to separate itself from paymenter_get_user_overview, whose scope overlaps ambiguously with 'detailed profile information'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus paymenter_list_users (bulk) or paymenter_get_user_overview (apparently also a per-user summary). The inclusion of an 'include' parameter for sideloading relations is the key routing decision, yet the description never mentions it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
paymenter_get_user_overviewA
Fetch consolidated user overview including active services, open tickets, recent invoices, and credit balance.
| Name | Required | Description | Default |
|---|---|---|---|
| user_id | Yes | The unique numeric ID of the user |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description carries the behavioral load. It does disclose the data categories returned, implying a read-only aggregate, but says nothing about permissions, pagination/limits on the embedded lists, or whether incomplete data is possible for a user with no activity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, front-loaded with the verb and resource, and the enumeration of contents earns its place by defining what 'overview' means. No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully enumerates the returned sections, which is exactly the missing information an agent needs. The only remaining gap is the depth/limits of each embedded collection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
A single parameter with 100% schema description coverage, so the schema already documents user_id fully. The description adds no format hints (e.g., that numeric IDs are typical) or error behavior for unknown users, hitting the baseline rather than exceeding it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Fetch') and a specific composite resource ('consolidated user overview'), then enumerates the constituent parts (services, tickets, invoices, credit). This makes it distinguishable from paymenter_get_user, which presumably returns a single user record, though the distinction is inferred rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by 'consolidated overview' - an agent can infer this is a good first-look/summary call - but there is no explicit guidance on when to prefer it over paymenter_get_user, paymenter_list_services, or paymenter_list_invoices, which cover overlapping data.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
paymenter_health_checkA
Check connectivity to Paymenter API and verify administrative API token authentication.
| Name | Required | Description | Default |
|---|---|---|---|
| check_connectivity | No | Perform actual HTTP ping request to test network and token validity |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden. It usefully discloses that a real HTTP ping is made (via the parameter text) and that admin-token auth is exercised, but it omits whether the call is read-only/safe, whether it consumes rate limits, what happens on failure, and whether it requires credentials to be pre-configured.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with zero filler; the two capabilities are ordered by the sequence an agent would actually perform them (connectivity, then auth).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter diagnostic with no annotations this is nearly sufficient, but with no output schema the description should say what a result looks like (e.g., success/failure flags for connectivity vs. token validity) so the agent knows how to interpret the response. Everything else needed to invoke it is covered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single optional boolean is fully documented in the schema itself, including that it triggers an actual HTTP ping. The description adds no format, default, or cost semantics beyond that, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States two specific actions with a clear resource: checking connectivity to the Paymenter API and verifying administrative token authentication. This is unmistakably distinct from every sibling tool, which are all data/mutation operations (list_users, create_order, suspend_service, etc.), so an agent can route to it 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The diagnostic nature implies usage (troubleshooting connectivity/auth before or after other calls), but the description never states when to reach for it, what failure conditions it is meant to diagnose, or any alternative. Usage is inferable rather than stated, which is the definition of a 3.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
paymenter_list_categoriesC
List product categories in Paymenter.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Filter by category name | |
| page | No | Page number | |
| slug | No | Filter by slug | |
| sort | No | Sort field | |
| include | No | Relations (products, parent, children) | |
| per_page | No | Items per page | |
| parent_id | No | Filter by parent category ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden and discloses nothing: not that it is a read-only operation, not pagination behavior, not filtering semantics, not return shape. It is a bare list statement with no traits beyond the name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with the resource front-loaded and zero wasted words. It is efficient but so terse that there is nothing to structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a low-complexity read tool with fully documented parameters, so the description is minimally adequate. However, with no annotations and no output schema, it omits any statement of read-only safety or pagination/filter behavior that an agent would benefit from.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all seven parameters (name, slug, page, per_page, sort, include, parent_id) are already documented in the schema. The description adds nothing beyond that, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('List product categories'), which is unambiguous on its own. It does not distinguish itself from adjacent listing siblings such as paymenter_list_products, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives like paymenter_list_products, nor any prerequisite or exclusion. Usage is only implied by the verb 'List'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
paymenter_list_invoicesC
List invoices with status, user filtering, and pagination.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number | |
| sort | No | Sort field | |
| status | No | Filter by status | |
| include | No | Relations (user, items) | |
| user_id | No | Filter by user ID | |
| per_page | No | Items per page | |
| currency_code | No | Filter by currency |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only confirms that results are paginated and filterable, saying nothing about authentication/permission requirements, default page size, result ordering, or the cost of larger pages.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler, naming the core capabilities first. It is efficiently sized, though arguably too terse to be fully useful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 7-parameter, zero-required list tool with no annotations and no output schema, the description is adequate but thin. It omits sort/include/currency semantics and gives no indication of what a returned invoice record contains.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 7 parameters. The description only restates status, user, and pagination, omitting sort, include, and currency_code without adding syntax or format details beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (list) and resource (invoices) and names the filterable dimensions. It is clearly distinguishable from paymenter_get_invoice or paymenter_create_invoice, though it does not explicitly name those siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as paymenter_search or paymenter_get_invoice, nor any stated prerequisites or exclusions. The agent must infer usage entirely from the name and schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
paymenter_list_ordersB
List customer orders with pagination, sorting, and relations.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number | |
| sort | No | Sort field | |
| include | No | Relations (services, user) | |
| per_page | No | Items per page | |
| currency_code | No | Filter by currency code (e.g. USD) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. 'List' implies a read operation, but the description does not disclose authentication requirements, rate limits, default sorting/pagination behavior, or what data is returned, leaving significant behavioral gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no wasted words. It efficiently states the operation and its notable capabilities.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with a fully documented schema, the description is largely sufficient to invoke it correctly. It omits mention of the currency filter and does not describe return values, but the core operation and major capabilities are clear.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all five parameters are already documented in the schema. The description adds only a high-level mention of pagination, sorting, and relations, without adding syntax or format details beyond the schema's own descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'List customer orders'. It clearly implies a multi-record retrieval operation, distinguishing it from get_order and create/delete siblings, but it does not explicitly name or contrast with those alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives such as paymenter_get_order or paymenter_search. It only lists capabilities (pagination, sorting, relations), leaving the agent to infer appropriate usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
paymenter_list_productsC
List available products/plans in the catalog.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Filter by product name | |
| page | No | Page number | |
| slug | No | Filter by slug | |
| sort | No | Sort field | |
| hidden | No | Filter hidden products | |
| include | No | Relations (category, plans) | |
| per_page | No | Items per page | |
| category_id | No | Filter by category ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full behavioral burden, yet it says almost nothing. The word 'available' even risks misleading, since the schema exposes a 'hidden' filter implying non-available products are listable, and nothing is said about pagination behavior or what the listing contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler or redundancy. It is economical but arguably under-sized for an eight-parameter list tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an eight-parameter listing endpoint with no annotations and no output schema, the description is far too thin: no pagination semantics, no return-shape hint, no note on the hidden/available distinction. The schema covers parameter meaning, but everything else an agent needs is absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all eight filters are already documented in the schema, making 3 the baseline. The description adds nothing about how filters combine, what 'include' relations return, or how sorting/paging interact.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('List available products/plans') and scopes it to 'the catalog', which implicitly separates it from siblings like paymenter_list_services or paymenter_list_categories. However it makes no explicit contrast with any sibling, so an agent must infer the boundary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use guidance, no prerequisites, and never names an alternative tool. An agent gets no signal about when this is preferable to paymenter_search or paymenter_list_services.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
paymenter_list_servicesC
List provisioned hosting/digital services.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number | |
| sort | No | Sort field | |
| status | No | Filter by status | |
| include | No | Relations (coupon, user, order, product, invoices, properties) | |
| user_id | No | Filter by user ID | |
| per_page | No | Items per page | |
| product_id | No | Filter by product ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden and discloses almost nothing. It does not state that this is a read-only operation, nor does it describe pagination defaults (page/per_page), sort behavior, or what happens with no filters applied.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence with no filler or redundancy. It is efficient, though its brevity verges on under-specification rather than tightness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A 7-parameter listing tool with no annotations and no output schema needs the description to cover pagination behavior, default filtering, and return shape. One bare sentence leaves an agent guessing about how results are paged and filtered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all seven parameters are already documented in the schema, and the description adds no syntax, defaults, or format details beyond 'provisioned'. The baseline of 3 applies when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a clear verb+resource ('List ... services') and adds scope via 'provisioned hosting/digital services', which separates it from paymenter_list_products and paymenter_list_orders. It does not, however, contrast itself with the single-item sibling paymenter_get_service or explain what 'services' means relative to orders.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no named alternative. An agent must infer that this is the bulk-retrieval path versus paymenter_get_service for a single record, and that paymenter_search may be preferable for keyword lookups.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
paymenter_list_ticketsB
List customer support tickets with filters.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number | |
| sort | No | Sort field | |
| status | No | Filter by status | |
| include | No | Relations (messages, user, assigned_to) | |
| user_id | No | Filter by user ID | |
| per_page | No | Items per page | |
| priority | No | Filter by priority | |
| department | No | Filter by department |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full behavioral burden. It does not disclose pagination behavior, default sorting, whether include relations affect performance, or what the response contains beyond the filters.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no filler. It is appropriately concise, though slightly vague because 'with filters' is not expanded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an eight-parameter listing tool with no annotations and no output schema, the description is too thin. It omits usage context, pagination guidance, and return-shape expectations that an agent would need to invoke it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3 even though the description adds no parameter-specific detail. The schema already documents each filter, enum, and pagination field, and the description only repeats that filters exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'List customer support tickets.' It also mentions filtering, which clarifies scope. However, it does not distinguish this tool from sibling alternatives such as paymenter_get_ticket or paymenter_search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'with filters' implies that this tool is for retrieving multiple tickets by criteria, but it gives no explicit guidance on when to use it instead of paymenter_get_ticket or paymenter_search. It also provides no exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
paymenter_list_usersB
List customer accounts with pagination, sorting, and filtering.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (default 1) | |
| sort | No | Sort field (e.g. id, -id, email, -created_at) | |
| No | Filter by email | ||
| include | No | Relations to sideload (e.g. orders, services, invoices, credits, role) | |
| per_page | No | Items per page (default 15, max 100) | |
| last_name | No | Filter by last name | |
| first_name | No | Filter by first name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. 'List' implies a read-only, non-destructive operation and it discloses that pagination/sorting/filtering are supported, but it omits any statement about permissions, rate limits, pagination defaults, or return shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with zero filler. It is efficient, though arguably too terse to carry much informational value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
All parameters are covered by the schema and no output schema exists, so the essentials are present. However, with no annotations and no output description, an agent gets no safety profile or sense of what a listed account record contains.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all seven parameters are already fully documented in the schema. The description only categorizes them (pagination, sorting, filtering) without adding format or syntax detail, which is the correct baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (List) and resource (customer accounts) plus its capabilities (pagination, sorting, filtering). It is clearly distinguishable from the singular paymenter_get_user, though it never names siblings explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus paymenter_get_user, paymenter_search, or paymenter_get_user_overview. The need to browse a collection is only implied by the verb 'List'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
paymenter_manage_affiliateC
Manage affiliate partner accounts: list, get, create, update, or delete.
| Name | Required | Description | Default |
|---|---|---|---|
| code | No | Unique affiliate promo code | |
| action | Yes | Operation to perform | |
| reward | No | Commission reward rate or fixed amount | |
| enabled | No | Whether affiliate program is enabled | |
| user_id | No | User ID (required for create) | |
| affiliate_id | No | Affiliate ID (required for get, update, delete) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It hints at mutations by listing create/update/delete but never discloses permissions required, reversibility, side effects, or what delete actually removes. This is a substantial gap for a CRUD tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single tight sentence with the resource front-loaded and the operation set appended. No wasted words, though the generic 'manage' verb and redundancy with the enum keep it from being a model of structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a six-parameter multi-action CRUD tool with no annotations and no output schema, the description is thin. It does not explain per-action return values or behavioral differences between list/get and create/update/delete, leaving the agent underequipped to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so parameters are fully documented in the schema (code, reward, enabled, user_id, affiliate_id, action). The description adds no meaning beyond what the schema already provides, so the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a clear verb+resource ('Manage affiliate partner accounts') and enumerates the five operations. It is readily distinguishable from siblings because it is the only affiliate-oriented tool. However, the operation list merely echoes the action enum, so it is clear without being distinctive.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use context, no prerequisites, and no guidance on selecting among the five actions or preferring this over other tools. It only restates the available operations, leaving the agent to infer usage entirely from the schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
paymenter_manage_creditC
Manage user prepaid credits wallet: list, get, deposit, update, or delete balances.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Operation to perform | |
| amount | No | Credit amount to add or set | |
| user_id | No | User ID (required for deposit, filter for list) | |
| credit_id | No | Credit record ID (required for get, update, delete) | |
| currency_code | No | 3-letter currency code (e.g. USD) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does not disclose that 'deposit' adds to a balance while 'update' sets it, that 'delete' is destructive/possibly irreversible, or what permissions or side effects apply to each action. For a multi-action tool mixing reads and writes, this is a substantial gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; the resource is named first and the operations follow. It is efficient, though the trailing action list duplicates what the schema enum already provides.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a 5-parameter, 5-action polymorphic tool with no annotations and no output schema, yet the description says nothing about per-action behavior, required parameter combinations, or what each call returns (e.g., a balance vs a credit record). Too much is left for the agent to infer.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents each parameter, including the conditional usage of user_id and credit_id. The description adds no meaning beyond mirroring the action enum, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a clear resource ('user prepaid credits wallet') and enumerates the five supported operations, so an agent knows this is the polymorphic credit-management entry point. It is distinguishable from invoice, order, and user siblings by the credit-wallet framing, though 'manage' is a generic verb and the action list largely restates the enum.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to pick this tool over siblings, and no routing guidance between the five actions (e.g., when to use 'update' vs 'deposit', or that 'get' precedes 'update'/'delete'). The operation names imply usage but nothing is stated explicitly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
paymenter_renew_serviceC
Renew a service by extending its expiration date.
| Name | Required | Description | Default |
|---|---|---|---|
| service_id | Yes | Service ID | |
| new_expires_at | Yes | Extended ISO 8601 expiration timestamp |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It discloses only that the expiration date is extended, saying nothing about required permissions, whether renewal is immediate or billed, what happens if new_expires_at precedes the current expiration, or whether the change is reversible.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler, stating the action and its effect. It is efficient, though its brevity is partly under-specification rather than disciplined conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description is too thin: it omits prerequisites, permission needs, and side effects, and does not differentiate itself from the nearby update_service tool that could plausibly alter expiration as well.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents service_id and new_expires_at (including its ISO 8601 format). The description adds no format, constraint, or validation detail beyond what the schema provides, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (renew) and resource (service) plus the mechanism (extending its expiration date), which distinguishes it from update_service, suspend_service, and cancel_service. It is clear but never names a sibling or explicitly contrasts with them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to renew versus using paymenter_update_service to set an expiration, nor any prerequisites such as required payment or permission. The agent must infer the intended usage context entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
paymenter_reply_ticketB
Post a reply message to an existing support ticket thread.
| Name | Required | Description | Default |
|---|---|---|---|
| message | Yes | Response message body | |
| user_id | Yes | Sender user ID (admin or customer) | |
| ticket_id | Yes | Target ticket ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It discloses only that this is an append-style mutation; it says nothing about whether the reply triggers customer notifications, requires an open ticket status, needs admin vs customer privileges (despite user_id being described as either), or whether the write is reversible.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence that names the action and target with no filler. It is appropriately sized for a three-parameter mutation, though it is arguably under-specified rather than maximally efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple three-parameter write with 100% schema coverage and no output schema, the description is minimally sufficient. It omits behavioral context (notifications, permissions, ticket state requirements) and does not explain what the call returns, which matters more given the absence of annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all three parameters (ticket_id, user_id, message) are already documented in the schema, including that the sender may be an admin or customer. The description adds no meaning beyond that, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (post a reply) and resource (existing support ticket thread), which clearly separates it from paymenter_create_ticket and paymenter_get_ticket. It doesn't explicitly name those siblings or define the boundary, but the action is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"existing support ticket thread" implies the ticket must already exist and that this is for adding to a conversation rather than opening a new one, which is implicit routing guidance. However, there is no explicit when-to-use statement, no mention of prerequisites (valid ticket_id, permissions), and no naming of alternatives like paymenter_create_ticket.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
paymenter_searchC
Universal search across multiple Paymenter entities (users, orders, services, invoices, tickets) matching a search query.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum results per entity (1-50, default 10) | |
| query | Yes | Search term or keyword to match against entities | |
| entities | No | Target entities to search. Defaults to all. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it says nothing about result ordering, matching semantics (prefix, substring, fuzzy), permissions, or how cross-entity results are combined. For a search tool with zero annotation coverage, this leaves meaningful behavior undisclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that states the scope and the covered entities with no filler. It is appropriately sized, though it is terse enough that it feels under-specified rather than deliberately economical.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description would ideally say something about the returned result shape or how per-entity results are structured. It covers the search scope adequately but omits return-format context that an agent would need to interpret results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents query, limit (1-50, default 10), and entities. The description adds no syntax, format, or matching semantics beyond restating that entities are searched, which is the expected baseline when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb (search) and resource (Paymenter entities: users, orders, services, invoices, tickets), so the purpose is immediately clear. It implies differentiation from the many entity-specific list_* siblings by calling itself 'universal', but never explicitly contrasts itself with them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use a cross-entity search versus the numerous entity-specific siblings such as paymenter_list_users or paymenter_list_invoices. No exclusions, prerequisites, or routing conditions are given, so the agent must infer usage entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
paymenter_suspend_serviceA
Suspend an active service (e.g. for overdue invoice or abuse).
| Name | Required | Description | Default |
|---|---|---|---|
| reason | No | Reason for suspension | |
| service_id | Yes | Service ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It never states that suspension is reversible (only inferable from the unsuspend sibling), what happens to the running service, whether permissions are required, or what the response contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single tight sentence that front-loads the action and folds the rationale into a parenthetical. No waste, nothing padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequate minimum: parameters are covered by the schema and the purpose is clear, but for a mutation tool with no annotations and no output schema the description omits effect/reversibility/permission context an agent would want.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Both parameters are fully documented in the schema (100% coverage), so the baseline is 3. The description adds no meaning about the 'reason' field or accepted service_id formats beyond what the schema already says.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb + resource ('Suspend an active service'), and the qualifier 'active' narrows the target state. It does not explicitly contrast with siblings like paymenter_cancel_service or paymenter_unsuspend_service, but the purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Names concrete triggering scenarios (overdue invoice, abuse), giving an agent clear context for when this tool applies. It stops short of stating when NOT to use it or pointing to cancel_service for permanent termination.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
paymenter_unsuspend_serviceB
Reactivate a suspended service to active status.
| Name | Required | Description | Default |
|---|---|---|---|
| service_id | Yes | Service ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It discloses only the state transition (suspended β active); it says nothing about required permissions, whether the change is reversible, whether unsuspension triggers re-provisioning/auto-billing, or how failures are reported for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence with no filler, and the state change is stated immediately. It is efficient but so terse that it omits any qualifying detail, keeping it just below the top score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter mutation with no output schema, the description covers the core action adequately. The gaps are the missing precondition (service must already be suspended), side effects, and error behavior, none of which are covered by annotations or schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single parameter with 100% schema description coverage, so the schema already documents service_id. The description adds no format, accepted-value, or lookup guidance beyond that, making the baseline 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Reactivate') and resource ('a suspended service') plus the resulting state ('to active status'), so the purpose is unambiguous. It never names the sibling paymenter_suspend_service or distinguishes itself from cancel_service/renew_service explicitly, which keeps it out of 5 territory.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Suspended service' implies the precondition for use, so an agent can infer this applies to already-suspended services. However, there is no explicit when-to-use guidance, no stated alternative (e.g., renew_service for expired services, cancel_service to terminate instead), and no note on what happens if the service is not currently suspended.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
paymenter_update_invoiceC
Update invoice status or due date.
| Name | Required | Description | Default |
|---|---|---|---|
| due_at | No | New due date | |
| status | No | New status | |
| user_id | No | Updated user ID | |
| invoice_id | Yes | Invoice ID | |
| currency_code | No | Updated currency |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. 'Update' implies a mutation, but the description does not disclose side effects of status changes (for example, whether setting 'paid' triggers payment processing or credit changes), permission requirements, reversibility, or validation behavior. It adds only minimal context beyond the name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words. It is appropriately concise for a simple mutation tool. It stops short of 5 only because the extreme brevity leaves important scope and behavior unstated, though that is more a completeness issue than a structure issue.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a mutation tool with no annotations, no output schema, and five parameters, of which only one is required. The description does not explain side effects, permissions, required invoice_id context, or the enum implications of setting status to 'paid' or 'cancelled'. Although parameter descriptions cover the schema, the behavioral context needed to call this tool safely is largely missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all five parameters, including the status enum. The description merely repeats two of the five fields ('status' and 'due date') without adding format, default, or interaction details. Baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Update') and resource ('invoice'), and narrows scope to status or due date. It is clear enough to distinguish from get_invoice, list_invoices, create_invoice, and delete_invoice. It is not a 5 because the stated scope omits other editable fields present in the schema (user_id, currency_code), which can mislead about what the tool can update.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives such as get_invoice or list_invoices, nor does it mention prerequisites like needing an existing invoice. There are no explicit when-to-use or when-not-to-use statements. This matches the calibration level of narrow, unguided mutation descriptions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
paymenter_update_serviceB
Update properties or metadata of a service.
| Name | Required | Description | Default |
|---|---|---|---|
| price | No | Updated price | |
| status | No | New status | |
| quantity | No | Updated quantity | |
| expires_at | No | New expiration timestamp | |
| service_id | Yes | Service ID | |
| currency_code | No | Updated currency code |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It implies a mutation but does not disclose permission requirements, whether partial updates are supported, whether status changes are reversible, or how this interacts with dedicated suspend/cancel/renew tools.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence with no wasted words. It is appropriately concise, though its terseness contributes to missing guidance rather than being a structural flaw.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description is too thin. It should explain partial-update behavior, status transition implications, and when to prefer dedicated service lifecycle tools over this generic updater.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and each of the six parameters has a description, including an enum for status. The description itself adds no parameter meaning beyond the schema, but with full schema coverage the baseline is a 3; the explicit mention of 'properties or metadata' gives slight high-level context for what the parameters collectively change.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Update) and resource (a service), and clarifies it covers properties or metadata. However, it does not differentiate this general update from sibling tools like paymenter_suspend_service, paymenter_cancel_service, or paymenter_renew_service, which also modify service state.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus the more specific sibling mutation tools. With a 'status' parameter that can set suspended/cancelled, an agent could easily choose this generic updater instead of paymenter_suspend_service or paymenter_cancel_service.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
paymenter_update_userC
Update profile or credentials of an existing user.
| Name | Required | Description | Default |
|---|---|---|---|
| No | Updated email address | ||
| role_id | No | Updated role ID | |
| user_id | Yes | The unique numeric ID of the user | |
| password | No | Updated password | |
| last_name | No | Updated last name | |
| first_name | No | Updated first name | |
| email_verified_at | No | Updated verification timestamp |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It never says whether this is a partial or full-replace update (critical with 6 optional fields), whether omitted fields are cleared or preserved, whether changing email invalidates email_verified_at, or what permissions are required. 'Update' alone leaves these mutation semantics undisclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler. It is efficient, though the terseness is part of why behavioral and usage context are missing rather than a virtue in itself.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 7-parameter mutation tool with no annotations and no output schema, the description should at minimum cover partial-update semantics and the effect of credential changes. None of that is present, so an agent must guess at the most consequential behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter is already documented in the schema and the baseline is 3. The description's 'profile or credentials' grouping adds only marginal framing beyond what the per-field descriptions already say.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (update) and resource (user), and the phrase 'existing user' plus 'profile or credentials' maps to the sibling set (create_user, delete_user, get_user) without ambiguity. It doesn't explicitly name a sibling to redirect from, so it falls just short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this rather than paymenter_create_user or paymenter_get_user, and no prerequisites stated (e.g., does the user have to exist / must you fetch first?). For a mutation tool among 33 siblings, at least one routing or precondition sentence is expected.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
35 tool updates
v1.0.0- First observed
paymenter_cancel_service - First observed
paymenter_create_invoice - First observed
paymenter_create_invoice_item - First observed
paymenter_create_order - First observed
paymenter_create_service - First observed
paymenter_create_ticket - First observed
paymenter_create_user - First observed
paymenter_delete_invoice - First observed
paymenter_delete_order - First observed
paymenter_delete_user - First observed
paymenter_get_dashboard_summary - First observed
paymenter_get_invoice - First observed
paymenter_get_order - First observed
paymenter_get_service - First observed
paymenter_get_ticket - First observed
paymenter_get_user - First observed
paymenter_get_user_overview - First observed
paymenter_health_check - First observed
paymenter_list_categories - First observed
paymenter_list_invoices - First observed
paymenter_list_orders - First observed
paymenter_list_products - First observed
paymenter_list_services - First observed
paymenter_list_tickets - First observed
paymenter_list_users - First observed
paymenter_manage_affiliate - First observed
paymenter_manage_credit - First observed
paymenter_renew_service - First observed
paymenter_reply_ticket - First observed
paymenter_search - First observed
paymenter_suspend_service - First observed
paymenter_unsuspend_service - First observed
paymenter_update_invoice - First observed
paymenter_update_service - First observed
paymenter_update_user
TDQS
Scored across 35 tools
Each tool targets a distinct resource and action; search vs. list tools are differentiated by query-based vs. filtered listing, and get_user vs. get_user_overview are clearly separate. No major overlaps or ambiguous pairs.
All tools use the paymenter_ prefix and snake_case, mostly following a verb_noun pattern. Minor deviations: health_check is noun-based, and manage_credit/manage_affiliate bundle multiple actions unlike the per-action tools.
With 35 tools, this exceeds the 25+ threshold for 'too many' under the rubric. While the billing domain is broad, many operations could be consolidated, especially since multi-action tools like manage_credit already exist elsewhere.
Core user, service, invoice, and affiliate/credit lifecycles are well covered. However, notable gaps exist: no ticket close/status update, no order update, and products/categories are read-only, which can block common admin workflows.
Maintenance
Related MCP Connectors
Backend for AI agents: one batched tool over ~668 actions (hosting, storage, auth, payments).
- mcp-serverOAuthcom.make
Give your AI agents the tools to build, manage, and run automation workflows.
Backend platform for AI agents: one agentstack.execute tool runs batched steps over +700 actions (hosting, storage, auth, payments, CRM, app builder).
Manage Vozora VPS servers, SSH keys, firewalls, DNS and usage from an AI agent.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to manage Coolify infrastructure including servers, applications, databases, deployments, and 80+ one-click services through 98 comprehensive tools for both cloud and self-hosted instances.MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to manage Plesk hosting environments through a set of standardized tools for security, health monitoring, DNS, email, backups, and service management.MIT
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to manage Cloudways infrastructure, including servers, applications, monitoring, and security via the Cloudways API.-
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to administrate WHMCS installations through the External API, providing ~50 tools for clients, billing, orders, services, domains, support, and aggregators with safety features and governance.25 npm3ISC