Skip to main content
Glama

Compare CodeChef users

compare_users
Read-only

Compare two to five CodeChef handles side by side to view ratings, stars, ranks, problems solved, and contest counts for quick who-is-better or team-selection decisions.

Instructions

Fetch compact side-by-side profiles for 2-5 CodeChef handles: rating, stars, ranks, problems solved and contest count. Handy for 'who is better' or team-selection questions.

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": {
      "handles": "<handles>"
    },
    "name": "compare_users"
  }
}

Input Schema

NameRequiredDescriptionDefault
handlesYesTwo to five CodeChef handles to compare.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.2

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds that output is 'compact' and lists which fields come back, which is useful. It does not say what happens with an invalid or non-existent handle, whether the call fails entirely or partially, or anything about rate limits.

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

Conciseness5/5

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

Two sentences, zero filler, and the cardinality plus field list are front-loaded before the use-case hint. Every clause contributes information an agent needs.

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

Completeness4/5

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

There is no output schema, so the description correctly compensates by naming the returned fields, which is the key completeness requirement here. The remaining gap is that the exact response shape and error behavior for bad handles are unstated.

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?

With a single parameter and 100% schema description coverage (including minItems 2 / maxItems 5 and a 1-64 char bound per handle), the schema carries the full parameter burden. The description's '2-5 CodeChef handles' merely restates the schema bounds rather than adding format rules or handle-normalization guidance.

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

Purpose5/5

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

States a specific verb and resource ('Fetch compact side-by-side profiles') plus the exact cardinality (2-5 CodeChef handles) and enumerates the returned fields (rating, stars, ranks, problems solved, contest count). This clearly separates it from the single-user siblings like get_profile and get_rating_history.

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?

Gives concrete usage contexts ('who is better' or team-selection questions), which is enough for an agent to route multi-handle comparison requests here. It stops short of an explicit exclusion naming the single-handle alternative, so the when-not is only implied.

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