# 402Mob — Agent Commerce on Base (io.github.gggggggg424242/402mob): tool descriptions scored

- tools/list taken: 2026-11-02 (UTC)
- From: [Official MCP Registry](https://registry.modelcontextprotocol.io/v0/servers/io.github.gggggggg424242%2F402mob/versions/latest)
- Connected to: https://evidence.contact/mcp
- Homepage: https://evidence.contact/
- Scoring rules: v2
- Tools: 33
- Average: 37.8 / 100 (Rain)
- Near-identical pairs: 1

This page shows how 402Mob — Agent Commerce on Base (io.github.gggggggg424242/402mob)'s tool descriptions scored, the issues found and the names of its tools and parameters. The descriptions are the server's own: read them where the copy came from.

Forecall asked the URL this server lists in the official MCP Registry for its tools/list once, on the date above, without calling any tool. The server may have changed since.

## Across the server

- Minor: 33 tools. Above 25, models start to tell tools apart less well.

## Tools

- `claim_work_ticket`: 30 / 100
  - Major: Arguments without a description: ticketId, leaseSeconds.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: ticketId. Name the tool or the place that returns it, or models look it up first.
- `discover_merchant_offers`: 30 / 100
  - Major: Arguments without a description: merchantId.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: merchantId. Name the tool or the place that returns it, or models look it up first.
- `resolve_latest_merchant_offer`: 30 / 100
  - Major: Arguments without a description: merchantId, offerId.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: merchantId, offerId. Name the tool or the place that returns it, or models look it up first.
- `submit_delivery_receipt`: 30 / 100
  - Major: Arguments without a description: operationId, challengeId, signature.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: operationId, challengeId. Name the tool or the place that returns it, or models look it up first.
- `accept_work_ticket_quote`: 31 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: ticketId, challengeId, signature.
  - Minor: Says nothing about what it returns.
- `create_work_ticket_grant_challenge`: 31 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: buyer, merchantId, capability, input, maxPriceUSDC, expiresInSeconds, idempotencyKey.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: merchantId. Name the tool or the place that returns it, or models look it up first.
- `submit_work_receipt`: 32 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: ticketId, challengeId, signature.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: ticketId, challengeId. Name the tool or the place that returns it, or models look it up first.
- `read_assigned_delivery_receipts`: 33 / 100
  - Major: Arguments without a description: operationId.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: operationId. Name the tool or the place that returns it, or models look it up first.
- `reconcile_assigned_operation`: 33 / 100
  - Major: Arguments without a description: operationId, transaction.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: operationId. Name the tool or the place that returns it, or models look it up first.
- `list_merchant_work_tickets`: 34 / 100
  - Major: Arguments without a description: limit.
  - Minor: No `required` list, so every argument is optional.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `complete_merchant_credential_rotation_signature`: 35 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: wallet, challengeId, signature.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: The name is long (47 characters).
- `create_work_receipt_challenge`: 35 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: ticketId, buyer, verdict.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: ticketId. Name the tool or the place that returns it, or models look it up first.
- `read_work_ticket_result`: 35 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: ticketId, challengeId, signature.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: ticketId, challengeId. Name the tool or the place that returns it, or models look it up first.
- `complete_prepared_artifact_transfer`: 36 / 100
  - Major: Arguments without a description: merchantId, offerId, payer, challengeId, method, identityTransactionHash, paymentTransactionHash, idempotencyKey.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: merchantId, offerId, challengeId. Name the tool or the place that returns it, or models look it up first.
- `create_work_quote_acceptance_challenge`: 36 / 100
  - Major: Arguments without a description: ticketId, buyer.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: ticketId. Name the tool or the place that returns it, or models look it up first.
- `create_merchant_credential_rotation_challenge`: 37 / 100
  - Major: Arguments without a description: wallet.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: The name is long (45 characters).
- `create_merchant_enrollment_challenge`: 37 / 100
  - Major: Arguments without a description: wallet, name.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `create_prepared_artifact_transfer_challenge`: 37 / 100
  - Major: Arguments without a description: merchantId, offerId, payer, idempotencyKey.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: The name is long (43 characters).
  - Minor: Required identifiers whose description does not say where the value comes from: merchantId, offerId. Name the tool or the place that returns it, or models look it up first.
- `search_merchants`: 37 / 100
  - Major: Arguments without a description: query, limit, cursor.
  - Minor: No `required` list, so every argument is optional.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `create_work_result_challenge`: 38 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: ticketId, buyer.
  - Minor: Required identifiers whose description does not say where the value comes from: ticketId. Name the tool or the place that returns it, or models look it up first.
- `get_work_ticket_status`: 38 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: ticketId.
  - Minor: Required identifiers whose description does not say where the value comes from: ticketId. Name the tool or the place that returns it, or models look it up first.
- `complete_merchant_credential_rotation_transaction`: 40 / 100
  - Major: Arguments without a description: wallet, challengeId, method, transactionHash.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: The name is long (49 characters).
  - Minor: Required identifiers whose description does not say where the value comes from: challengeId. Name the tool or the place that returns it, or models look it up first.
- `create_delivery_receipt_challenge`: 40 / 100
  - Major: Arguments without a description: operationId, payer, verdict.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: operationId. Name the tool or the place that returns it, or models look it up first.
- `complete_work_ticket_grant`: 43 / 100
  - Major: Arguments without a description: buyer, merchantId, capability, input, maxPriceUSDC, expiresInSeconds, idempotencyKey, challengeId, signature.
  - Minor: Required identifiers whose description does not say where the value comes from: merchantId, challengeId. Name the tool or the place that returns it, or models look it up first.
- `pay_work_ticket_quote`: 43 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: ticketId, idempotencyKey.
  - Minor: Required identifiers whose description does not say where the value comes from: ticketId. Name the tool or the place that returns it, or models look it up first.
- `read_assigned_operation_evidence`: 43 / 100
  - Major: Arguments without a description: operationId.
  - Minor: Required identifiers whose description does not say where the value comes from: operationId. Name the tool or the place that returns it, or models look it up first.
- `reconcile_base_invoice`: 43 / 100
  - Major: Arguments without a description: transactionHash, expectedSender, expectedRecipient, expectedAmountUSDC, idempotencyKey.
- `complete_merchant_enrollment_signature`: 45 / 100
  - Major: Arguments without a description: wallet, name, challengeId, signature.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `complete_merchant_enrollment_transaction`: 45 / 100
  - Major: Arguments without a description: wallet, name, challengeId, method, transactionHash.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: challengeId. Name the tool or the place that returns it, or models look it up first.
- `submit_work_ticket_result`: 45 / 100
  - Major: Arguments without a description: ticketId, contentType, result.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: ticketId. Name the tool or the place that returns it, or models look it up first.
- `quote_work_ticket`: 46 / 100
  - Major: Arguments without a description: ticketId, priceUSDC, deliverable, contentType, expiresInSeconds.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: ticketId. Name the tool or the place that returns it, or models look it up first.
- `buy_prepared_artifact`: 48 / 100
  - Major: Arguments without a description: merchantId, offerId, idempotencyKey.
  - Minor: The description mentions none of its 3 or more arguments.
- `list_assigned_operations`: 50 / 100
  - Minor: Says nothing about what it returns.

Is your server listed here and you would rather it were not? Email support@forecall.dev, and we will take it off within 7 days.

[All scored servers](https://forecall.dev/en/servers)
