Skip to main content
Glama

Nas.com

Update Challenge Participant

update_challenge_participant

Update one challenge participant status. Before offering this action or requesting its inputs, check business permissions. FREE businesses cannot use this tool, regardless of individual feature rows. Call check_business_tool_access before collecting inputs. Show any grace-period warning and verified resubscribe link before continuing, and never proceed when access is blocked.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "communityId": "<communityId>",
      "challengeId": "<challengeId>",
      "participantId": "<participantId>",
      "status": "<status>"
    },
    "name": "update_challenge_participant"
  }
}

Input Schema

NameRequiredDescriptionDefault
statusYesStatus value; use one of the allowed values in this schema.
challengeIdYesChallenge ID, from list_products or a challenge tool for this business.
communityIdYesNas.com business (community) ID. Use an ID returned by list_businesses or another Nas.com tool; never invent one.
participantIdYesChallenge participant ID, from a challenge participant listing.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changed
    • addedInput schema / properties / challengeId / description
      Added value: +"Challenge ID, from list_products or a challenge tool for this business."
    • addedInput schema / properties / communityId / description
      Added value: +"Nas.com business (community) ID. Use an ID returned by list_businesses or another Nas.com tool; never invent one."
    • addedInput schema / properties / participantId / description
      Added value: +"Challenge participant ID, from a challenge participant listing."
    • addedInput schema / properties / status / description
      Added value: +"Status value; use one of the allowed values in this schema."
  2. First observed

TDQS

A3.7/5.0
Behavior4/5

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

Annotations only declare readOnlyHint=false, destructiveHint=false and openWorldHint=false; the description adds real behavioral context the annotations lack, namely that FREE-tier businesses are hard-blocked regardless of feature rows and that access may be gated by a grace period. It does not describe the effect of the mutation itself (e.g., whether a kicked-out participant is notified or loses points).

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

Conciseness3/5

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

The action is front-loaded in the first sentence, but the access-check requirement is stated three times in different phrasings ("check business permissions", "Call check_business_tool_access before collecting inputs", "never proceed when access is blocked"), which is redundant. The gating text also occupies the majority of a short description relative to the operation it describes.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a four-required-parameter mutation with no output schema and fully documented parameters, the description covers the access-control dimension well but leaves the operation's consequences unstated. An agent still cannot tell whether setting a status triggers notifications, point recalculations, or irreversible removal, which matters for a tool whose enum includes kicked_out and system_removed.

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

Parameters3/5

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

Schema description coverage is 100%, so all four parameters, including the status enum values, are already documented in the schema. The description adds no field-level meaning beyond that, which is acceptable given the coverage but earns only the baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening sentence names a specific verb and resource ("Update one challenge participant status") and the action is distinguishable from read-oriented siblings like get_challenge_participant. However, it does not distinguish itself from adjacent mutators such as remove_challenge_participants or add_challenge_participants, leaving the agent to infer boundaries from names alone.

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

Usage Guidelines4/5

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

It gives explicit preconditions: verify business permissions, call check_business_tool_access before collecting inputs, surface any grace-period warning and resubscribe link, and stop when access is blocked. It names a specific prerequisite sibling tool, which is exactly the routing guidance an agent needs. It stops short of stating when to use this instead of a sibling like remove_challenge_participants.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.