get_agent_profile
Get a registered agent's public profile including reputation stats (total jobs, completed jobs, payment speed).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| agent_id | Yes | The registered agent ID |
Get a registered agent's public profile including reputation stats (total jobs, completed jobs, payment speed).
| Name | Required | Description | Default |
|---|---|---|---|
| agent_id | Yes | The registered agent ID |
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. It adds context by saying 'public profile', implying read-only access and no special permissions, and lists specific return data. However, it does not explicitly state that the operation is read-only, nor does it describe error behavior (e.g., what happens if the agent is not registered).
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 sentence, concise and front-loaded with the action and target. Every word adds value without redundancy or irrelevant details.
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 getter with one parameter and no output schema, the description adequately covers the purpose and key return fields. It lacks details on exact response structure or error handling, but given the low complexity, it is sufficiently complete for an agent to use the tool effectively.
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 schema already describes agent_id as 'The registered agent ID' with 100% coverage. The description restates 'registered agent' but does not add new details about the parameter's format, constraints, or valid values. Since schema coverage is high, the baseline of 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?
The description clearly states the verb 'Get' and the resource 'a registered agent's public profile', and specifies the included reputation stats (total jobs, completed jobs, payment speed). This distinguishes it from sibling tools like get_human_profile by focusing on agents and their reputation.
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 when an agent's public profile and reputation stats are needed, but it does not explicitly state when to use this tool over alternatives or mention exclusions. The phrase 'registered agent' gives some context, but no direct comparison to siblings like get_human_profile is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.
Most tools have clearly distinct purposes (e.g., get_human vs get_human_profile differ by access level, get_listing vs get_listings by specificity). There is minor overlap between check_humanity_status and get_human (both return verification info), and the deprecated no-op claim_free_pro_upgrade adds slight clutter, but descriptions otherwise disambiguate well.
All 40 tools follow a consistent snake_case verb_noun pattern (e.g., create_listing, get_job_status, start_stream, submit_verdict). No camelCase or mixed conventions exist; even compound actions like make_listing_offer and leave_review fit the established pattern.
With 40 tools, this is far beyond the 16-25 'heavy' range and into the 'too many' category. While the platform covers a broad domain (hiring, listings, streams, escrow, activation), this many tools could be split into smaller focused servers for maintainability and agent selection clarity.
The surface covers the core lifecycle well: search, hire, pay, communicate, approve, review. However, there is no generic cancel_job tool for regular jobs (only stop_stream for streams) and no update_listing to edit an existing listing, leaving small but navigable gaps in lifecycle management.