Skip to main content
Glama

Server Details

Search remote jobs, post job listings, find remote candidates, check salary benchmarks, and manage your career, all through AI conversation. The Himalayas MCP server connects your AI assistant to the Himalayas remote jobs marketplace in real time.

Ownership verified
Status
Healthy
Uptime
100.0% over 81 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
ChatGPT
–
Claude
Himalayas

TDQS

A3.6/5.0

Scored across 78 tools

Disambiguation3/5

The set splits into parallel job-seeker and employer surfaces, and the paired names are easy to mix up: list_conversations vs list_my_conversations, mark_message_read vs mark_my_message_read, get_conversation vs get_my_conversation, get_company_profile vs get_company_details. Browsing pairs like get_jobs vs search_jobs and get_companies vs search_companies also overlap (filter-only vs keyword search) though descriptions do hint at the difference. The rich per-tool descriptions prevent most misselection, but the seeker/employer symmetry and the read/update/delete families keep this at mediocre clarity.

Naming Consistency4/5

Nearly everything is snake_case verb_noun (get_job_details, create_company_job, update_job_status), which is predictable. Deviations are small but real: show_company_job instead of get_, remove_saved_job/remove_company_perk instead of delete_, and an inconsistent 'my' marker that flags seeker-side tools only sometimes (get_my_profile vs get_saved_jobs). Still readable and mostly regular across 78 tools.

Tool Count2/5

78 tools is far past a well-scoped set, even for a platform spanning job search, employer posting, messaging, billing, verification, coaching and headshots. Several tools could be merged or folded into parameters (get_jobs/search_jobs, get_companies/search_companies, the two mark-read variants, the two conversation listers). The breadth is real but the surface is heavily fragmented.

Completeness4/5

Coverage is unusually broad: job browse/search/detail, tracker lifecycle, employer job CRUD plus paid extras, profile/education/experience CRUD, documents, both messaging directions, notifications, billing and verification. The main gap is saved application answers, which have list/update/delete but no create tool, and there is no way to delete a coach chat or headshot. Otherwise agents have few dead ends.

Available Tools

78 tools
add_company_perkAdd company perkBInspect

Add a perk/benefit to your company on Himalayas. Uses the connected Himalayas employer account; no extra sign-in needed.

NameRequiredDescriptionDefault
titleYesPerk title (3-50 characters)
categoryYesPerk category
descriptionYesPerk description (15-450 characters)

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, idempotentHint=false and destructiveHint=false, so the agent knows this is a non-destructive write. The description adds genuinely useful auth context ('connected Himalayas employer account; no extra sign-in needed'), but says nothing about duplicate handling, validation failure, or rate limits. With annotations carrying the safety profile, this is adequate but thin.

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 short sentences, zero padding, with the core action front-loaded and the auth clarification second. Every phrase earns its place.

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?

For a simple three-parameter creation tool with a fully documented schema and no output schema, the description covers purpose and authentication clearly. It is only slightly short of complete because it omits what happens on success or on a duplicate perk.

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%, with all three parameters documented including length bounds and a 30-value enum for category. The description adds no parameter 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.

Purpose4/5

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

States a specific verb (add) and resource (perk/benefit) on a named platform, and the scope ('your company'). An agent can distinguish it from get_company_perks and remove_company_perk without opening a schema. It does not explicitly name those siblings, so a 4 rather than a 5.

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

Usage Guidelines2/5

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

The description offers no when-to-use or when-not-to-use guidance. It never mentions the paired remove_company_perk for deletion or get_company_perks for reading, so routing is left entirely to the agent. The auth note is context, not usage guidance.

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

add_educationAdd educationAInspect

Add an education entry to your Himalayas profile. Uses the connected Himalayas account; no extra sign-in needed.

NameRequiredDescriptionDefault
fieldNoField of study (e.g., 'Computer Science')
gradeNoGrade or GPA
degreeNoDegree (e.g., 'Bachelor of Science')
schoolYesSchool or institution name
currentNoWhether you are currently enrolled
end_yearNoEnd year (omit if currently enrolled)
activitiesNoActivities and societies
start_yearNoStart year
descriptionNoDescription or achievements

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=false, so the safety profile is covered. The description adds genuine value by disclosing the auth model ("Uses the connected Himalayas account; no extra sign-in needed"), but says nothing about what happens to existing entries or duplicate handling.

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 short sentences, zero waste, with the core action front-loaded and the auth clarification as supporting detail. Nothing is repeated from structured fields unnecessarily.

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?

A write tool with annotations carrying the safety profile, no output schema needed, and parameters fully documented in the schema. The description covers purpose and auth, leaving only minor gaps like duplicate/idempotency behavior that annotations already partially address.

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 nine parameters are already fully documented in the schema. The description adds no field-level semantics, examples, or format hints 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.

Purpose4/5

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

States a specific verb ("Add") and resource ("education entry") plus the target ("your Himalayas profile"). The verb inherently distinguishes it from siblings like update_education and delete_education, though the description never names those alternatives.

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

Usage Guidelines3/5

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

Usage is implied by "add an education entry to your Himalayas profile," but there is no explicit when-to-use versus update_education/delete_education guidance and no stated prerequisites or conditions. The sign-in note is context, not selection guidance.

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

add_experienceAdd work experienceBInspect

Add a work experience to your Himalayas profile. Uses the connected Himalayas account; no extra sign-in needed.

NameRequiredDescriptionDefault
titleYesJob title
end_dateNoEnd date (YYYY-MM-DD format, omit for current role)
locationNoCountry name for this role (e.g. 'United States', 'Germany'). Cities are not accepted.
start_dateNoStart date (YYYY-MM-DD format)
current_jobNoWhether this is your current job
descriptionYesDescription of your role and responsibilities
company_nameYesCompany name
employment_typeYesEmployment type
experience_skill_listNoComma-separated skills used in this role

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, idempotentHint=false, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description usefully adds that the connected Himalayas account is used with no extra sign-in, but says nothing about duplicate handling, whether re-adding the same role creates a second entry, or what a successful add returns.

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 short sentences, no filler, with the core action front-loaded in the opening clause. Nothing redundant is repeated from the title or annotations.

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?

For a mutation tool with no output schema, the description plus rich schema and annotations cover most of what an agent needs: what it does, the required vs optional fields, and the auth model. Missing only mutation side effects (duplicate behavior, where the entry lands) which are minor for an additive, non-destructive write.

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% with all 9 parameters documented, including required-vs-optional and format hints like YYYY-MM-DD and the country-only location rule. The description adds no parameter meaning of its own, so the baseline 3 applies.

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?

States a specific verb and resource ('Add a work experience to your Himalayas profile'), so the operation is unambiguous. It does not differentiate itself from close siblings such as add_education or update_experience, which would matter for selection among the profile-mutation tools.

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

Usage Guidelines2/5

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

No when-to-use guidance is given: it never says to prefer this over update_experience for an existing role, nor does it mention prerequisites beyond authentication. The only contextual hint is the account/sign-in note, which is operational rather than selection guidance.

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

check_job_payment_statusCheck job payment statusA
Read-only
Inspect

Check the payment status of a job posting. Use the session_id returned from create_company_job, update_company_job or purchase_job_extras with extras. No authentication required.

NameRequiredDescriptionDefault
session_idYesStripe checkout session ID

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered; the description adds a genuinely useful behavioral fact: 'No authentication required,' which an agent cannot infer from the schema. It does not say whether the check is idempotent, pollable, or what happens for an expired/unknown session.

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?

Three short sentences with zero filler: purpose first, then how to obtain the parameter, then the auth fact. Each sentence carries distinct information.

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 single-parameter read with no output schema, the description never indicates what a status response looks like (e.g. pending vs paid vs failed) or whether it should be polled. The input side is fully covered, but the return side is left entirely to inference.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline would be 3, but the description adds provenance beyond the schema by naming the specific tools that produce the session_id. That is the key piece of semantic context an agent needs to supply a valid value.

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: 'Check the payment status of a job posting.' This is clearly distinguishable from siblings like create_company_job, update_company_job, and purchase_job_extras, which are the mutation steps of the same flow.

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?

The description places the tool in the purchase lifecycle by naming the three sibling tools whose returned session_id feeds it, which tells an agent when this tool applies. It stops short of explicit when-not conditions or stating that it should not be used with arbitrary Stripe session IDs from elsewhere.

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

create_company_jobCreate company jobA
Destructive
Inspect

Post a remote job on Himalayas for the user's company, to hire remote staff. Posting a job is free; it needs admin approval before going live, and can also be saved as a draft. The optional extras are paid: sticky ($299) and newsletter ($99). With any extras, the reply is a Stripe checkout link the user opens and pays themselves, and the job doesn't go live until that payment completes; without extras nothing is charged. Uses the connected Himalayas employer account; no extra sign-in needed.

NameRequiredDescriptionDefault
draftNoSave as draft instead of submitting for approval
titleYesJob title (5-80 characters)
extrasNoPaid extras: 'sticky' ($299 pin to top for 30 days), 'newsletter' ($99 feature in weekly email for 30 days)
seniorityYesSeniority levels
max_salaryNoMaximum salary
skill_listNoComma-separated skills
base_salaryNoMinimum salary
descriptionYesJob description (350+ characters, can include HTML)
category_listNoComma-separated job categories
valid_throughNoExpiration date (ISO format, defaults to 30 days from now)
salary_countryNoSalary currency code (default: USD)
employment_typeYesEmployment type
app_link_or_emailYesApplication URL or email address — backend auto-detects via @ check
screening_questionsNoScreening questions for applicants

TDQS

A4.3/5.0
Behavior5/5

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

Beyond the annotations, the description discloses important behavior: posting is free but requires admin approval before going live, draft saving is possible, and paid extras trigger a Stripe checkout link that must be paid before the job goes live. It also states that the connected Himalayas employer account is used without extra sign-in, which is valuable 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.

Conciseness4/5

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

The description is front-loaded with purpose and then adds workflow behavior in a logical order. It is mostly efficient, though some pricing details repeat schema descriptions and the payment sentence is slightly dense.

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?

For a 14-parameter mutation tool with no output schema, the description covers the critical workflow: approval, draft mode, paid extras, payment gating, and account connection. It does not describe every parameter, but the schema is fully documented and the description supplies the necessary operational context.

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 the schema already carries most parameter meaning. The description adds useful cross-parameter context around extras and Stripe checkout gating, but it does not clarify the other 13 parameters beyond what the schema provides.

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?

The description uses a specific verb and resource: "Post a remote job on Himalayas for the user's company." It clearly distinguishes creation from siblings like update_company_job, list_company_jobs, and show_company_job by framing the action as posting a new job.

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?

The description gives clear context for when to use this tool: posting a new remote job for the user's company. It also explains draft versus live submission and paid extras, but it does not explicitly name alternatives such as update_company_job for existing jobs.

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

delete_company_jobDelete company jobA
DestructiveIdempotent
Inspect

Delete a job posting from your company on Himalayas. This action cannot be undone. Uses the connected Himalayas employer account; no extra sign-in needed.

NameRequiredDescriptionDefault
job_slugYesJob slug to delete

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true, idempotentHint=true, and readOnlyHint=false, so the safety profile is covered. The description nonetheless adds real value beyond them: the explicit 'cannot be undone' warning and the note that it uses the connected employer account with no extra sign-in, which is auth context not present in the annotations.

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?

Three short sentences with the action front-loaded, followed immediately by the irreversibility warning and then the auth note. Every sentence carries distinct information and there is no filler.

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?

For a one-parameter destructive tool with annotation coverage and no output schema, the description supplies the key facts: what is deleted, that it is irreversible, and which account is used. It stops short of describing consequences of deletion (e.g., what happens to applications or live listings), which would be the last useful detail.

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% for the single job_slug parameter, so the schema fully documents the input. The description adds no extra semantics about slug format or lookup behavior, which matches the baseline 3 when structured fields do the work.

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?

States a specific verb and resource ('Delete a job posting from your company') and scopes it to the employer's own company on Himalayas, which separates it from generic deletions like delete_document or delete_education. It does not, however, name the closely related siblings (update_company_job, show_company_job) that an agent might confuse it with.

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

Usage Guidelines3/5

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

The destructive verb implies when the tool applies, and the auth note clarifies account context, but there is no explicit when-to-use guidance versus update_company_job, update_job_status, or delete_* siblings, and no stated preconditions (e.g., job must be owned by the connected account).

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

delete_conversationDelete employer conversationA
DestructiveIdempotent
Inspect

Delete a conversation. Accepts room_name or talent_slug. Uses the connected Himalayas employer account; no extra sign-in needed.

NameRequiredDescriptionDefault
room_nameNoRoom name from list_conversations
talent_slugNoTalent slug (from search_talent results) — resolves to room name automatically

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true and idempotentHint=true, so the safety profile is carried by structured data. The description adds only the auth context (connected employer account, no extra sign-in) and the mutually-exclusive identifier input; it never says whether messages/threads are erased or whether the deletion is recoverable.

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?

Three short sentences, front-loaded with the action, then the accepted inputs, then the auth note. No filler and nothing is buried.

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 destructive mutation with no output schema, the description covers inputs and auth but omits the most consequential detail an agent needs: the blast radius (what exactly is removed) and whether the operation can be undone. Annotations cover the safety hint but not the effect of the call.

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%, and both parameters carry their own provenance notes (room_name from list_conversations, talent_slug from search_talent results). The description restates the either/or choice, adding little beyond the schema, so baseline 3 applies.

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?

States a specific verb (Delete) and resource (a conversation), and the title pins the scope to an employer conversation, which distinguishes it from get_conversation/list_conversations. It does not explicitly name which sibling to prefer, but the destructive 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.

Usage Guidelines3/5

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

The description tells the agent the two accepted identifiers (room_name or talent_slug) and confirms no extra sign-in is needed, which is useful pre-invocation context. However, it never states when to delete vs. when to use an alternative, nor any prerequisite such as needing an existing conversation.

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

delete_documentDelete resume or cover letterA
DestructiveIdempotent
Inspect

Delete one of the user's tailored resumes or cover letters. This can't be undone: confirm with the user first. Uses the connected Himalayas account; no extra sign-in needed.

NameRequiredDescriptionDefault
idYesDocument id or slug
typeYes

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already flag destructiveHint=true, idempotentHint=true and readOnlyHint=false, but the description adds irreversibility ('can't be undone'), a required user-confirmation step, and auth context ('uses the connected Himalayas account; no extra sign-in needed'). It stops short of describing failure behavior or whether deletion is soft or hard.

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?

Three short sentences, zero filler, and the destructive warning plus confirmation requirement are front-loaded right after the action statement.

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?

For a two-parameter destructive tool with no output schema and full annotation coverage, the description supplies the essential safety and auth context an agent needs. It is nearly complete, missing only error/permission edge cases.

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 coverage is 50%: 'id' is documented in the schema, 'type' has an enum but no description. The description's 'resumes or cover letters' loosely echoes the enum values but adds no id format, slug vs numeric distinction, or constraint detail.

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 ('Delete') and a specific resource ('one of the user's tailored resumes or cover letters'), which maps directly to the type enum and distinguishes it from update_document, list_documents, and delete_company_job. 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.

Usage Guidelines4/5

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

Gives a strong operational rule – confirm with the user first and that the action can't be undone – but does not name or contrast with alternatives such as update_document or any soft-delete path. Clear context, no explicit sibling routing.

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

delete_educationDelete educationA
DestructiveIdempotent
Inspect

Delete an education entry from your Himalayas profile by id. This can't be undone: confirm with the user first. Uses the connected Himalayas account; no extra sign-in needed.

NameRequiredDescriptionDefault
idYesEducation id, from get_my_profile

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true and idempotentHint=true, so the irreversibility warning reinforces rather than replaces structured data. The description adds genuinely new context: that no extra sign-in is needed and that the connected Himalayas account is used, plus the user-confirmation workflow. It doesn't describe failure modes (e.g., deleting a non-existent id), holding it short of a 5.

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?

Three short sentences, action and target front-loaded, followed by the destructive warning and the auth note. No sentence is filler and nothing important is buried.

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

Completeness5/5

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

For a one-parameter delete with no output schema, the definition covers everything an agent needs: what is deleted, how it is identified, that it is irreversible, that confirmation is required, and that no additional authentication step is involved.

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% and the single parameter is documented as an education id sourced from get_my_profile. The description only restates 'by id' without adding format or retrieval nuance, so the schema is doing the work — the baseline 3 for high coverage applies.

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 (delete), resource (education entry), scope (your Himalayas profile), and keying mechanism (by id). An agent can distinguish this from delete_experience, delete_document, and update_education without opening any schema.

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

Usage Guidelines3/5

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

Gives one actionable precondition, 'confirm with the user first,' which is real guidance for a destructive call. However, it never names alternatives (e.g., update_education to amend rather than remove, delete_experience for a different resource) or states when deletion is inappropriate, leaving routing inferred.

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

delete_experienceDelete work experienceA
DestructiveIdempotent
Inspect

Delete a work experience from your Himalayas profile by id. This can't be undone: confirm with the user first. Uses the connected Himalayas account; no extra sign-in needed.

NameRequiredDescriptionDefault
idYesExperience id, from get_my_profile

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already mark this as destructive and non-read-only, but the description adds useful context: the deletion cannot be undone, the user should confirm first, and the connected Himalayas account is used without extra sign-in. It does not detail side effects on related data or return behavior, which keeps it from a 5.

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?

Three short sentences, front-loaded with the action and irreversibility warning, then the account context. Every sentence earns its place.

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

Completeness5/5

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

For a low-complexity, single-parameter destructive tool with a fully documented schema and clear annotations, the description covers the essential operational context: what to delete, that it is irreversible, that confirmation is required, and that no extra auth is needed.

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 coverage is 100% and the id parameter already includes a description pointing to get_my_profile. The description mentions deletion 'by id' but adds no further format or lookup detail beyond the schema, so the baseline 3 is appropriate.

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?

The description states a specific verb and resource ('Delete a work experience'), scopes it to the user's Himalayas profile, and identifies that deletion is by id. This clearly distinguishes it from sibling delete tools such as delete_education and delete_document.

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 clearly indicates the tool is for deleting a work experience and adds a required confirmation step before use. It does not explicitly contrast with update_experience or other alternatives, so it falls short of full when/when-not guidance.

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

delete_saved_answerDelete saved application answerA
DestructiveIdempotent
Inspect

Delete one of the user's saved application answers. This can't be undone: confirm with the user first. Uses the connected Himalayas account; no extra sign-in needed.

NameRequiredDescriptionDefault
idYesSaved answer id from list_saved_answers

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true and idempotentHint=true, so irreversibility is covered. The description still adds genuine value by disclosing the auth model ('connected Himalayas account; no extra sign-in needed') and by warning the agent to confirm with the user before acting.

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?

Three short sentences, each carrying a distinct payload (action, irreversibility/confirmation, auth context), with the verb front-loaded. No filler.

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?

For a single-parameter destructive tool whose annotations already cover the safety profile, the description covers what's needed: action, irreversibility, confirmation requirement, and auth context. A minor gap is that it doesn't state the return/confirmation shape, though that is low-stakes for a delete.

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 coverage is 100% and the sole 'id' parameter is documented in the schema as coming from list_saved_answers. The description adds no additional parameter semantics, so the baseline of 3 is appropriate when the schema does the work.

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 (delete) and resource (saved application answer) with scope ('one of the user's'), cleanly distinguishing it from update_saved_answer and list_saved_answers. An agent can pick this tool 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.

Usage Guidelines4/5

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

Gives clear context: confirm with the user first, and it works against the connected Himalayas account with no extra sign-in. It doesn't explicitly name alternatives (use list_saved_answers to find the id, update_saved_answer to modify instead), but the schema's id description already points to list_saved_answers.

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

generate_application_documentsTailor resume and cover letterA
DestructiveIdempotent
Inspect

Write a resume and cover letter tailored to a Himalayas job, from the user's Himalayas profile. Use it when the user's CV is generic, they have no cover letter, or an application form asks for one. They are saved to the user's account, where the user can edit them and download a PDF. A free account gets one tailored resume and one cover letter in total; Himalayas Plus includes them for every job. Uses the connected Himalayas account; no extra sign-in needed. Use the company_slug and job_slug from job listings.

NameRequiredDescriptionDefault
job_slugYesJob slug (from the job listing URL)
documentsNoWhich documents to write (default: both)
company_slugYesCompany slug (from the job listing URL or company page)

TDQS

A4.1/5.0
Behavior4/5

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

Discloses value beyond the annotations: outputs are saved to the user's account and are editable/downloadable as PDFs, free accounts get one resume and one cover letter total while Plus includes them per job, and it uses the connected account with no extra sign-in. The annotations already cover the safety profile (destructive, idempotent), so this added context warrants a 4, though it does not explain what regeneration does to existing documents.

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

Conciseness4/5

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

Front-loads the core purpose, then usage conditions, then behavioral details in a logical order. Slightly long but each sentence adds distinct information without filler.

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?

No output schema exists, but the description covers storage destination, account requirements, and quota limits. The one notable gap is that destructiveHint=true leaves unclear whether regenerating documents replaces or overwrites prior ones.

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 the schema already documents all three parameters. The description adds where to source the slugs (company_slug and job_slug from job listings), but says nothing extra about the documents parameter's enum choices. Baseline 3 is appropriate when the schema carries the load.

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 (write), resources (resume and cover letter), and scope (tailored to a Himalayas job from the user's Himalayas profile). An agent can distinguish it from sibling document tools like update_document, delete_document, get_document, and list_documents without opening a schema.

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 explicit triggering conditions: 'when the user's CV is generic, they have no cover letter, or an application form asks for one.' This is clear context for when to invoke it, though it does not name an alternative sibling tool or a when-not condition.

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

get_coach_chatGet career coach chatA
Read-only
Inspect

Read one of the user's career coach conversations by slug from list_coach_chats. Uses the connected Himalayas account; no extra sign-in needed.

NameRequiredDescriptionDefault
slugYesChat slug from list_coach_chats

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=false, covering the safety profile. The description adds genuine context by noting it uses the connected Himalayas account with no extra sign-in, but says nothing about failure modes (bad slug, no access) 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.

Conciseness5/5

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

Two tight sentences, with the core action front-loaded ahead of the auth aside. Every clause earns its place with no redundancy.

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?

For a single-parameter read tool with no output schema and read-only annotations, the definition covers purpose, slug provenance, and auth source adequately. It could say a bit more about what a returned conversation contains or how errors surface, but nothing essential to correct invocation is missing.

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 coverage is 100% and the single slug parameter is already documented as coming from list_coach_chats. The description merely restates that provenance, adding no format or constraint detail beyond the schema, so baseline 3 applies.

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 (Read) and resource (one career coach conversation), scoped to the user's own data, and identifies the slug source. This cleanly distinguishes it from the sibling list_coach_chats, which lists many rather than reading one.

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?

Explicitly routes the agent to list_coach_chats as the place to obtain the slug, which establishes the correct call order. It does not state when not to use it or what happens with an invalid/foreign slug, so it falls short of full when/when-not coverage.

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

get_companiesBrowse remote companiesB
Read-only
Inspect

Browse remote-friendly companies with optional filtering by country or worldwide availability

NameRequiredDescriptionDefault
pageNoPage number for pagination (starts at 1)
countryNoFilter companies by country (e.g., 'Canada', 'United States', 'UK')
worldwideNoShow only companies with 100% remote jobs available worldwide (overrides country filter)

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds only that filters are optional ('optional filtering'), and says nothing about pagination behavior or result size, so it adds minimal context beyond the structured fields.

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

Conciseness4/5

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

A single tight sentence with the resource front-loaded and the filter capability trailing. Nothing is wasted, though there is also very little substance to be efficient with.

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 simple read-only browse tool with full schema coverage and annotations carrying the safety profile, the description is minimally adequate. It omits any mention of pagination behavior and any disambiguation from search_companies, which an agent operating in this large sibling set would benefit from.

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 page, country, and worldwide are all documented in the schema, including the override behavior of worldwide. The description repeats the country/worldwide filters but adds no syntax, format, or interaction details beyond what the schema already states; baseline 3 applies.

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?

States a specific verb (browse) and resource (remote-friendly companies) plus the two filter axes. It is clear on its own, but does not distinguish itself from siblings like search_companies or get_company_details, so an agent must guess which of the three to pick.

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

Usage Guidelines2/5

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

No when-to-use or when-not-to-use guidance is given. With search_companies and get_company_details in the sibling list, the description should say when browsing beats searching, but it offers no routing information at all.

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

get_company_detailsGet company detailsB
Read-only
Inspect

Get full details for a company including about, tech stack, benefits, open positions, and social links

NameRequiredDescriptionDefault
company_slugYesCompany slug (e.g., 'stripe', 'gitlab')

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds the useful detail that this returns a broad, multi-section payload rather than a summary, but says nothing about behavior on an unknown slug, partial data availability, or 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.

Conciseness4/5

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

One front-loaded sentence that leads with the verb and resource and then lists the return contents; there is no padding or redundancy. It could be slightly tighter, but every clause carries information.

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?

Because there is no output schema, the description correctly compensates by enumerating the returned sections, and annotations cover safety. It remains incomplete on the disambiguation problem — the agent cannot tell from this description whether get_company_profile or get_companies returns something different.

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 coverage is 100% and the single company_slug parameter already carries a format example ('stripe', 'gitlab'), so the description is right not to repeat it. It adds no extra semantics such as whether the slug is case-sensitive or how it differs from a company ID used elsewhere.

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?

States a specific verb and resource ('Get full details for a company') and enumerates the payload (about, tech stack, benefits, open positions, social links), so the agent knows what it receives. However, it never distinguishes itself from the very similar sibling get_company_profile or get_companies, leaving the near-duplicate names unresolved.

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

Usage Guidelines2/5

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 named alternative. With siblings like get_company_profile, get_companies, and search_companies in the list, the agent must guess which one to call — the description offers nothing to disambiguate.

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

get_company_perksGet company perksA
Read-only
Inspect

Get your company's perks/benefits on Himalayas. Uses the connected Himalayas employer account; no extra sign-in needed.

NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds real value by disclosing the auth model (uses the connected employer account, no extra sign-in) and that results are scoped to 'your company', but says nothing about what is returned or how perks are ordered/limited.

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 short sentences, front-loaded with the action and resource, followed by the one operational caveat an agent needs. No filler.

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?

For a zero-argument, read-only tool with no output schema, the description covers purpose and auth adequately. The main residual gap is the shape of the returned perks list, which neither the description nor an output schema documents.

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

Parameters4/5

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

The tool takes zero parameters, so the baseline is 4; there is nothing for the description to clarify beyond the schema. The account-based scoping note is a mild substitute for an implicit 'company' argument.

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?

States a specific verb+resource: retrieving the caller's company perks/benefits. It is distinguishable from siblings like get_company_profile or get_company_details by naming the perks resource, though it never explicitly contrasts with add_company_perk/remove_company_perk or get_company_details.

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

Usage Guidelines3/5

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

The clause about the connected Himalayas employer account implies the context in which this works, but there is no explicit when-to-use guidance, no exclusions, and no routing to alternatives such as get_company_details.

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

get_company_profileGet company profileA
Read-only
Inspect

Get your company's profile on Himalayas. Uses the connected Himalayas employer account; no extra sign-in needed.

NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered. The description usefully adds that the call runs against the connected Himalayas employer account with no extra sign-in, which is genuine auth context. It stops there, disclosing nothing about what the profile contains or how missing/unlinked accounts behave.

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

Conciseness4/5

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

Two short sentences, purpose front-loaded, no filler or repetition. The second sentence adds auth context rather than routing to an alternative, so it is efficient but not maximally load-bearing.

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?

For a no-param read tool whose annotations already carry the safety profile and which has no return values to document, this is nearly sufficient. The remaining gap is sibling disambiguation in a crowded namespace of company/profile getters, which the description leaves implicit.

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

Parameters4/5

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

The tool takes zero parameters, so there is nothing for the description to disambiguate; baseline 4 applies. No parameter semantics are missing because none exist.

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 description names a specific verb and resource ('Get your company's profile') scoped to the caller's own employer account, which separates it from consumer-facing siblings like get_companies or get_talent_profile. However, it never explicitly distinguishes itself from get_company_details or get_my_profile, so the agent must infer the difference from the 'your company' phrasing alone.

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

Usage Guidelines3/5

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

It implies the use case ('your company's profile', 'connected employer account') but gives no explicit when-to-use statement and names no alternative sibling for contrast. The agent is left to infer that this is the self-scoped counterpart to get_company_details.

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

get_conversationGet employer conversationA
Read-only
Inspect

Get full message history for a conversation. Accepts room_name or talent_slug. Uses the connected Himalayas employer account; no extra sign-in needed.

NameRequiredDescriptionDefault
room_nameNoRoom name from list_conversations
talent_slugNoTalent slug (from search_talent results) — resolves to room name automatically

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered. The description adds genuinely new behavioral context beyond them: the call is scoped to the connected employer account and requires no separate sign-in, and 'full message history' characterizes the payload breadth.

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?

Three short sentences, front-loaded with the core action, then inputs, then auth context. No filler and nothing repeated from the title.

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?

With no output schema, the description correctly characterizes the return as full message history, and it covers auth and input modes. It stops short of stating behavior when neither optional parameter is supplied, a minor gap for a tool with zero required params.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds meaning the schema does not: the two parameters are alternative entry points ('Accepts room_name or talent_slug'), implying either identifier alone is sufficient rather than both being required together.

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?

States a specific verb and resource: 'Get full message history for a conversation.' The mention of the 'connected Himalayas employer account' signals the employer-side scope, which helps separate it from the talent-side get_my_conversation, though that sibling is never named explicitly.

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

Usage Guidelines3/5

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

Usage is implied by the employer-account framing and by the two accepted identifier forms, but there is no explicit when-to-use/when-not guidance and no routing to the near-identical siblings get_my_conversation, list_conversations, or list_my_conversations.

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

get_correct_country_nameResolve country nameA
Read-only
Inspect

Resolve a country name to the correct format accepted by Himalayas filters. Useful for fuzzy matching user input.

NameRequiredDescriptionDefault
country_stringYesThe country name to get the correct name for

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds the normalization intent, but says nothing about behavior on unrecognized input (error vs. best-effort passthrough), which is the main behavioral unknown for a resolver. Adequate but incomplete against the lower bar set by annotations.

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 short sentences, the purpose front-loaded ahead of the use-case hint. No filler, no redundancy with the title.

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?

There is no output schema, so the description should clarify what comes back (a corrected name string? a canonical list?) and how ambiguous or unmatched input is handled. For a simple read-only one-param tool this is a minor but real gap.

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% for the single parameter ('The country name to get the correct name for'), so the schema carries the parameter burden. The description adds no format, casing, or ISO-vs-colloquial guidance 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.

Purpose4/5

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

States a specific verb ('Resolve') and resource ('a country name') plus the target format ('accepted by Himalayas filters'), so the agent knows exactly what the tool produces. No sibling in the list is a plausible substitute, so the lack of explicit sibling differentiation costs little.

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

Usage Guidelines3/5

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

'Useful for fuzzy matching user input' implies the use case (normalizing a user-supplied country before filtering), but there is no explicit when-to-use statement, no when-not, and no named alternative. Usage is inferable rather than stated.

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

get_documentGet resume or cover letterA
Read-only
Inspect

Read one of the user's tailored resumes or cover letters by id (from list_documents). Uses the connected Himalayas account; no extra sign-in needed.

NameRequiredDescriptionDefault
idYesDocument id or slug
typeYes

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered; the description legitimately adds that it operates against the connected Himalayas account with no extra sign-in. It does not describe failure behavior for an unknown id or id/slug mismatch, but the auth context is genuine added value.

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 tight sentences, no filler, and the core action plus id provenance is front-loaded ahead of the secondary account note.

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?

For a two-parameter, read-only tool with no output schema, the description covers the action, the id source, and the auth model. Only minor gaps remain (e.g. whether a slug and numeric id behave identically), which is acceptable given the schema carries the parameter types.

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 50% schema description coverage, the schema documents the id as 'Document id or slug' and constrains type to the resume/cover_letter enum. The description reinforces 'by id' and the id's provenance (list_documents) but adds no format or ordering detail for type selection, so it sits at the adequate baseline.

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 (read) and resource (resume or cover letter), scoped to the user's own tailored documents, and explicitly names the source sibling (list_documents). An agent can distinguish this from the plural enumeration tool and from other 'get_*' siblings without opening a schema.

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?

The parenthetical '(from list_documents)' prescribes the sourcing workflow for the id, which is real when-to-use guidance. It stops short of stating exclusions, e.g. that it only reads documents (not profiles or conversations), so it is clear context rather than full when/when-not routing.

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

get_interview_resultsGet interview practice resultsA
Read-only
Inspect

Get the scores and feedback from the user's interview practice for one job: each answer's rating and feedback, and for voice sessions the overall score, what went well, what to improve, next steps and length. Pass the interview id from list_interviews, or the job's company_slug and job_slug. Uses the connected Himalayas account; no extra sign-in needed.

NameRequiredDescriptionDefault
idNoInterview id from list_interviews
job_slugNoJob slug
company_slugNoCompany slug of the job

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds genuinely useful context beyond that: it uses the connected Himalayas account with 'no extra sign-in needed', and discloses what the returned data contains (ratings, feedback, and voice-session specifics).

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, front-loaded with purpose, then parameter routing, then auth reassurance. The return-value enumeration is long but earns its place since there is no output schema to carry that information.

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?

With no output schema, the description takes on the burden of describing returns and does so well, plus covers auth and both lookup paths. Only minor gaps remain (e.g., behavior when neither key resolves or the interview does not exist), keeping it just under a 5.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds meaning: it explains that the id comes from list_interviews and that company_slug and job_slug are used jointly as an alternative lookup key, which the terse schema descriptions ('Job slug', 'Company slug of the job') do not convey.

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 ('Get the scores and feedback from the user's interview practice for one job') and enumerates the actual return contents, including the voice-session breakdown. An agent can immediately tell it apart from link/list siblings like get_interview_practice_link and list_interviews.

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 clear invocation context: use the id from list_interviews, or the job's company_slug plus job_slug as an alternative key, establishing a natural chaining order. It lacks any explicit when-not-to-use or exclusion relative to siblings, so it stops short of a 5.

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

get_job_detailsGet job detailsA
Read-only
Inspect

Get full details for a specific job including description, requirements and salary. Use the company_slug and job_slug from job listings. To get the employer's application link, call get_apply_link.

NameRequiredDescriptionDefault
job_slugYesJob slug (from the job listing URL)
company_slugYesCompany slug (from the job listing URL or company page)

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds value by disclosing what content is returned (description, requirements, salary) and by steering the application-link case to a different tool.

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 short sentences with zero waste. The core purpose is front-loaded, followed by input sourcing and the sibling redirect, all of which earn their place.

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?

For a read-only lookup with annotations covering safety and no output schema, the description adequately conveys purpose, inputs, and return content. Minor gap: no explicit handling of failure cases (e.g., invalid slugs), but nothing essential is missing.

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 coverage is 100%, so both parameters are already documented in the schema. The description's note about taking the slugs "from job listings" echoes the schema's "from the job listing URL" cue without adding new format or syntax guidance, so the baseline 3 applies.

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?

Specific verb ("Get") plus resource ("full details for a specific job") and it enumerates the returned content (description, requirements, salary). The word "specific" and "full details" distinguish it from listing siblings like get_jobs, search_jobs, and get_related_jobs.

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?

Tells the agent where to source the inputs ("from job listings") and routes a related task to a named alternative (get_apply_link). It lacks an explicit statement of when NOT to use this tool versus listing/search siblings, but the context is clear.

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

get_jobsBrowse remote jobsB
Read-only
Inspect

Browse the latest remote job listings with optional filtering by country or worldwide availability

NameRequiredDescriptionDefault
pageNoPage number for pagination (starts at 1)
countryNoFilter jobs by country (e.g., 'Canada', 'United States', 'UK')
worldwideNoShow ONLY 100% remote jobs available worldwide (overrides country filter)

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the agent knows this is a safe, non-open-world read. The description adds only that country/worldwide filtering is optional; it says nothing about result volume, pagination behavior, or how the 'latest' ordering works, which is the remaining behavioral gap.

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

Conciseness4/5

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

A single front-loaded sentence with no filler that leads with the resource and then the modifiers. It is efficient, though very terse for a tool with six-plus job-related siblings competing for selection.

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?

With no output schema, the description should ideally say what is returned (a list of job listings, roughly how many per page, whether pagination metadata accompanies it). It covers the filtering dimension adequately but leaves the return shape unspecified, which is a meaningful gap for a browse tool.

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 three parameters (page, country, worldwide) are already documented, including the note that worldwide overrides country. The description merely restates that filtering is optional; it adds no format or syntax detail 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.

Purpose4/5

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

States a specific verb (Browse) and resource (the latest remote job listings), so an agent can tell this is a discovery/feed operation. However, it does not distinguish itself from the many siblings that also return jobs, most notably search_jobs and get_related_jobs, so the agent cannot route reliably from the description alone.

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

Usage Guidelines2/5

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

The word 'Browse' hints at feed-style discovery, but nothing states when to use this versus search_jobs, get_saved_jobs, or get_new_matches. There are no exclusions or prerequisites, leaving the choice of tool entirely to inference.

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

get_my_conversationGet inbox conversationA
Read-only
Inspect

Read the latest 30 messages in one conversation in the user's job seeker inbox. Message text is quoted as the sender wrote it. Uses the connected Himalayas account; no extra sign-in needed.

NameRequiredDescriptionDefault
room_nameYesRoom name from list_my_conversations

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and openWorldHint, so safety is covered. The description adds genuinely useful behavior beyond that: a 30-message cap, verbatim message quoting, and that no extra sign-in is needed. It omits pagination behavior beyond the cap, but the added context is substantive.

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

Conciseness4/5

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

Three tight sentences, front-loaded with the core action and scope. Each sentence carries information (purpose, data fidelity, auth), though the auth remark is somewhat light in value for an agent.

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?

With no output schema, the description does some work on returns (latest 30 messages, verbatim text), and annotations cover the read-only safety profile. For a single-parameter read tool this is close to complete, lacking only pagination or error detail.

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 coverage is 100% and the single room_name parameter is documented with its source (list_my_conversations). The description adds no syntax or format detail 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.

Purpose4/5

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

States a specific verb (Read), resource (one conversation), scope (user's job seeker inbox), and the limit of the latest 30 messages. It is clear what the tool returns, but it does not differentiate itself from the sibling get_conversation, leaving ambiguity about which to pick.

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

Usage Guidelines2/5

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

No explicit when-to-use guidance or alternatives. It never explains the relationship to get_conversation or list_my_conversations, and while the schema points at list_my_conversations for the room name, the description itself gives no routing logic.

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

get_my_profileGet my profileA
Read-only
Inspect

Get your Himalayas profile information. Uses the connected Himalayas account; no extra sign-in needed.

NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered. The description does add genuinely useful behavioral context beyond them: the data comes from the connected Himalayas account and requires no additional sign-in, which tells the agent it will never be bounced into an auth flow. It does not disclose what the profile response contains, which is a meaningful gap for a 'get' tool with no output schema.

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 short sentences, purpose first, auth caveat second. Neither sentence is padding and nothing is buried or repeated.

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?

For a zero-parameter, read-only tool whose annotations already carry the safety profile, the description covers purpose and access model. The one omission is the shape of the returned profile data, which matters slightly more because there is no output schema, but an agent can still call this correctly without it.

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

Parameters4/5

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

Zero parameters, so there is nothing for the description to disambiguate; the baseline of 4 applies. No parameter-level information is expected or missing here.

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?

States a specific verb and resource ('Get your Himalayas profile information'), which is clear enough to separate it from write siblings like update_profile and import_profile. However, it never explicitly distinguishes itself from read siblings such as get_talent_profile or get_company_profile; the possessive 'your' implies self-scope but the description does not call that out.

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

Usage Guidelines2/5

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

The description gives no when-to-use guidance and names no alternative (e.g., 'use get_talent_profile to view another member's profile'). The only usage-adjacent statement is the auth note, which is a precondition rather than a selection rule.

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

get_new_matchesGet new job matchesAInspect

Get jobs matching the user's Himalayas profile that were posted since an agent last checked, leaving out jobs already in their tracker. The check-in point is saved on the account, so it carries across sessions and agents; a first check looks back 7 days. Plus members get the jobs; free accounts get how many there are. Uses the connected Himalayas account; no extra sign-in needed.

NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior5/5

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

Discloses a lot beyond the annotations: the check-in point is persisted server-side and carries across sessions/agents, which explains the readOnlyHint=false and idempotentHint=false (each call advances state). It also covers no extra sign-in (auth via connected account) and the plus-vs-free tier gating on the response.

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

Conciseness4/5

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

Front-loads the purpose, then layers on increment semantics, persistence, and tier rules in roughly four dense sentences. Slightly long, but every sentence carries useful information; no filler.

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?

With no output schema, the description still explains what comes back - full jobs for plus members, a count for free accounts - which is essential. It stops short of describing the job object's shape or pagination, so it is not fully complete, but it is adequate for calling the tool correctly.

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

Parameters4/5

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

The tool takes zero parameters, so the baseline is 4; there is nothing for the description to clarify and it does not fabricate parameters. No further schema detail is possible or needed.

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 ('get jobs matching the user's Himalayas profile') plus a precise scope ('posted since an agent last checked', 'leaving out jobs already in their tracker'). This clearly distinguishes it from siblings like get_jobs, search_jobs, get_related_jobs, and get_saved_jobs.

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 clear triggering context ('new' matches since the last check, 7-day lookback on first run) that tells the agent when this is the right tool. It does not explicitly name an alternative (e.g., search_jobs for historical browsing, get_saved_jobs for tracked jobs), so it just misses the 5 bar.

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

get_remote_work_statisticsGet remote work statisticsB
Read-only
Inspect

Get remote work statistics: top skills, job categories, industries, or countries by job/company count.

NameRequiredDescriptionDefault
typeNoType of breakdown: 'skills', 'categories', 'countries', or 'industries' (default: skills). 'industries' only works with record='companies'.
recordNoWhat to get stats for: 'jobs' or 'companies' (default: jobs)
countryNoFilter stats by country (e.g., 'United States', 'Germany')

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds that results are aggregated rankings 'by job/company count', which is useful beyond the annotations, but it says nothing about result size, defaults applied, or empty-result behavior.

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?

A single front-loaded sentence with a colon-delimited enumeration; every clause earns its place and nothing is padded.

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 three-optional-parameter, zero-required analytics tool with no output schema, the description conveys the shape of the result (ranked top items by count) but omits how many items are returned and how the country filter interacts across dimensions. Adequate but with clear gaps.

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%, including the important constraint that 'industries' only works with record='companies' and the defaults for both enums. The description restates the dimension names but adds no semantics 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.

Purpose4/5

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

States a specific verb ('Get') and resource ('remote work statistics'), then enumerates the four breakdown dimensions the tool can return. It clearly distinguishes itself from list/search siblings, though it does not explicitly separate itself from adjacent analytics tools like get_salary_data.

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

Usage Guidelines2/5

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

There is no guidance on when to choose this tool over get_salary_data, get_jobs, or get_companies, and no exclusions or prerequisites stated. The usage context is only implied by the resource name.

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

get_salary_dataGet salary dataA
Read-only
Inspect

Get salary benchmarks for remote jobs by job title, with optional seniority and country filters. Returns min, max, and median salary in USD.

NameRequiredDescriptionDefault
countryNoCountry slug to filter by (e.g., 'united-states', 'united-kingdom', 'germany')
job_titleYesJob title to look up salary for (e.g., 'software-engineer', 'product-manager', 'data-scientist'). Use hyphens instead of spaces.
seniorityNoSeniority level (e.g., 'senior', 'junior', 'lead', 'mid')

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds genuine value by disclosing the return shape and currency (min, max, median in USD), but says nothing about data freshness, coverage limits, or behavior when a title has no benchmark data.

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 tight sentences: the first front-loads what is retrieved and how it is filtered, the second states the returned metrics. There is no filler or redundancy.

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?

With no output schema, the description usefully compensates by enumerating the returned fields and currency. It stops short of covering edge cases (unknown title, no data for a country/seniority pair, pagination), which would be the remaining gap for a lookup tool.

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%, with every parameter documented with examples and slug formats. The description restates that seniority and country are optional filters, which is consistent but adds no syntax or format detail beyond what the schema already gives, so the baseline of 3 applies.

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?

The description states a specific verb (get) and resource (salary benchmarks for remote jobs) and names the two optional axes of filtering (seniority, country). It is unmistakably distinct from the surrounding job/profile/company-management siblings, so an agent can select 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.

Usage Guidelines3/5

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

Usage is only implied: the agent can infer this is the tool for looking up pay when a job title is known, and that seniority/country are optional refinements. There is no explicit when-to-use, no exclusion of adjacent tools like get_remote_work_statistics or get_job_details, and no note on prerequisites.

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

get_saved_jobsGet saved jobsA
Read-only
Inspect

List every job in the user's Himalayas job application tracker with its status (saved, applied, interviewing, negotiation, hired, archived), outcome, salary, notes and links, for tracking applications and seeing where each one stands. Uses the connected Himalayas account; no extra sign-in needed.

NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already establish readOnlyHint=true and openWorldHint=false, so the safety profile is clear. The description adds useful context by naming the returned fields and statuses and noting that it uses the connected Himalayas account with no extra sign-in, though it omits pagination or ordering behavior.

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?

The purpose and scope are front-loaded in the first clause, followed by the returned status values and fields. The second sentence adds concise authentication context without waste; every sentence contributes useful information.

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?

With no output schema, the description carries the burden of explaining return values and does so by enumerating statuses plus outcome, salary, notes, and links. It is nearly complete for a zero-parameter list tool, but does not mention result volume or pagination.

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

Parameters4/5

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

The tool has zero parameters, so the baseline is 4. The description does not need to explain parameter syntax, and the empty schema is consistent with a simple list operation.

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: 'List every job in the user's Himalayas job application tracker,' and clarifies the scope as the user's saved/application tracker. This distinguishes it from broader job-search siblings like get_jobs or search_jobs by tying it to the application tracker.

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

Usage Guidelines3/5

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

Explains the use case as 'tracking applications and seeing where each one stands,' which implies when to use it. However, it does not explicitly contrast it with siblings such as get_jobs, search_jobs, remove_saved_job, or update_job_status, leaving the agent to infer the boundary.

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

get_talent_profileGet talent profileA
Read-only
Inspect

Get full details for a candidate including bio, all experiences, education, tech stack, social links, and more. Use the talent_slug from search_talent results. Uses the connected Himalayas account; no extra sign-in needed.

NameRequiredDescriptionDefault
talent_slugYesTalent slug from search_talent (e.g. 'john-doe'). Also accepts '@john-doe' or a himalayas.app/@slug profile URL.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered. The description adds non-redundant behavioral context: the call leverages the connected Himalayas account and requires no additional authentication, which matters for an agent deciding whether it can call it unattended. It says nothing about rate limits or pagination, keeping it short of a 5.

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?

Three short sentences, front-loaded with the payload description and followed by the two operational facts an agent needs (input source, auth state). No filler, no restated title.

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?

For a single-parameter read tool with no output schema, the description adequately signals the return contents by enumerating the profile sections. It could still say more about the response shape or what happens for an unknown slug, but nothing essential to invoking it correctly is missing.

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% and the schema already documents talent_slug plus its accepted formats ('@john-doe', profile URL). The description only restates the source of the slug (search_talent), adding marginal meaning beyond the structured field, so the baseline 3 applies.

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 ('Get full details for a candidate') and enumerates the payload (bio, experiences, education, tech stack, social links). It also distinguishes itself from the sibling search_talent by positioning this as the detail-fetch that consumes search output, and from get_my_profile by scoping to a candidate rather than the caller.

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?

Explicitly tells the agent where the required input comes from ('Use the talent_slug from search_talent results'), which is a genuine routing instruction. It adds auth context ('no extra sign-in needed') but stops short of naming when-not-to-use or an alternative detail source.

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

import_profileImport profile from LinkedIn or resumeA
Destructive
Inspect

Fill in the user's Himalayas profile from their LinkedIn profile URL or their resume text. Runs in the background for a few minutes; get_my_profile shows the result. append_only adds what's missing and keeps what's there; replace_all overwrites the profile, so ask the user first. Uses the connected Himalayas account; no extra sign-in needed.

NameRequiredDescriptionDefault
modeNoDefault append_only
resume_textNoThe full text of their resume
linkedin_urlNoTheir LinkedIn profile URL, e.g. https://www.linkedin.com/in/name

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already flag non-read-only and destructive, but the description adds behavior the schema cannot express: the call returns immediately while work continues in the background for minutes, the output is surfaced via get_my_profile, replace_all is irreversible and needs user confirmation, and no separate sign-in is required. This is exactly the added context the annotations leave out.

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?

Four short sentences with no filler; purpose and inputs lead, the asynchronous/retrieval detail and mode trade-off follow. Every sentence carries information an agent needs.

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

Completeness5/5

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

For an async, destructive-capable import tool with no output schema, the description covers initiation, expected latency, how to observe the result, the destructive path and its confirmation requirement, and auth expectations — nothing material is missing.

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

Parameters4/5

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

Schema coverage is 100%, so baseline is 3, but the description goes beyond the schema's terse "Default append_only" by explaining the semantic effect of each mode value and implying that at least one of linkedin_url or resume_text must be supplied (both are optional in the schema).

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 (fill in / import) on a specific resource (the user's Himalayas profile) and names both accepted input sources (LinkedIn URL, resume text). This clearly separates it from siblings like update_profile (manual edits) and get_my_profile (retrieval).

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?

Explains the mode choice explicitly — append_only adds missing fields and keeps existing ones, replace_all overwrites so the user must be asked first — and routes the agent to get_my_profile for the result. It stops short of naming sibling alternatives such as update_profile for piecemeal edits, so it is clear context rather than full when/when-not guidance.

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

join_radar_waitlistJoin Radar waitlistA
Idempotent
Inspect

Join the waitlist for Himalayas Radar, a plan for people who are employed or not actively searching: alerts only for roles that beat their bar, a private open-to-offers mode with their current employer hidden, and a monthly salary check. Radar isn't available yet, so there is nothing to pay; Himalayas emails the user when it launches. Call it only if the user wants to join. Uses the connected Himalayas account; no extra sign-in needed.

NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior4/5

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

Annotations cover the safety profile (readOnlyHint=false, idempotentHint=true, destructiveHint=false), and the description adds real context beyond them: no payment is taken now, the company emails on launch, and the connected account is used with no extra sign-in. It stops short of describing what happens on a repeat call, though idempotentHint partially covers that.

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 purpose is front-loaded in the first clause, but the second sentence is largely product marketing (alerts, open-to-offers mode, salary check) that does not help an agent decide or invoke. The operationally relevant points (no payment, email on launch, no extra sign-in, call only if the user wants it) are buried around it.

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?

For a parameterless, non-destructive action with no output schema, the description covers the important agent-facing facts: no cost now, deferred fulfillment by email, and use of the existing account. Nothing critical is missing, though the outcome of an already-joined state is left implicit.

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

Parameters4/5

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

The tool takes zero parameters, so the baseline is 4 and there is nothing for the description to disambiguate. No parameter text is needed or missing.

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 ('Join the waitlist for Himalayas Radar') and further qualifies what the product is. It is unmistakable against the sibling list, which contains no other waitlist/signup-style tools.

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?

Explicitly bounds invocation with 'Call it only if the user wants to join,' giving a clear when-to-call condition. It does not name an alternative tool, but no sibling provides comparable functionality, so the restriction is sufficient.

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

list_coach_chatsList career coach chatsA
Read-only
Inspect

List the user's conversations with the Himalayas career coach, newest first, with titles, dates and links. get_coach_chat reads one. Uses the connected Himalayas account; no extra sign-in needed.

NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so with that lower bar the description still adds real context: it discloses ordering ("newest first"), the returned fields, and an auth trait ("Uses the connected Himalayas account; no extra sign-in needed"). It omits pagination/limit behavior, so it falls short of a 5.

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?

Three short sentences, front-loaded with the core action and scope, followed by sibling routing and auth note. Every sentence earns its place with no filler.

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?

For a zero-param read tool with no output schema that already carries safety annotations, the description covers scope, return fields, ordering, and auth. Pagination or result-limit behavior is the only material gap, which is minor here.

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

Parameters4/5

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

The tool takes zero parameters, so the baseline is 4. Nothing in the description needs to compensate for undocumented inputs.

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 (List), resource (career coach conversations), scope (the user's own chats), ordering (newest first), and return fields (titles, dates, links). It also names the singular sibling get_coach_chat, separating it from the many generic list_* tools like list_conversations.

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?

"get_coach_chat reads one" explicitly routes the agent to the singular-read alternative, establishing a clear list-vs-read distinction. There is no explicit when-not or exclusion, but the context is unambiguous.

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

list_company_jobsList company jobsA
Read-only
Inspect

List your company's job postings on Himalayas. Shows status, views, clicks, and expiry. Uses the connected Himalayas employer account; no extra sign-in needed.

NameRequiredDescriptionDefault
pageNoPage number for pagination (starts at 1)

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare this as read-only and not open-world. The description adds useful context beyond annotations: it discloses the connected employer account requirement, says no extra sign-in is needed, and lists returned metrics, though it omits pagination behavior and 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?

The description is three compact sentences with no filler. It front-loads the core action and then adds account and return-value context efficiently.

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?

For a simple read-only list tool with no output schema, the description gives adequate context: what is listed, what fields are shown, and which account is used. It could be slightly more complete by mentioning pagination behavior or result ordering, but no critical gap prevents correct invocation.

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%, and the single page parameter is fully documented in the schema. The description adds no pagination syntax, default, or page-size details beyond the schema, so the baseline of 3 is appropriate.

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?

The description states a specific verb and resource: listing the company's job postings on Himalayas. It also names the key returned fields (status, views, clicks, expiry), which helps distinguish it from sibling detail or mutation tools like show_company_job, create_company_job, and update_company_job.

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 clearly positions the tool for an employer viewing their own company's postings via the connected Himalayas employer account. However, it does not explicitly say when to prefer this over related tools like get_jobs, search_jobs, or show_company_job, so it lacks exclusion guidance.

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

list_conversationsList employer conversationsA
Read-only
Inspect

List all your messaging conversations with last message preview. Shows conversation status (awaiting reply, new reply, read). Uses the connected Himalayas employer account; no extra sign-in needed.

NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered. The description goes beyond them by disclosing the return payload ('last message preview') and the enumerated status values (awaiting reply, new reply, read), plus the auth model ('no extra sign-in needed') – genuinely useful context for a tool with no output schema.

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

Conciseness4/5

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

Three short sentences, front-loaded with the core action and progressively adding scope, return content, and auth context. Each sentence carries information; only the auth sentence is arguably marginal, but it is brief.

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?

For a read-only, parameterless list tool with no output schema, the description covers what is returned (preview + statuses) and the account context needed to call it. Missing only minor operational detail such as ordering or pagination limits, which is acceptable at this complexity.

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

Parameters4/5

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

The tool takes zero parameters, so there is nothing for the description to disambiguate; the baseline for a parameterless tool applies. No missing parameter context.

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?

States a specific verb and resource ('List all your messaging conversations') and adds scope via 'employer account', which distinguishes it from the candidate-side conversation tools in the sibling list. It stops short of naming the sibling it contrasts with (e.g. list_my_conversations), so differentiation is implied rather than explicit.

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

Usage Guidelines3/5

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

The phrase 'Uses the connected Himalayas employer account' implies this is the employer-side listing, which is the key selection context against list_my_conversations and get_my_conversation. However there is no explicit when-to-use/when-not-to guidance and no alternative named, so usage must be inferred.

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

list_documentsList resumes and cover lettersA
Read-only
Inspect

List the user's tailored resumes and cover letters on Himalayas, newest first, with ids and edit links. Uses the connected Himalayas account; no extra sign-in needed.

NameRequiredDescriptionDefault
typeNoOnly resumes or only cover letters (default: both)

TDQS

A4/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnlyHint=true, openWorldHint=false), yet the description adds real value: sort order (newest first), the fields returned (ids and edit links), and that the connected Himalayas account is used with no extra sign-in. It does not mention pagination or result 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 tightly written sentences, with the core action and scope front-loaded and the account note trailing. No filler or repetition.

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?

No output schema exists, and the description compensates by naming the returned fields and ordering, so an agent knows what it gets. It stops short of mentioning pagination or volume, which would matter for a list tool on a potentially long collection.

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 coverage is 100% with a single enum parameter, so the schema fully documents the resume/cover_letter filter including the 'both' default. The description adds no syntax or usage detail for that filter, so baseline 3 applies.

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 (List) and resource (tailored resumes and cover letters), plus the ordering (newest first) and the returns (ids, edit links). It is clearly distinguishable from siblings like list_headshots and get_document.

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

Usage Guidelines3/5

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

The description implies the tool is for enumerating the user's own generated documents and notes the account context, but it never states when to use this versus get_document for a single item or delete_document/update_document for acting on one. No explicit alternatives or exclusions.

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

list_headshotsList headshotsA
Read-only
Inspect

List the AI headshots the user has made on Himalayas, newest first: each session's finished images with ids and URLs, and a link to see them. use_headshot_as_profile_photo sets one as the profile photo. Uses the connected Himalayas account; no extra sign-in needed.

NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already establish readOnlyHint=true and openWorldHint=false, and the description adds useful behavior beyond them: results are newest first, each session contains finished images with ids and URLs plus a link, and the connected Himalayas account is used without extra sign-in. It does not discuss pagination or limits, but with annotations covering the safety profile this is solid.

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?

The description is three compact sentences, front-loaded with the core action and result shape, followed by the related tool and auth context. Every sentence contributes useful information and there is no filler.

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

Completeness5/5

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

For a read-only, zero-parameter listing tool with no output schema, the description sufficiently explains what is returned (finished images with ids and URLs, plus a link), ordering, and authentication context. Nothing critical for selecting or invoking the tool is missing.

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

Parameters4/5

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

The tool has zero parameters, so there are no parameter semantics to document. Baseline for a zero-parameter tool is 4; the description correctly does not invent parameter guidance and instead focuses on return content.

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?

The description uses a specific verb and resource ('List the AI headshots'), states scope ('the user has made on Himalayas'), and distinguishes the result from the sibling action tool by noting that use_headshot_as_profile_photo sets one as the profile photo. An agent can identify this as the read/list operation 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.

Usage Guidelines4/5

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

It gives clear context for when this tool applies: listing the user's existing AI headshots, newest first, with their finished images and links. It also names the related next-step tool use_headshot_as_profile_photo, though it does not explicitly contrast this with get_headshots_link or provide exclusion conditions.

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

list_interviewsList interview practiceA
Read-only
Inspect

List the user's interview practice on Himalayas: each job they practised for, when, and the link to practise again, plus the voice minutes and credits they have left. get_interview_results shows the scores. Uses the connected Himalayas account; no extra sign-in needed.

NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds value beyond that by enumerating the concrete returned fields (practice history, remaining voice minutes/credits) and confirming no additional authentication is required.

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

Conciseness4/5

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

Front-loaded with the verb and resource, then the returned contents, then the sibling pointer and auth note. Three tightly packed sentences with no filler, though the enumerated payload runs slightly long.

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

Completeness5/5

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

With no output schema, the description carries the burden of describing returns and does so thoroughly (jobs, timing, link, voice minutes, credits). Combined with the read-only annotation, an agent has everything needed to call and interpret it correctly.

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

Parameters4/5

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

The tool takes zero parameters, so there is nothing for the description to disambiguate; the baseline for a no-param tool applies. The description correctly focuses on output rather than inventing parameter semantics.

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?

Specific verb (List) and resource (user's interview practice on Himalayas), with the payload spelled out: each job practised for, when, the re-practise link, voice minutes, and credits. It also explicitly differentiates itself from get_interview_results ('shows the scores'), so an agent can distinguish it from siblings without opening a schema.

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 names the sibling alternative get_interview_results and the condition that routes to it (scores), and clarifies the auth model ('Uses the connected Himalayas account; no extra sign-in needed'). It stops short of stating explicit when-not conditions, but the routing guidance is clear.

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

list_my_conversationsList my inboxA
Read-only
Inspect

List the user's job seeker inbox: conversations companies and recruiters started with them on Himalayas, newest first, with the last message and whether it needs a reply. For an employer's conversations with candidates, use list_conversations. Uses the connected Himalayas account; no extra sign-in needed.

NameRequiredDescriptionDefault

No parameters

TDQS

A4.7/5.0
Behavior4/5

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

The readOnlyHint already tells the agent this is a safe read operation, and the description adds useful context: results are newest first, include the last message and whether a reply is needed, and use the connected Himalayas account without extra sign-in. It does not cover pagination or response shape, but for a zero-parameter list tool the added behavioral context is solid.

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 are front-loaded with the tool's scope and routing guidance, with no wasted text. The distinction from list_conversations appears exactly where an agent needs it.

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

Completeness5/5

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

For a simple zero-parameter inbox listing with annotations covering safety and closed-world behavior, the description supplies enough context about ordering, included message data, and account usage. Nothing essential for correct invocation is missing.

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

Parameters4/5

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

The tool has zero parameters, so there are no parameter semantics to explain. The baseline for this situation is 4, and the description does not need to compensate for missing input details.

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?

The description gives a specific verb and resource: listing the user's job seeker inbox conversations, with scope and return details such as newest-first ordering and last-message/reply-needed information. It also clearly distinguishes this from the employer-side list_conversations sibling.

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

Usage Guidelines5/5

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

It explicitly states when to use this tool versus list_conversations: this is for the job seeker's inbox with companies and recruiters, while list_conversations is for an employer's conversations with candidates. No alternative is left ambiguous for the primary use case.

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

list_notificationsList notificationsA
Read-only
Inspect

List the user's newest Himalayas notifications (up to 20), such as finished headshots, profile imports and community replies, with ids and whether each is read. Uses the connected Himalayas account; no extra sign-in needed.

NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the description isn't carrying the safety burden. It still adds real behavioral context beyond them: a hard cap of 20 results, newest-first ordering, and the returned fields (ids plus read status), which matters because no output schema exists.

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

Conciseness4/5

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

Two sentences, front-loaded with the action and scope, with the account/auth note at the end. Everything is relevant, though the trailing 'no extra sign-in needed' clause is the least load-bearing part.

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?

With no output schema, the description usefully compensates by naming the returned fields and result cap, and annotations cover the read-only safety profile. For a zero-parameter list tool this is essentially complete, missing only ordering/refresh semantics and an explicit sibling hand-off.

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

Parameters4/5

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

The tool takes zero parameters, so there is nothing for the description to disambiguate; baseline 4 applies. The mention of scope (up to 20, newest) partially describes the implicit query rather than any parameter.

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 (List) and resource (notifications) plus scope (up to 20, newest first) and concrete content types (headshots, profile imports, community replies). An agent can immediately distinguish this retrieval tool from the sibling mark_notifications_read without opening either schema.

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

Usage Guidelines3/5

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

Usage is implied as the way to view notifications, and it notes the connected account removes the need for extra sign-in. However, it never explicitly says when to call this versus mark_notifications_read or the other list_* siblings, leaving the choice to inference.

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

list_saved_answersList saved application answersA
Read-only
Inspect

List the answers the user saved to job application questions on Himalayas (for example work authorisation or notice period), with ids. Uses the connected Himalayas account; no extra sign-in needed.

NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safe read profile is covered. The description adds genuine context by noting it 'uses the connected Himalayas account; no extra sign-in needed', but it does not disclose return format 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.

Conciseness5/5

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

Two sentences, front-loaded with the core action and example content, followed by a brief auth note. No filler and no redundancy with the title.

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?

For a zero-param list tool with no output schema and annotations covering the safety profile, the definition is nearly complete. It signals the 'ids' returned and auth expectations; only an explicit note on the returned structure/pagination is missing.

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

Parameters4/5

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

Zero parameters, so per the rubric the baseline is 4. The schema is empty and 100% covered; the description correctly avoids inventing parameter detail and adds nothing to mislead.

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?

States a specific verb and resource ('List the answers the user saved to job application questions on Himalayas') and grounds it with concrete examples ('work authorisation or notice period'). The 'list' verb naturally separates it from delete_saved_answer and update_saved_answer, though it never names those siblings explicitly.

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

Usage Guidelines3/5

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

The purpose implies when to reach for it (fetching saved answers), and 'with ids' hints the result is meant to feed follow-up operations. But there is no explicit when-to-use, when-not, or alternative (e.g. update_saved_answer/delete_saved_answer) guidance.

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

mark_message_readMark employer message readA
Idempotent
Inspect

Mark a message as read by its ID. Uses the connected Himalayas employer account; no extra sign-in needed.

NameRequiredDescriptionDefault
room_nameNoRoom name from list_conversations
message_idYesMessage ID to mark as read
talent_slugNoTalent slug (from search_talent results) — resolves to room name automatically

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare idempotentHint=true, destructiveHint=false, openWorldHint=false and readOnlyHint=false, so the state-change and safety profile is covered. The description contributes one genuinely new fact — that authentication uses the connected employer account with "no extra sign-in needed" — but says nothing about failure modes (unknown/invalid message ID, messages in the wrong room) and adds nothing to the idempotency already stated.

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 short sentences, the action and its identifier front-loaded, and the auth/scope caveat following. No filler, no repetition of the title.

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 simple, annotation-covered mutation with no output schema this is close to sufficient, but it omits the one thing an agent might get wrong: the room_name vs talent_slug alternatives and how message_id is scoped if neither is supplied. Barely adequate rather than complete.

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 three parameters are documented in the schema itself, which sets the baseline at 3. "By its ID" merely echoes the message_id description and does not clarify the relationship between the optional room_name and talent_slug parameters (which reportedly resolve to a room automatically) or whether either is required in practice.

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?

States a specific verb ("Mark ... as read") and resource ("a message ... by its ID"), and the phrase "connected Himalayas employer account" signals it is the employer-side counterpart to the sibling mark_my_message_read. It does not name that sibling explicitly, so differentiation requires the agent to infer it from the 'employer' qualifier.

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

Usage Guidelines3/5

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

The employer-account framing implies the calling context (acting on employer conversations, not the candidate's own inbox), which is useful routing information against mark_my_message_read. However there is no explicit when-to-use/when-not-to-use statement and no mention of prerequisites such as needing an existing conversation.

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

mark_my_message_readMark inbox message readA
Idempotent
Inspect

Mark a message in the user's job seeker inbox as read. Uses the connected Himalayas account; no extra sign-in needed.

NameRequiredDescriptionDefault
room_nameYesRoom name from list_my_conversations
message_idYesMessage id from get_my_conversation

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=true, and openWorldHint=false, so the safety profile is covered. The description adds genuinely new context beyond the annotations: the operation runs against the connected Himalayas account with no extra sign-in. It does not explain what happens to an already-read message or whether the change is reversible, but idempotentHint already covers repeats.

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 short sentences, zero filler, with the core action front-loaded before the auth clarification. Both sentences carry information an agent can act on.

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?

For a simple two-parameter mutation with full schema coverage, complete annotations, and no output schema, the description supplies the missing auth context and scope. What remains thin is behavioral detail on failure/edge cases (already-read messages, invalid room_name), which the annotations partly absorb.

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% and both parameters (room_name, message_id) are documented in the schema, including which sibling tool supplies each value. The description adds nothing about parameter format or constraints 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.

Purpose4/5

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

The description states a specific verb ('Mark ... as read') and resource ('a message in the user's job seeker inbox'), which is more precise than the bare title. The 'job seeker inbox' scoping implicitly separates it from the sibling mark_message_read (recruiter/company side), but it never names that sibling, so the differentiation is inferential rather than explicit.

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

Usage Guidelines3/5

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

Usage is implied: call this when a message in the seeker inbox should be marked read. There is no explicit when-to-use guidance, no mention of the closely related mark_message_read, and no note about prerequisites (e.g., needing an unread message or an existing room). Adequate but with clear gaps.

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

mark_notifications_readMark notifications readA
Idempotent
Inspect

Mark one of the user's Himalayas notifications as read by id, or all of them with all: true. Uses the connected Himalayas account; no extra sign-in needed.

NameRequiredDescriptionDefault
idNoNotification id from list_notifications
allNotrue marks every notification as read

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare idempotentHint=true, destructiveHint=false, readOnlyHint=false and openWorldHint=false, so the safety profile is covered. The description adds one genuinely useful behavioral fact not in the annotations: it authenticates against the connected Himalayas account with no extra sign-in. It says nothing about the result of omitting both parameters (a no-op?) or the state change semantics.

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

Conciseness4/5

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

Two short sentences, front-loaded with the operation and its two modes, with no filler. The closing auth sentence is slightly tangential to the call itself but is cheap and informative.

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?

A low-complexity two-parameter mutation with full schema coverage and no output schema; the description plus annotations give the agent enough to invoke it correctly. Only minor gaps remain: no statement of what happens with zero arguments and no cross-reference to the sibling message-marking tools.

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% and both parameters are already documented in the schema ('Notification id from list_notifications', 'true marks every notification as read'). The description restates the same semantics rather than adding syntax, defaults, or interaction rules (e.g. precedence when id and all are both supplied), which is the appropriate baseline 3.

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?

States a specific verb and resource ('mark ... notifications as read') and covers both single-target and bulk modes via 'id' or 'all: true'. It does not, however, differentiate itself from the closely named siblings mark_message_read and mark_my_message_read, leaving the agent to infer the notification-vs-message split from the resource noun alone.

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

Usage Guidelines3/5

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

The description tells the agent how to pick between id and all: true, which is implied usage guidance, but it offers no when-to-use or when-not-to-use context, no prerequisite (e.g. notifications must exist, call list_notifications first), and no routing away from the message-marking siblings.

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

purchase_job_extrasPurchase job extrasA
Destructive
Inspect

Purchase paid extras for an existing job posting: sticky ($299), newsletter ($99). Returns a Stripe checkout URL. Uses the connected Himalayas employer account; no extra sign-in needed.

NameRequiredDescriptionDefault
extrasYesExtras to purchase: 'sticky' ($299 pin to top), 'newsletter' ($99 weekly email feature)
job_slugYesJob slug to add extras to

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false, destructiveHint=true and openWorldHint=true, so the safety profile is covered. The description adds value the annotations do not: it discloses the return artifact (Stripe checkout URL) and the authentication model (connected Himalayas employer account, no extra sign-in). It does not explain what the destructive/spend consequence actually is, which keeps it from a 5.

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?

A single compact sentence front-loads the action and options, then adds the return value and auth note. Every clause carries information an agent needs; there is no filler.

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?

With no output schema, the description usefully covers the return value (checkout URL), the auth path, and the purchasable items with prices. It leaves minor gaps around failure behavior and whether repeat purchases are permitted (consistent with idempotentHint=false), but nothing critical for correct invocation is missing.

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%, with both job_slug and the extras enum documented in the schema itself. The description restates the same price/option mapping ('sticky ($299), newsletter ($99)') without adding format, validation, or ordering semantics. Baseline 3 applies 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.

Purpose5/5

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

States a specific verb+resource ('purchase paid extras for an existing job posting') and immediately enumerates the purchasable options with prices. It clearly differentiates from siblings like get_plus_checkout_link or check_job_payment_status by naming the artifact (job extras) and the outcome (Stripe checkout URL).

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

Usage Guidelines3/5

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

The phrase 'for an existing job posting' implies a prerequisite, and the auth note tells the agent which account context is used. However, it never names an alternative or states when-not to use this (e.g., use check_job_payment_status to verify an existing purchase instead of re-purchasing). Usage is implied, not spelled out.

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

remove_company_perkRemove company perkA
DestructiveIdempotent
Inspect

Remove a perk/benefit from your company on Himalayas. Uses the connected Himalayas employer account; no extra sign-in needed.

NameRequiredDescriptionDefault
idYesPerk ID to remove (use get_company_perks to find IDs)

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, idempotentHint=true, and readOnlyHint=false, so the safety profile is largely covered. The description adds useful auth context ('connected Himalayas employer account; no extra sign-in needed') but does not disclose whether the removal is permanent or recoverable, which with annotations present keeps this at a 3.

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 short sentences, with the purpose front-loaded ahead of the auth note. Every clause earns its place and there is no padding.

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?

A simple one-parameter mutation with no output schema and full annotation coverage; the description plus annotations give an agent enough to call it correctly. Slightly short of perfect only because permanence/reversibility of the deletion is not addressed.

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%, and the id parameter's description already points to get_company_perks for ID lookup. The tool description adds nothing about parameters beyond this, so the baseline 3 applies.

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?

States a specific verb ('Remove') and resource ('a perk/benefit from your company'), making it clearly distinguishable from the sibling add_company_perk. It does not explicitly name siblings, but the action and scope are unambiguous.

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

Usage Guidelines3/5

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

Usage is implied by the concrete verb and the ID-fetching pointer in the schema, but the description offers no explicit when-to-use guidance or exclusions versus alternatives like get_company_perks. Adequate but with a clear gap.

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

remove_saved_jobRemove saved jobB
DestructiveIdempotent
Inspect

Remove a job from your application tracker. Uses the connected Himalayas account; no extra sign-in needed.

NameRequiredDescriptionDefault
idYesKanban item ID to remove

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, idempotentHint=true, and openWorldHint=false, so the safety profile is covered. The description adds useful auth context ('connected Himalayas account; no extra sign-in needed'), but does not clarify what is actually destroyed (tracker entry vs. underlying job/application data) or whether the action is undoable.

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 short sentences, the action stated first and the account/auth note second. No filler or redundancy.

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?

For a single-parameter removal tool whose annotations already flag destructiveness and idempotency, the description is nearly sufficient. It leaves only minor gaps: confirmation of the effect scope and of any return value, though no output schema exists to defer to.

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% for the single 'id' parameter, so the schema already explains 'Kanban item ID to remove'. The description adds no meaning 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.

Purpose4/5

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

States a specific verb ('Remove') and resource ('a job from your application tracker'), making the domain clear. It does not explicitly name the inverse sibling save_job or distinguish itself from skip_job/delete_saved_answer, so an agent infers rather than is told.

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

Usage Guidelines2/5

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

No when-to-use, prerequisites, or alternatives are given. Nothing tells the agent whether this should be preferred over skip_job or when a saved job should be removed rather than skipped.

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

reply_to_messageReply in inboxA
Destructive
Inspect

Send a reply in a conversation in the user's job seeker inbox. Sending takes two calls: without confirm_token nothing is sent, and the reply is a preview of the exact text with a confirm_token; calling again with the same message and that token sends it. The company reads it as coming from the user and it can't be unsent, so show the user the preview and get their OK before the second call. Uses the connected Himalayas account; no extra sign-in needed.

NameRequiredDescriptionDefault
messageYesThe reply, exactly as the user approved it
room_nameYesRoom name from list_my_conversations
confirm_tokenNoLeave out to get a preview; nothing is sent. Pass the token from that preview, with the same message, to send it

TDQS

A4.4/5.0
Behavior5/5

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

Goes well beyond the annotations (destructiveHint=true, idempotentHint=false) by spelling out the two-call confirm_token protocol, that nothing is sent on the first call, that the message is irreversible once sent, and that the company sees it as coming from the user. It also pre-empts an auth question by noting the connected Himalayas account needs no extra sign-in.

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?

Four tight sentences, front-loaded with what the tool does, then the two-call mechanics, then the safety obligation. No filler and no repetition of annotation data.

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

Completeness5/5

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

For a 3-parameter, no-output-schema, destructive write tool, the description covers mechanism, irreversibility, approval workflow, and auth context. An agent has everything needed to call it correctly and safely.

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

Parameters4/5

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

Schema coverage is 100%, so a baseline of 3 applies, but the description adds real semantics: confirm_token is a preview-then-send switch, and the second call must carry the same message. That clarifies the parameter interaction in a way the per-parameter schema text only partially conveys.

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?

States a specific verb and resource — 'Send a reply in a conversation in the user's job seeker inbox' — which an agent can immediately distinguish from, say, start_conversation. It never explicitly contrasts with the sibling send_message, however, so the boundary between the two reply/send tools has to be inferred from the 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?

Gives clear conditional usage: call without confirm_token to preview, call again with the token to send, and only after showing the user the preview and getting approval. That is strong when-to-use guidance, though it offers no explicit exclusion against send_message or start_conversation.

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

save_jobSave job to trackerA
DestructiveIdempotent
Inspect

Save a job to your application tracker. Uses the connected Himalayas account; no extra sign-in needed.

NameRequiredDescriptionDefault
notesNoPersonal notes about this job
titleYesJob title
statusNoApplication status (default: saved)
app_linkNoApplication link URL
currencyNoSalary currency (e.g., 'USD')
excitementNoExcitement level from 0-5
max_salaryNoMaximum salary
base_salaryNoBase salary
company_nameYesCompany name
himalayas_linkNoHimalayas job listing URL

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnly=false, idempotent=true, destructive=true and closed-world, so the safety profile is largely covered. The description adds the useful auth detail that it uses the connected Himalayas account with no extra sign-in, but says nothing about what happens if the same job is saved twice or whether existing fields are overwritten — meaningful gaps for a 10-parameter write tool, even though the known annotation set (idempotentHint) hints at duplicate handling.

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 short sentences with the core action front-loaded and the auth caveat second. Every sentence carries information and nothing is padded.

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

Completeness5/5

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

For a fully-documented schema with a safety profile supplied by annotations and no output schema to explain, the description covers what an agent needs: the action, the target (personal application tracker), and the credential context. Remaining questions (duplicate handling, return shape) are minor given idempotentHint and the absence of an output contract.

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% across all 10 parameters, including the status enum and required fields, so the schema does the heavy lifting. The description adds no parameter-level meaning beyond what the schema already documents, which is the expected baseline when coverage is complete.

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 description states a specific verb+resource ('Save a job to your application tracker'), which is clearly distinct from read/delete siblings like get_saved_jobs and remove_saved_job. It does not, however, explicitly differentiate itself from adjacent write tools such as update_job_status or create_company_job, so an agent must infer that this is the create-an-entry path.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no mention of alternatives (e.g., update_job_status for an existing tracked job), and no prerequisites beyond the auth note. An agent gets no help deciding between saving, updating, or removing a job entry.

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

search_companiesSearch remote companiesA
Read-only
Inspect

Search for remote-friendly companies using keywords with optional country filtering

NameRequiredDescriptionDefault
pageNoPage number for pagination (starts at 1)
sortNoSort order for results (default: 'relevant')
countryNoFilter companies by country (e.g., 'Canada', 'United States', 'UK')
keywordNoSearch keyword/term (optional)
benefitsNoComma-separated benefit slugs to filter by (e.g., '401k,health-insurance,equity')
worldwideNoShow only companies with 100% remote jobs available worldwide (overrides country filter)
tech_stackNoComma-separated technology slugs to filter by (e.g., 'react,typescript,python')

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds only the 'remote-friendly' scope qualifier and says nothing about pagination behavior, result limits, or return shape, so it stays at the baseline for an annotated read tool.

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

Conciseness4/5

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

A single front-loaded sentence that names the action and the primary filter with no wasted words. It is efficient, though very sparse for a seven-parameter tool.

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?

With full schema coverage, no output schema needed, and annotations carrying the safety signal, the description is about as complete as required. It omits sorting/pagination/benefit and tech_stack filters, but those are adequately documented in the schema.

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 seven parameters are already documented in the schema. The description only echoes keyword and country filtering and adds no syntax or format detail beyond what the schema provides, making the 3 baseline correct.

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?

States a specific verb and resource ('Search ... companies') and adds a meaningful scope qualifier ('remote-friendly'). It is distinguishable from search_jobs and search_talent by resource, though it does not explicitly name how it differs from get_companies.

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

Usage Guidelines3/5

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

The phrase 'using keywords with optional country filtering' implies the search-driven use case, but there is no explicit when-to-use guidance, no mention of alternatives like get_companies or get_company_details, and no exclusions.

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

search_jobsSearch remote jobsA
Read-only
Inspect

Search remote job listings on Himalayas by job title, role, skill or keyword, filtered by the countries a job is open to, worldwide availability, seniority, employment type, salary, markets, benefits or companies. Each result has the company, title, salary range when listed, the countries the job is open to, the posting date and the slugs for get_job_details.

NameRequiredDescriptionDefault
pageNoPage number for pagination (starts at 1)
sortNoSort order for results (default: 'relevant')
typeNoFilter by a single employment type (full-time, part-time, contractor, temporary, intern, volunteer, or other)
countryNoFilter jobs by country (e.g., 'Canada', 'United States', 'UK')
keywordNoJob title, role or skill to search for, e.g. 'product manager' or 'react' (optional)
marketsNoComma-separated market/category slugs to filter by (e.g., 'saas,fintech,healthcare')
benefitsNoComma-separated benefit slugs to filter by (e.g., '401k,health-insurance,equity')
currencyNoSalary currency (default: USD). salary_min and salary_max are always USD; this doesn't convert them.
companiesNoComma-separated company slugs to filter by (e.g., 'stripe,gitlab')
worldwideNoShow ONLY 100% remote jobs available worldwide (overrides country filter)
experienceNoFilter by a single experience/seniority level (entry-level, mid-level, senior, manager, director, or executive)
salary_maxNoMaximum yearly pay in USD, compared the same way as salary_min
salary_minNoMinimum yearly pay in USD. Hourly, weekly and monthly pay is converted to a yearly figure first (hourly x 2080), so hourly jobs whose yearly equivalent clears it are included.
salary_requiredNoIf false, include jobs without salary data in salary-filtered results (default: true — only jobs with salary)
exclude_worldwideNoWhen true and country is set, return ONLY jobs specifically available in that country, excluding worldwide/remote jobs. Requires country to be set.

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds genuinely useful context the annotations do not: the per-result fields returned (company, title, salary range when listed, open countries, posting date, and get_job_details slugs), which matters because there is no output schema.

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

Conciseness4/5

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

Front-loaded with the purpose in the first clause and the return shape in the second sentence. Two sentences for a 15-parameter tool is efficient, though the filter enumeration is somewhat redundant with the schema.

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?

For a 15-parameter, zero-required search tool with no output schema, the description covers both intent and result shape, which is the main gap an agent would otherwise face. Pagination and sort behavior are left to the schema but are well documented there.

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 the description's broad enumeration of filter categories (country, worldwide, seniority, employment type, salary, markets, benefits, companies) largely restates what the schema already documents in more precise detail. It adds no syntax, default, or interaction detail beyond the schema, so the baseline applies.

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 (Search) and resource (remote job listings on Himalayas) plus the searchable dimensions (title, role, skill, keyword) and filter axes. It also names the follow-up sibling get_job_details, which the returned slugs feed, so an agent can chain calls without opening a schema.

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?

Clear context: use this to discover remote jobs matching a keyword and a wide set of filters. However it never states when NOT to use it — notably how it differs from the sibling get_jobs or get_related_jobs — so the agent must infer the boundary.

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

search_talentSearch talentA
Read-only
Inspect

Search remote candidates and talent on Himalayas to hire or recruit, such as developers, designers or marketers, by skill, job title or keyword and country. Each result has the candidate's current role, salary expectation, job search status and the profile link for get_talent_profile. Results here have no paid placement: they are ordered by relevance or recency only, and Himalayas Plus or verified candidates rank like everyone else. Uses the connected Himalayas account; no extra sign-in needed.

NameRequiredDescriptionDefault
pageNoPage number for pagination (starts at 1)
sortNoSort order (default: relevant)
countryNoFilter by country (e.g., 'United States', 'Germany')
keywordNoSearch keyword (e.g., 'react developer')

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, but the description adds genuinely non-obvious behavior: no paid placement, relevance/recency-only ordering, and that Plus or verified candidates get no ranking boost. It also notes the connected Himalayas account means no extra sign-in, which is useful auth context. It stops short of describing result counts or pagination limits.

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

Conciseness4/5

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

The lead sentence is front-loaded with purpose, scope, and filter dimensions, and the later sentences cover result contents, ranking fairness, and account context. Four sentences is slightly long, and the paid-placement disclaimer is somewhat verbose, but nothing is redundant.

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

Completeness5/5

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

With no output schema, the description carries the burden of describing returns and does so concretely: current role, salary expectation, job search status, and the profile link for get_talent_profile. Combined with 100% schema coverage on the four parameters, an agent has everything needed to call it and follow up correctly.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline would be 3, but the description adds meaning by explaining the search dimensions (skill, job title, keyword, country) that map to the keyword and country parameters. It does not clarify the sort enum values beyond the schema, which already documents them.

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?

The description names a specific verb (search) plus a specific resource (remote candidates/talent on Himalayas), scoped to hiring/recruiting use cases with concrete examples like developers and designers. It is clearly distinguishable from siblings such as search_jobs and search_companies because it targets people, not jobs or companies.

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 states the intent clearly ("to hire or recruit") and routes the agent to the follow-up tool get_talent_profile for full profiles. It does not explicitly say when to use a different search tool instead, so a 4 rather than a 5.

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

send_messageSend message to candidateA
Destructive
Inspect

Send a message in an existing conversation. Accepts room_name (from list_conversations) or talent_slug (from search_talent). Use start_conversation first if no conversation exists yet. Sending takes two calls: without confirm_token nothing is sent, and the reply is a preview of the exact text with a confirm_token; calling again with the same message and that token sends it. The candidate reads it as coming from the user's company and it can't be unsent, so show the user the preview and get their OK before the second call. Uses the connected Himalayas employer account; no extra sign-in needed.

NameRequiredDescriptionDefault
messageYesMessage text to send
room_nameNoRoom name from list_conversations
talent_slugNoTalent slug (from search_talent results) — resolves to room name automatically
confirm_tokenNoLeave out to get a preview; nothing is sent. Pass the token from that preview, with the same message, to send it

TDQS

A4.5/5.0
Behavior5/5

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

Goes well beyond the annotations (destructiveHint=true, idempotentHint=false): it explains that the first call sends nothing and only returns a preview plus confirm_token, that the message is attributed to the user's company, that it cannot be unsent, and that the connected employer account handles auth. This is exactly the operational context an agent needs before firing a destructive write.

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?

Front-loaded with purpose, then addressing options, then the critical two-call mechanics, then the safety warning. Every sentence carries decision-relevant information; the only slight overlap with the schema is the token rule, which is worth repeating for a destructive operation.

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

Completeness5/5

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

For a destructive, non-idempotent, open-world write with no output schema, the description covers auth, attribution, irreversibility, the preview-then-send protocol, and prerequisites. An agent has everything needed to call it correctly and safely.

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 coverage is 100%, so room_name, talent_slug, and confirm_token are already fully documented in the schema. The description restates the same sourcing (list_conversations, search_talent) and the same token-with-identical-message rule rather than adding new constraints; baseline 3 is appropriate.

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?

States a specific verb and resource ('Send a message in an existing conversation') and the 'existing conversation' qualifier cleanly separates it from start_conversation. It does not, however, distinguish itself from the sibling reply_to_message, leaving one plausible alternative route unaddressed.

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

Usage Guidelines5/5

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

Explicitly routes the agent: use start_conversation first if no conversation exists, and use list_conversations / search_talent as the sources for the two addressing parameters. It also spells out the mandatory two-call sequence and the instruction to show the preview and get user approval before the sending call.

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

show_company_jobGet company jobA
Read-only
Inspect

Get full details of one of your company's job postings on Himalayas. Uses the connected Himalayas employer account; no extra sign-in needed.

NameRequiredDescriptionDefault
job_slugYesJob slug (from list_company_jobs)

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already cover readOnlyHint and openWorldHint, so the safety profile is known. The description adds genuinely useful behavioral context beyond that: it operates under the connected Himalayas employer account and requires no extra sign-in, which tells the agent the auth model. It stops short of describing return shape or pagination, but with annotations doing the heavy lifting this is a solid addition.

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 short sentences, front-loaded with the core action and followed by the one piece of operational context that matters (auth). No filler.

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?

For a single-parameter read tool with full schema coverage and safety annotations, this is nearly complete: purpose, scope and auth model are all present. The only minor gap is that with no output schema, 'full details' is left vague about what fields are actually returned.

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 coverage is 100% for the single job_slug parameter, so the schema already documents it fully and even points at list_company_jobs as the source. The description adds no format or constraint detail beyond that; baseline 3 is appropriate.

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?

States a specific verb and resource ('Get full details of one of your company's job postings'), and the possessive scope implicitly separates it from generic siblings like get_job_details or get_jobs. However, it never explicitly names the sibling it differs from, so differentiation relies on inference.

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

Usage Guidelines3/5

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

Usage is implied: fetch a single posting given a slug, where the slug comes from list_company_jobs (documented in the schema). There is no explicit when-to-use vs. list_company_jobs/get_job_details guidance and no stated preconditions beyond the auth note.

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

skip_jobSkip jobA
DestructiveIdempotent
Inspect

Record that the user is passing on a Himalayas job, with the reason, so it stops coming back in get_new_matches and future matches can learn from it. job_closed also reports the listing as expired. For a job already in the tracker, use update_job_status with outcome didnt_apply instead. Uses the connected Himalayas account; no extra sign-in needed.

NameRequiredDescriptionDefault
detailNoAnything worth knowing, in a sentence or two (what the page said, a hidden requirement). No personal data.
reasonYesWhy the user is passing on it
job_slugYesJob slug (from the job listing URL)
company_slugYesCompany slug (from the job listing URL)

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false, destructiveHint=true, idempotentHint=true, openWorldHint=true, so the safety profile is covered. The description adds non-obvious behavior: the skip suppresses future matches and feeds match learning, job_closed additionally reports the listing as expired, and no separate sign-in is required. It stops short of describing the tool's response or whether a skip can be undone.

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?

Three sentences, each carrying distinct load: what the tool does and its effect, the special-case reason, the alternative route, and the auth note. Purpose is front-loaded and there is no filler or restatement of the title.

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?

For a four-parameter mutation tool with full schema coverage, no output schema, and annotations covering safety, this is close to complete: effects, alternative routing, and auth are all covered. Minor gaps remain around confirmation/return behavior and whether a skip is reversible, which an agent may want to know.

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

Parameters4/5

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; the description earns an extra point by attaching semantics to a specific enum value (job_closed reports the listing as expired) and by emphasizing that a reason is mandatory, which is behaviorally meaningful beyond the bare 'Why the user is passing on it' schema text.

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 ('Record that the user is passing on a Himalayas job'), names the observable effect ('stops coming back in get_new_matches'), and distinguishes itself from update_job_status by scope. An agent can separate it from save_job / remove_saved_job / update_job_status without opening any schema.

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

Usage Guidelines5/5

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

Gives an explicit alternative with the selecting condition: 'For a job already in the tracker, use update_job_status with outcome didnt_apply instead.' It also clarifies the job_closed reason's extra side effect, so the agent knows when a plain skip is insufficient.

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

start_conversationStart conversation with candidateA
Destructive
Inspect

Start a conversation with a candidate by talent slug, optionally with a first message. If the conversation already exists, returns it. Use search_talent to find candidates first, then use their slug here. A first message takes two calls: without confirm_token nothing is created or sent, and the reply is a preview of the exact text with a confirm_token; calling again with the same message and that token sends it. The candidate reads it as coming from the user's company and it can't be unsent, so show the user the preview and get their OK before the second call. Uses the connected Himalayas employer account; no extra sign-in needed.

NameRequiredDescriptionDefault
messageNoOptional initial message to send with the conversation
talent_slugYesTalent slug of the candidate to message (from search_talent results)
confirm_tokenNoLeave out to get a preview; nothing is sent. Pass the token from that preview, with the same message, to send it

TDQS

A4.4/5.0
Behavior5/5

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

Goes well beyond the annotations: it discloses that a call without confirm_token creates and sends nothing, that the reply is a preview of the exact text plus a token, that the message is irreversible once sent, that it appears to the candidate as coming from the user's company, and that it uses the already-connected employer account. That is precisely the safety and auth context destructiveHint=true leaves unexplained.

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

Conciseness4/5

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

Front-loaded with the action and its scope, then the prerequisite, then the two-call protocol, then the safety warning — a sensible order with no filler. It is dense but every sentence contributes; only the final account sentence could be trimmed for some readers.

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

Completeness5/5

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

For a destructive, open-world mutation with no output schema, the description covers the things an agent actually needs: prerequisites, the confirm handshake, irreversibility, and auth state. The shape of the returned conversation or preview object is not described, but that gap is minor against the otherwise complete behavioral picture.

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 the schema already documents all three parameters, including the slug source and the preview/send meaning of confirm_token. The description reinforces the two-call relationship but adds little parameter-level meaning the schema does not already carry; baseline 3 applies.

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?

States a specific verb+resource ('Start a conversation with a candidate') scoped by talent_slug, and adds the useful nuance that an existing conversation is returned rather than duplicated. It explicitly routes to search_talent for finding the slug, but never contrasts itself with send_message or reply_to_message, which an agent must distinguish for existing threads.

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

Usage Guidelines5/5

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

Gives an explicit prerequisite workflow (search_talent first, then the slug), an explicit two-call protocol for the first message, and an explicit instruction to show the user the preview and obtain approval before the second call. The condition that selects the confirm_token path versus the plain path is spelled out rather than inferred.

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

submit_feedbackSend feedback to HimalayasAInspect

Send a problem report about Himalayas to its engineering team: a missing capability (filter, field, tool), unclear or wrong documentation, a surprising response, an unhelpful error, a bug, a blocked page or action, or impractical performance. Describe the goal, what got in the way and, if known, a suggested fix. Fill agent with the client's name and model. Reports must not contain credentials, personal data or the user's private content.

NameRequiredDescriptionDefault
goalYesWhat you or your user were trying to accomplish, in plain language
typeYesThe kind of problem
agentNoWho is reporting: name (agent or product) and model
messageYesWhat prevented or complicated the task
outcomeNoblocked = task failed, degraded = completed worse or slower, completed = suggestion only
endpointNoThe Himalayas tool involved, e.g. search_jobs
evidenceNoSanitized details of the failing call, with no credentials or personal data
expectedNoWhat you expected to find or happen
metadataNo
request_idNo
session_idNoReuse the same value for every report in one task
suggestionNoA concrete change that would have let you succeed
workaroundNoWhether you found a workaround
workaround_descriptionNoThe workaround, if any

TDQS

A4.4/5.0
Behavior4/5

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

Annotations only cover the safety profile (non-destructive, not open-world, non-idempotent). The description adds real substance beyond that: a hard privacy constraint ('must not contain credentials, personal data or the user's private content') and an instruction to populate `agent` with the client name and model. It stops short of saying what happens to the report after submission.

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?

Four sentences, front-loaded with the purpose, then intake guidance, then the agent field, then the privacy constraint. For a 14-parameter tool this is tight and every sentence carries information the caller 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?

For a 14-param, three-required submission tool with no output schema, the description covers purpose, required narrative content, the identity field, and the privacy limit. It omits post-submission behavior (confirmation, review process) and never hints at `session_id` reuse, though the schema documents the latter.

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

Parameters4/5

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

Schema coverage is 86%, so the schema already documents most fields (baseline 3). The description adds targeted value: it maps the narrative to `goal`/`message`/`suggestion` and explicitly tells the caller to fill `agent` with the client's name and model, resolving the otherwise vague 'name (agent or product)' wording.

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 ('Send a problem report about Himalayas to its engineering team') and enumerates the concrete situations it covers (missing capability, bug, unclear docs, unhelpful error, performance). No sibling tool offers feedback, and the definition leaves no ambiguity about what this does.

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?

The enumerated problem categories act as a clear when-to-use trigger, and it tells the agent what content to include ('Describe the goal, what got in the way and, if known, a suggested fix'). It never states an exclusion or a competing tool, but none exists in this sibling set, so the guidance is sufficient.

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

update_accountUpdate account time zoneA
DestructiveIdempotent
Inspect

Change the user's account time zone (used for email timing). Name is on update_profile; email address and password can only be changed on himalayas.app. Uses the connected Himalayas account; no extra sign-in needed.

NameRequiredDescriptionDefault
time_zoneYesTime zone name, e.g. 'Pacific Time (US & Canada)' or 'London'

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false, idempotentHint=true and destructiveHint=true, so the mutation/idempotency profile is covered. The description adds value beyond that with auth context ('uses the connected Himalayas account; no extra sign-in needed'), though it does not explain why a timezone change carries a destructive hint.

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?

Three short sentences, all front-loaded and each carrying distinct information: purpose, sibling routing, and auth scope. No filler.

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

Completeness5/5

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

For a one-parameter mutation with no output schema and full annotation coverage, the description supplies everything needed: what changes, what it affects, where to go for related edits, and that no re-authentication is required.

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?

There is a single parameter with 100% schema description coverage, including format examples like 'Pacific Time (US & Canada)' and 'London'. The description adds nothing about the time_zone value 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.

Purpose5/5

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

States a specific verb and resource ('Change the user's account time zone') and adds the effect ('used for email timing'), which distinguishes it from the many other update_* siblings. It explicitly names update_profile as the place for name changes, so an agent can route without opening schemas.

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

Usage Guidelines5/5

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

Gives explicit when-not guidance: name belongs on update_profile, and email address and password can only be changed on himalayas.app. This routes the agent away from the wrong tool rather than leaving it to infer.

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

update_company_jobUpdate company jobA
DestructiveIdempotent
Inspect

Update an existing job posting on Himalayas. Only provide fields you want to change. For screening_questions, provide the full set — questions not included will be removed. Editing is free. If the job has paid extras (sticky or newsletter, chosen earlier) that aren't paid yet, the reply is a Stripe checkout link for them, which the user opens and pays themselves; nothing is charged otherwise. Uses the connected Himalayas employer account; no extra sign-in needed.

NameRequiredDescriptionDefault
draftNoSave as draft instead of submitting for approval
titleNoJob title (5-80 characters)
job_slugYesJob slug to update
seniorityNoSeniority levels
max_salaryNoMaximum salary
skill_listNoComma-separated skills
base_salaryNoMinimum salary
descriptionNoJob description (350+ characters, can include HTML)
category_listNoComma-separated job categories
valid_throughNoExpiration date (ISO format)
salary_countryNoSalary currency code
employment_typeNoEmployment type
app_link_or_emailNoApplication URL or email address
screening_questionsNoScreening questions — provide full set, questions not included will be removed

TDQS

A4.1/5.0
Behavior5/5

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

Annotations flag this as destructive and idempotent, and the description earns that flag by spelling out exactly what is destroyed: screening questions omitted from the payload are removed. It also discloses the non-obvious side effect that unpaid paid extras produce a Stripe checkout link rather than a charge, and that no extra sign-in is required — behavior no annotation or schema conveys.

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

Conciseness4/5

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

Leading with the core verb and the partial-update rule front-loads what matters most; the screening_questions warning and the payment flow follow in logical order. The Stripe sentence is long but covers a genuine edge case, so it earns its space; only minor tightening is possible.

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

Completeness5/5

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

With 14 parameters, one required, and no output schema, the description closes the biggest gaps: partial-update semantics, replace-vs-merge risk on screening_questions, authentication context, and the unusual link-shaped response for unpaid extras. An agent has everything needed to call it correctly and interpret the result.

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 the schema already documents all 14 parameters including the nested screening_questions fields. The description adds the destructive replace semantics for screening_questions, but that same fact is already stated in the schema's own field description, so it is largely restatement rather than new meaning.

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?

States a specific verb and resource ("Update an existing job posting on Himalayas") plus the partial-update semantics, which clearly separates it from create_company_job and delete_company_job. It does not name update_job_status, the closest sibling for modifying a job, so an agent must infer that status changes go elsewhere.

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?

"Only provide fields you want to change" and "For screening_questions, provide the full set" give concrete invocation guidance an agent cannot infer from the schema alone. "Editing is free" and the connected-account note remove hesitation about using it. It stops short of explicit when-not-to-use guidance relative to update_job_status or list_company_jobs.

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

update_company_profileUpdate company profileA
DestructiveIdempotent
Inspect

Update your company's profile on Himalayas. Uses the connected Himalayas employer account; no extra sign-in needed.

NameRequiredDescriptionDefault
ceoNoCEO name
aboutNoCompany description (HTML or plain text)
summaryNoShort company summary
twitterNoTwitter URL
facebookNoFacebook URL
linkedinNoLinkedIn URL
instagramNoInstagram URL
year_foundedNoYear the company was founded
location_listNoComma-separated list of locations (e.g., 'San Francisco, New York')
num_employees_rangeNoNumber of employees range

TDQS

A3.5/5.0
Behavior3/5

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

The annotations already declare destructiveHint=true, idempotentHint=true, and readOnlyHint=false. The description adds genuinely useful context that annotations cannot: that no extra sign-in is required because the connected employer account is used. It does not, however, explain what the destructive hint means in practice — whether omitted fields are wiped.

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 short sentences, no filler, and the core action is front-loaded before the authentication note. Every clause earns its place.

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 10-parameter, all-optional mutation tool flagged destructiveHint, the description is thin: it never states whether the update is a partial patch or a full replace, which is the single most consequential thing an agent needs to know before calling it. With no output schema and annotations already covering the safety profile, the omission is a real but not fatal gap.

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 every one of the 10 parameters is already documented in the schema (ceo, about, enum-bounded num_employees_range, etc.). The description adds no parameter 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.

Purpose4/5

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

The description gives a specific verb and resource ('Update your company's profile on Himalayas'), which cleanly separates it from the read-side sibling get_company_profile. It does not, however, explicitly distinguish itself from update_profile or update_company_tech_stack, which an agent scanning this sibling list could easily confuse it with.

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

Usage Guidelines3/5

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

Usage context is implied by 'Uses the connected Himalayas employer account', which tells the agent this only works for an employer account. There is no explicit when-to-use versus alternatives guidance, no mention of prerequisites beyond the account, and no exclusions.

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

update_company_tech_stackUpdate company tech stackB
DestructiveIdempotent
Inspect

Update your company's tech stack on Himalayas. Pass technology names (e.g., 'React', 'Python') and they'll be matched to the Himalayas stack database. Uses the connected Himalayas employer account; no extra sign-in needed.

NameRequiredDescriptionDefault
stacksYesArray of technology names (e.g., ['React', 'TypeScript', 'Python', 'AWS'])

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, idempotentHint=true, and readOnlyHint=false, so the write/replace risk is flagged structurally. The description adds the non-obvious behavior that input names are fuzzy-matched against the Himalayas stack database, but it omits the critical question of whether the passed array replaces the entire stack or merges with existing entries — a significant gap given destructiveHint=true.

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

Conciseness4/5

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

Three short sentences with the core action front-loaded and no filler. Slightly padded by the 'no extra sign-in needed' clause, but every sentence is relevant.

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 single-parameter mutation with no output schema, the description covers input handling and auth, and annotations cover safety hints. It is still incomplete on the replace-vs-append semantics and on what confirmation or matched-result the agent gets back, which matters for a destructive write.

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% on the single 'stacks' parameter, including its own example array, so the schema already carries parameter meaning. The description's mention of matching technology names to the database adds a little semantic context but no syntax or format detail beyond the schema. Baseline 3 applies.

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 description gives a specific verb+resource ('Update your company's tech stack on Himalayas') and scopes it to the company entity, which separates it from the sibling update_tech_stack. It stops short of explicitly naming that sibling, so differentiation is inferable 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.

Usage Guidelines3/5

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

It provides useful context that no separate sign-in is required because it uses the connected employer account, but it never states when to use this tool versus the personal update_tech_stack or how it relates to update_company_profile. Usage is implied rather than guided.

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

update_documentUpdate resume or cover letterA
DestructiveIdempotent
Inspect

Rename a tailored resume or cover letter, or replace a cover letter's text. Resume content is edited in the website's resume editor (link from list_documents). Uses the connected Himalayas account; no extra sign-in needed.

NameRequiredDescriptionDefault
idYesDocument id or slug
typeYes
titleNoNew title
contentNoCover letters only: the full new text, paragraphs separated by blank lines

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true, idempotentHint=true and readOnlyHint=false, so the safety profile is covered. The description adds genuinely new context beyond the annotations: it uses the connected Himalayas account with no extra sign-in, which is useful auth information. It stops short of stating that supplying content overwrites the existing cover letter text entirely.

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?

Three sentences, front-loaded with the operations, followed by the routing note and the auth note. No filler; each sentence carries distinct information.

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?

For a mutation tool with annotations covering safety and no output schema, the description covers operations, the excluded resume-editing case, and auth. The main residual gap is not spelling out that content replacement is a full overwrite, but that is minor against the existing hints.

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

Parameters4/5

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

Schema coverage is 75%, so the schema already documents id, type, title and content. The description still adds mapping value by tying 'rename' to title and 'replace text' to content, and by reinforcing that content is cover-letter-only. The anyOf id/type semantics are left to the schema.

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?

The description names specific verbs and resources: rename a resume or cover letter, or replace a cover letter's text. It also carves out what this tool does NOT do (resume content editing), letting an agent separate it from get_document, delete_document, and the resume editor path.

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 a clear when-not: resume content must be edited in the website's resume editor, reachable via list_documents. That routes the agent away from a wrong invocation, but it never names an alternative for renaming or states prerequisites (e.g. that the document must already exist).

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

update_educationUpdate educationA
DestructiveIdempotent
Inspect

Edit an education entry on your Himalayas profile by id (get_my_profile lists the ids). Only the fields you pass change. Uses the connected Himalayas account; no extra sign-in needed.

NameRequiredDescriptionDefault
idYesEducation id
fieldNoField of study
gradeNo
degreeNo
schoolNo
currentNoCurrently enrolled
end_yearNo
activitiesNo
sort_orderNoPosition on the profile, 0 first
start_yearNo
descriptionNo

TDQS

A4/5.0
Behavior4/5

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

Annotations cover the safety profile (readOnlyHint=false, idempotentHint=true, destructiveHint=true), so the description's burden is lighter. It still adds real value beyond them: 'Only the fields you pass change' discloses partial-update semantics and 'Uses the connected Himalayas account; no extra sign-in needed' discloses auth context. It does not explain why destructiveHint is set, but this is a strong additive disclosure for an annotated tool.

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?

Three short sentences, front-loaded with the action, with each sentence carrying distinct information (action+id, id source, partial-update semantics, auth context). No filler.

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 an 11-parameter mutation tool with 36% schema coverage and no output schema, the description covers the essentials (id source, partial update, auth) but leaves most parameter semantics undocumented. Adequate to invoke correctly for the id, but thin for the optional fields.

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

Parameters2/5

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

Schema description coverage is only 36%, so the description must compensate for the bulk of parameters. It clarifies the required id and its source (get_my_profile) and the partial-update behavior, but says nothing about the ten other fields (field, degree, school, grade, current, activities, sort_order, start/end year, description), most of which lack schema descriptions.

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 (Edit) and resource (an education entry) scoped to the user's Himalayas profile, clearly differentiated from add_education/delete_education siblings. An agent can identify the operation 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.

Usage Guidelines4/5

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

Provides a concrete routing hint for the required id ('get_my_profile lists the ids'), which is clear usage context. It does not explicitly state when to prefer this over add_education or delete_education, so it stops short of full when/when-not guidance.

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

update_email_preferencesUpdate email preferencesA
DestructiveIdempotent
Inspect

Turn Himalayas emails on or off for the user. Only the settings you pass change. Daily job-match emails are a Plus feature; free accounts get weekly. Uses the connected Himalayas account; no extra sign-in needed.

NameRequiredDescriptionDefault
job_matchesNoEmails with new jobs that match the profile
job_remindersNoReminders about saved jobs
job_post_updatesNoUpdates about jobs they posted (employers)
marketing_emailsNoHimalayas news and offers
job_post_remindersNoReminders about jobs they posted (employers)
job_match_frequencyNoHow often job-match emails come (daily needs Plus)
application_followupsNo'Did you hear back?' emails about applications
message_notificationsNoEmails when an employer messages them

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare the mutation profile (readOnly=false, idempotent=true, destructive=true), and the description adds real context on top: sparse/partial-update semantics, the Plus tier gate on daily frequency, and the connected-account auth model with no extra sign-in. It does not explain why the tool is flagged destructive or what a toggle-off affects, which keeps it at a 4 rather than 5.

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

Conciseness4/5

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

Four short sentences, front-loaded with the action, and each carries a distinct fact (partial update, tier gate, auth). The frequency sentence mildly duplicates the enum description in the schema, a minor redundancy.

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?

With no output schema, the description covers the essentials for an eight-flag optional mutation: partial-update behavior, a tier constraint, and auth requirements. It omits what the call returns or any error behavior, but nothing critical to correct invocation is missing.

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 the schema already documents all eight optional flags and the daily/weekly enum. The description largely restates the frequency constraint rather than adding new per-parameter meaning, so the baseline 3 applies.

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?

States a specific verb (turn on/off) and resource (Himalayas emails) for the connected user, which is distinct from the account/profile-oriented siblings like update_account and update_profile. It does not explicitly name a sibling it must not be confused with, 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.

Usage Guidelines3/5

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

"Only the settings you pass change" gives useful partial-update guidance and the Plus/weekly note constrains the frequency choice, so usage is implied and reasonably clear. However, there is no explicit when-to-use vs. when-not, and no routing against the many update_* siblings.

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

update_experienceUpdate work experienceA
DestructiveIdempotent
Inspect

Edit a work experience on your Himalayas profile by id (get_my_profile lists the ids). Only the fields you pass change. Uses the connected Himalayas account; no extra sign-in needed.

NameRequiredDescriptionDefault
idYesExperience id
titleNoJob title
end_dateNoEnd date (YYYY-MM-DD)
locationNoCountry name for this role. Cities are not accepted.
sort_orderNoPosition on the profile, 0 first
start_dateNoStart date (YYYY-MM-DD)
current_jobNoWhether this is the current job
descriptionNoDescription of the role
company_nameNoCompany name
employment_typeNo
experience_skill_listNoSkills used in this role. Replaces the current list.

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare the safety profile (destructiveHint=true, idempotentHint=true, openWorldHint=false). The description adds real value on top: partial-update behavior ('Only the fields you pass change') and auth context ('connected Himalayas account; no extra sign-in needed'), which are not in the annotations.

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?

Three short sentences, purpose front-loaded, each earning its place with no filler. Efficient and well-structured.

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?

For an 11-parameter mutation tool with no output schema, the description covers purpose, id sourcing, partial-update behavior, and auth. Minor gaps remain around error/validation behavior and the skill-list replacement semantics (though that is noted in the schema), but nothing critical is missing for correct invocation.

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

Parameters4/5

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

Schema coverage is high (91%), so the schema documents most parameters. The description still adds meaning by explaining where the required id comes from (get_my_profile lists the ids) and by stating the patch-style update semantics, exceeding the baseline 3.

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 (Edit) plus resource (work experience) and scope (on your Himalayas profile), which cleanly separates it from add_experience, delete_experience, and update_education. An agent can identify the tool's job 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.

Usage Guidelines4/5

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

Provides a clear prerequisite flow: get ids from get_my_profile, then edit by id. It also clarifies partial-update semantics ('Only the fields you pass change'). It stops short of explicit when-not guidance or naming alternatives for adding vs editing, so not a full 5.

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

update_job_statusUpdate job statusA
DestructiveIdempotent
Inspect

Update a saved job's status, outcome or details. Use status for where the application is now (interviewing, negotiation for an offer, hired). Use outcome for an applied job that ended without progressing: rejected, no_response (no reply after 45+ days), withdrawn, or didnt_apply; status stays as it is. With didnt_apply, give a reason: job_closed reports the listing as expired, and the rest improve the user's future matches. Add detail for anything worth knowing (what the page said, a hidden requirement). Uses the connected Himalayas account; no extra sign-in needed.

NameRequiredDescriptionDefault
idYesKanban item ID
notesNoUpdated notes
detailNoAnything worth knowing about the outcome, in a sentence or two. No personal data.
reasonNoWhy the user didn't apply (only with outcome didnt_apply)
statusNoNew application status
outcomeNoWhat happened after applying, as reported by the user. "clear" removes a recorded outcome.
excitementNoExcitement level from 0-5

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true and idempotentHint=true; the description adds real context beyond them, including the auth model ("Uses the connected Himalayas account; no extra sign-in needed") and the non-obvious state rule that outcome leaves status untouched. It doesn't spell out exactly which destructive action the hint refers to beyond the "clear" removal, so a 4.

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

Conciseness4/5

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

Purpose is front-loaded in the first sentence, followed by compact field-by-field guidance, and the auth note is a single short clause. It is slightly dense for a description, but each sentence carries actionable content and nothing is redundant.

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?

With 7 parameters, three enums, no output schema and no nested objects, the description supplies the conditional logic an agent needs (when to send status vs outcome vs reason) and covers auth. The remaining gap is mutation mechanics — what happens to omitted fields like notes and excitement — which is left to inference.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3. The description goes beyond the schema by encoding cross-parameter relationships the schema cannot express: outcome vs status precedence, reason being conditional on didnt_apply, and the semantic difference between reason values that report an expired listing versus those that improve future matches.

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+resource ("Update a saved job's status, outcome or details") and scopes it to saved jobs, distinguishing it from update_company_job, update_profile and the many other update_* siblings. An agent can identify the target entity and the mutated fields 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.

Usage Guidelines4/5

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

Gives unusually explicit field-selection guidance: status is for where the application stands now, outcome is for applied jobs that ended without progressing, and reason is only valid with didnt_apply. It doesn't name alternative tools or state when not to call this tool, so it stops short of a 5.

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

update_profileUpdate profileB
DestructiveIdempotent
Inspect

Update your Himalayas profile. Uses the connected Himalayas account; no extra sign-in needed.

NameRequiredDescriptionDefault
bioNoShort bio
introNoIntroduction/headline
githubNoGitHub profile URL
behanceNoBehance profile URL
twitterNoTwitter/X profile URL
websiteNoPersonal website URL
dribbbleNoDribbble profile URL
linkedinNoLinkedIn profile URL
locationNoCountry name (e.g. 'United States', 'Australia'). Cities and 'City, Country' strings are not accepted.
usernameNoNew username: 3 to 30 letters, numbers, dashes or underscores. The profile moves to himalayas.app/@username and the old link stops working.
last_nameNoLast name
portfolioNoPortfolio URL
seniorityNoSeniority levels the user wants. Replaces the current list.
first_nameNoFirst name, as shown on the profile and tailored resumes
visibilityNopublic_profile: employers can find and view it. unsearchable_profile: viewable by link but not in search. private_profile: only the user sees it.
contact_emailNoEmail shown to employers, if different from the login email
email_visibleNoShow the contact email on the profile
career_max_salaryNoDesired maximum salary
career_skill_listNoSkills for job matching (e.g. ['Product design', 'User research']). Replaces the current list.
career_base_salaryNoDesired minimum salary
career_descriptionNoDescription of what you're looking for
career_company_sizeNoCompany size preferences, e.g. {'1-10': 'not_interested', '51-200': 'preferred'}. Replaces all current size preferences, so include every size the user cares about.
career_compensationNoHow the user feels about equity as part of pay
career_primary_roleNoPrimary role (e.g., 'software-engineer')
career_search_statusNoCareer search status (e.g., 'actively_searching', 'open_to_roles', 'closed_to_roles')
career_salary_countryNoCurrency of the desired salary
career_working_permitsNoCountries the user can legally work in, as country names (e.g. ['United States']). Replaces the current list.
career_interested_role_listNoOther roles the user is interested in. Replaces the current list.

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, idempotentHint=true, and readOnlyHint=false, so the safety profile is partly covered. The description adds useful auth context ("no extra sign-in needed") but omits that several fields replace existing lists and that the update is destructive. With annotations carrying the safety signal, this partial addition merits a 3.

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 short sentences with the purpose front-loaded and no wasted words. The auth note is brief and adds context not found in the annotations.

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 28-parameter destructive profile update with nested objects, the description is thin: it does not explain partial-update behavior or which list fields are replaced. The rich schema and annotations carry much of the burden, but the description still leaves usage and replacement semantics to the structured fields.

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 coverage is 100%, so all 28 parameters are documented in the schema itself, making 3 the baseline. The description adds no parameter meaning, format details, or examples beyond what the schema already provides.

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?

"Update your Himalayas profile" states a clear verb and resource, so an agent knows it mutates the user's profile. However, it does not differentiate from close siblings like update_account, update_company_profile, or update_profile_photo.

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

Usage Guidelines2/5

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 conditions for choosing this tool over alternatives, and no exclusions. The note about using the connected account is authentication context, not usage guidance.

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

update_profile_photoUpdate profile photoA
DestructiveIdempotent
Inspect

Set the user's profile photo (avatar) or profile cover photo from an image URL (https, JPEG/PNG/WebP/GIF, up to 5 MB). Uses the connected Himalayas account; no extra sign-in needed.

NameRequiredDescriptionDefault
kindYes
image_urlYeshttps URL of the image

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnly=false, destructive=true, and idempotent=true. The description adds meaningful behavioral context by specifying accepted HTTPS image formats and the 5 MB limit, plus the connected-account/no-sign-in detail. It could more explicitly state that the existing profile image is replaced, but the destructive hint plus 'Set' covers this reasonably.

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 concise sentences, front-loaded with the action and key constraints. Every clause adds useful information without repetition.

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?

For a two-parameter mutation with rich annotations and no output schema, the description covers purpose, auth context, and image constraints sufficiently for an agent to call it correctly. It lacks explicit alternative-tool routing and replacement-behavior detail, but those are minor against the annotation coverage.

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

Parameters4/5

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

Schema description coverage is 50%, with only image_url documented in the schema. The description compensates well by explaining that kind selects avatar or cover_photo and by adding URL/format/size constraints for image_url. Minor remaining gap: it does not explicitly restate that both parameters are required.

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?

States a specific action and resource: setting the user's profile photo/avatar or cover photo from an image URL. It is clear what the tool does, but it does not explicitly differentiate itself from sibling tools such as use_headshot_as_profile_photo or get_headshots_link.

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

Usage Guidelines3/5

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

The description gives useful context: it requires an image URL and uses the connected Himalayas account without extra sign-in. However, it does not explicitly say when to choose this tool over use_headshot_as_profile_photo or when not to use it, so usage is mostly implied.

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

update_saved_answerUpdate saved application answerA
DestructiveIdempotent
Inspect

Change the text of one of the user's saved application answers, by id from list_saved_answers. Uses the connected Himalayas account; no extra sign-in needed.

NameRequiredDescriptionDefault
idYesSaved answer id from list_saved_answers
answerYesThe full new answer

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=true and idempotentHint=true. The description adds useful non-annotation context about auth ('connected Himalayas account; no extra sign-in needed'), which counts for something. It does not, however, warn that the existing answer text is overwritten and unrecoverable, which is the behavioral detail most relevant to a destructiveHint tool.

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

Conciseness4/5

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

Two front-loaded clauses that state the action first and the operational context second, with no filler. Nearly optimal, though the account sentence could have been folded in a touch more tightly.

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?

For a simple two-parameter mutation whose safety profile is fully covered by annotations and which has no output schema, the description supplies the essential extras: id provenance and auth requirement. The only meaningful gap is not flagging that the previous answer text is replaced.

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 coverage is 100%, with both 'id' (source: list_saved_answers) and 'answer' (the full new answer) fully documented in the schema itself. The description restates the id provenance but adds no syntax or format detail beyond what the schema already provides, so baseline 3 applies.

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 (Change) and resource (the user's saved application answer) and scopes it to a single item by id. The reference to list_saved_answers as the id source distinguishes it cleanly from delete_saved_answer and list_saved_answers.

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

Usage Guidelines3/5

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

The description implies the workflow by telling the agent where the id comes from (list_saved_answers) and that the connected account is used, which is genuine usage context. However it gives no when/when-not guidance or contrast with alternatives such as delete_saved_answer or update_document, so the guidance remains implied.

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

update_tech_stackUpdate profile tech stackA
DestructiveIdempotent
Inspect

Set the tools and technologies on your Himalayas profile, replacing the current list. Names are matched to Himalayas' catalogue; any it doesn't have yet are requested for review and left off for now. Uses the connected Himalayas account; no extra sign-in needed.

NameRequiredDescriptionDefault
stacksYesArray of technology names (e.g., ['React', 'TypeScript', 'Node.js'])

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true and idempotentHint=true, but the description adds genuinely new behavior: unmatched names are queued for catalogue review and omitted from the profile, and the operation runs against the already-connected Himalayas account with no extra sign-in. That catalogue-matching quirk is exactly the kind of side effect an agent cannot infer from annotations.

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?

Three tight sentences, front-loaded with the action and replacement semantics, then the matching caveat, then the auth note. No filler or repetition.

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?

For a single-parameter mutation with annotations covering the safety profile, the description covers what an agent needs: scope, destructive replacement, unmatched-value handling, and auth. It stops short of describing the outcome or confirmation of the call, which matters slightly more here since no output schema exists.

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 coverage is 100% and the single array parameter is fully documented with an example, so the baseline is 3. The description contributes only a small amount beyond the schema by noting the strings are matched against Himalayas' catalogue, without specifying matching rules, casing, or rejection behavior.

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 ('Set the tools and technologies on your Himalayas profile') and immediately clarifies the write mode ('replacing the current list'). The phrase 'your Himalayas profile' distinguishes it from the sibling update_company_tech_stack, which targets a company profile.

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

Usage Guidelines3/5

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

Usage is implied rather than stated: the description makes clear this is a full-replacement operation on the caller's own profile, which rules out incremental edits. However, it never names an alternative (e.g. update_company_tech_stack) or sets any precondition for choosing this tool over another.

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

use_headshot_as_profile_photoUse headshot as profile photoA
DestructiveIdempotent
Inspect

Set one of the user's finished AI headshots as their Himalayas profile photo, by session id and image id from list_headshots. Uses the connected Himalayas account; no extra sign-in needed.

NameRequiredDescriptionDefault
image_idYesImage id from list_headshots
session_idYesSession id from list_headshots

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true and idempotentHint=true, so the safety profile is largely covered. The description adds useful auth context ('Uses the connected Himalayas account; no extra sign-in needed') but does not disclose what gets destroyed — namely whether the existing profile photo is overwritten or recoverable — which is the key behavioral question for a destructive write.

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?

A single well-formed sentence that front-loads the action and resource, then appends the sourcing and auth context. No filler or repetition.

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?

For a simple two-parameter tool with no output schema and annotations covering safety, the description supplies the essential context: where the ids come from and that authentication is already handled. The only real omission is the fate of the pre-existing profile photo, which is a minor gap for a destructive operation.

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% and both parameters are self-documented as ids from list_headshots. The description reinforces that provenance but adds no format, type, or constraint detail beyond what the schema already provides, so the baseline 3 applies.

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 ('Set ... as their Himalayas profile photo') with a precise resource and scope, plus the identifying keys needed. An agent can distinguish it from siblings like list_headshots, get_headshots_link, and update_profile_photo 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.

Usage Guidelines4/5

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

The description establishes the prerequisite flow by stating the ids come 'from list_headshots' and that the headshot must be 'finished,' which tells the agent when this call is valid. It stops short of naming an explicit alternative (e.g., update_profile_photo for a non-headshot image) or stating when not to use it.

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.

  1. 4 tool updates
    • Removedpost_job_public
    • Changedreply_to_message1 field changed
      • addedInput schema / properties / confirm_token
        Added value: +{
        +  "description": "Leave out to get a preview; nothing is sent. Pass the token from that preview, with the same message, to send it",
        +  "type": "string"
        +}
    • Changedsend_message1 field changed
      • addedInput schema / properties / confirm_token
        Added value: +{
        +  "description": "Leave out to get a preview; nothing is sent. Pass the token from that preview, with the same message, to send it",
        +  "type": "string"
        +}
    • Changedstart_conversation1 field changed
      • addedInput schema / properties / confirm_token
        Added value: +{
        +  "description": "Leave out to get a preview; nothing is sent. Pass the token from that preview, with the same message, to send it",
        +  "type": "string"
        +}
  2. 1 tool update
    • Changedsearch_jobs1 field changed
      • changedInput schema / properties / keyword / description
        Previous value: -"Search keyword/term (optional)"New value: +"Job title, role or skill to search for, e.g. 'product manager' or 'react' (optional)"
  3. 1 tool update
    • Changedsubmit_feedback2 fields changed
      • changedInput schema / properties / endpoint / description
        Previous value: -"Tool name or URL path involved, e.g. search_jobs"New value: +"The Himalayas tool involved, e.g. search_jobs"
      • removedInput schema / properties / method
        Removed value: -{
        -  "description": "HTTP method, when endpoint is a path",
        -  "enum": [
        -    "GET",
        -    "POST",
        -    "PUT",
        -    "PATCH",
        -    "DELETE",
        -    "HEAD",
        -    "OPTIONS"
        -  ],
        -  "type": "string"
        -}
  4. 1 tool update
    • Addedget_verification_link
  5. 35 tool updates
    • Addeddelete_document
    • Addeddelete_education
    • Addeddelete_experience
    • Addeddelete_saved_answer
    • Addedget_billing_portal_link
    • Addedget_coach_chat
    • Addedget_document
    • Addedget_headshots_link
    • Addedget_interview_practice_link
    • Addedget_interview_results
    • Addedget_my_conversation
    • Addedimport_profile
    • Addedjoin_radar_waitlist
    • Addedlist_coach_chats
    • Addedlist_documents
    • Addedlist_headshots
    • Addedlist_interviews
    • Addedlist_my_conversations
    • Addedlist_notifications
    • Addedlist_saved_answers
    • Addedmark_my_message_read
    • Addedmark_notifications_read
    • Addedreply_to_message
    • Changedsearch_jobs3 fields changed
      • changedInput schema / properties / currency / description
        Previous value: -"Salary currency (default: USD)"New value: +"Salary currency (default: USD). salary_min and salary_max are always USD; this doesn't convert them."
      • changedInput schema / properties / salary_max / description
        Previous value: -"Maximum salary in the specified currency (default USD)"New value: +"Maximum yearly pay in USD, compared the same way as salary_min"
      • changedInput schema / properties / salary_min / description
        Previous value: -"Minimum salary in the specified currency (default USD)"New value: +"Minimum yearly pay in USD. Hourly, weekly and monthly pay is converted to a yearly figure first (hourly x 2080), so hourly jobs whose yearly equivalent clears it are included."
    • Addedskip_job
    • Addedupdate_account
    • Addedupdate_document
    • Addedupdate_education
    • Addedupdate_email_preferences
    • Addedupdate_experience
    • Changedupdate_job_status2 fields changed
      • addedInput schema / properties / detail
        Added value: +{
        +  "description": "Anything worth knowing about the outcome, in a sentence or two. No personal data.",
        +  "maxLength": 500,
        +  "type": "string"
        +}
      • addedInput schema / properties / reason
        Added value: +{
        +  "description": "Why the user didn't apply (only with outcome didnt_apply)",
        +  "enum": [
        +    "job_closed",
        +    "needs_account",
        +    "location_or_visa_restricted",
        +    "pay_too_low",
        +    "wrong_timezone",
        +    "not_really_remote",
        +    "wrong_seniority",
        +    "wrong_role",
        +    "not_interested",
        +    "other"
        +  ],
        +  "type": "string"
        +}
    • Changedupdate_profile18 fields changed
      • addedInput schema / properties / behance
        Added value: +{
        +  "description": "Behance profile URL",
        +  "type": "string"
        +}
      • addedInput schema / properties / career_company_size
        Added value: +{
        +  "additionalProperties": {
        +    "enum": [
        +      "not_interested",
        +      "okay",
        +      "preferred"
        +    ],
        +    "type": "string"
        +  },
        +  "description": "Company size preferences, e.g. {'1-10': 'not_interested', '51-200': 'preferred'}. Replaces all current size preferences, so include every size the user cares about.",
        +  "propertyNames": {
        +    "enum": [
        +      "1-10",
        +      "11-50",
        +      "51-200",
        +      "201-500",
        +      "501-1000",
        +      "1001-5000",
        +      "5000+"
        +    ],
        +    "type": "string"
        +  },
        +  "required": [
        +    "1-10",
        +    "11-50",
        +    "51-200",
        +    "201-500",
        +    "501-1000",
        +    "1001-5000",
        +    "5000+"
        +  ],
        +  "type": "object"
        +}
      • addedInput schema / properties / career_compensation
        Added value: +{
        +  "description": "How the user feels about equity as part of pay",
        +  "enum": [
        +    "no_equity",
        +    "open_to_compensation",
        +    "equity_important"
        +  ],
        +  "type": "string"
        +}
      • addedInput schema / properties / career_interested_role_list
        Added value: +{
        +  "description": "Other roles the user is interested in. Replaces the current list.",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedInput schema / properties / career_salary_country
        Added value: +{
        +  "description": "Currency of the desired salary",
        +  "enum": [
        +    "USD",
        +    "AUD",
        +    "EUR",
        +    "JPY",
        +    "GBP",
        +    "CAD",
        +    "CHF",
        +    "CNY",
        +    "HKD",
        +    "NZD",
        +    "SGD",
        +    "SEK",
        +    "KRW",
        +    "NOK",
        +    "INR",
        +    "MXN",
        +    "TWD",
        +    "ZAR",
        +    "BRL",
        +    "IDR",
        +    "PHP",
        +    "THB",
        +    "CLP",
        +    "CZK",
        +    "DKK",
        +    "HUF",
        +    "ILS",
        +    "TRY",
        +    "PLN"
        +  ],
        +  "type": "string"
        +}
      • addedInput schema / properties / career_skill_list
        Added value: +{
        +  "description": "Skills for job matching (e.g. ['Product design', 'User research']). Replaces the current list.",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedInput schema / properties / career_working_permits
        Added value: +{
        +  "description": "Countries the user can legally work in, as country names (e.g. ['United States']). Replaces the current list.",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedInput schema / properties / contact_email
        Added value: +{
        +  "description": "Email shown to employers, if different from the login email",
        +  "type": "string"
        +}
      • addedInput schema / properties / dribbble
        Added value: +{
        +  "description": "Dribbble profile URL",
        +  "type": "string"
        +}
      • addedInput schema / properties / email_visible
        Added value: +{
        +  "description": "Show the contact email on the profile",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / github
        Added value: +{
        +  "description": "GitHub profile URL",
        +  "type": "string"
        +}
      • addedInput schema / properties / linkedin
        Added value: +{
        +  "description": "LinkedIn profile URL",
        +  "type": "string"
        +}
      • addedInput schema / properties / portfolio
        Added value: +{
        +  "description": "Portfolio URL",
        +  "type": "string"
        +}
      • addedInput schema / properties / seniority
        Added value: +{
        +  "description": "Seniority levels the user wants. Replaces the current list.",
        +  "items": {
        +    "enum": [
        +      "Entry-level",
        +      "Mid-level",
        +      "Senior",
        +      "Manager",
        +      "Director",
        +      "Executive"
        +    ],
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedInput schema / properties / twitter
        Added value: +{
        +  "description": "Twitter/X profile URL",
        +  "type": "string"
        +}
      • addedInput schema / properties / username
        Added value: +{
        +  "description": "New username: 3 to 30 letters, numbers, dashes or underscores. The profile moves to himalayas.app/@username and the old link stops working.",
        +  "type": "string"
        +}
      • addedInput schema / properties / visibility
        Added value: +{
        +  "description": "public_profile: employers can find and view it. unsearchable_profile: viewable by link but not in search. private_profile: only the user sees it.",
        +  "enum": [
        +    "public_profile",
        +    "unsearchable_profile",
        +    "private_profile"
        +  ],
        +  "type": "string"
        +}
      • addedInput schema / properties / website
        Added value: +{
        +  "description": "Personal website URL",
        +  "type": "string"
        +}
    • Addedupdate_profile_photo
    • Addedupdate_saved_answer
    • Addeduse_headshot_as_profile_photo
  6. 1 tool update
    • Addedget_new_matches
  7. 1 tool update
    • Changedupdate_profile2 fields changed
      • addedInput schema / properties / first_name
        Added value: +{
        +  "description": "First name, as shown on the profile and tailored resumes",
        +  "type": "string"
        +}
      • addedInput schema / properties / last_name
        Added value: +{
        +  "description": "Last name",
        +  "type": "string"
        +}
  8. 2 tool updates
    • Addedgenerate_application_documents
    • Addedget_plus_checkout_link
  9. 1 tool update
    • Changedupdate_job_status1 field changed
      • addedInput schema / properties / outcome
        Added value: +{
        +  "description": "What happened after applying, as reported by the user. \"clear\" removes a recorded outcome.",
        +  "enum": [
        +    "rejected",
        +    "no_response",
        +    "withdrawn",
        +    "didnt_apply",
        +    "clear"
        +  ],
        +  "type": "string"
        +}
  10. 2 tool updates
    • Addedget_apply_link
    • Addedsubmit_feedback
  11. 12 tool updates
    • Changedadd_experience1 field changed
      • changedInput schema / properties / location / description
        Previous value: -"Job location"New value: +"Country name for this role (e.g. 'United States', 'Germany'). Cities are not accepted."
    • Changedcheck_job_payment_status1 field changed
      • addedInput schema / properties / session_id / minLength
        Added value: +1
    • Changedcreate_company_job1 field changed
      • changedInput schema / properties / extras / description
        Previous value: -"Paid extras: 'sticky' ($199 pin to top for 30 days), 'newsletter' ($99 feature in weekly email for 30 days)"New value: +"Paid extras: 'sticky' ($299 pin to top for 30 days), 'newsletter' ($99 feature in weekly email for 30 days)"
    • Changedget_companies4 fields changed
      • changedInput schema / properties / page / description
        Previous value: -"Page number for pagination (default: 1)"New value: +"Page number for pagination (starts at 1)"
      • addedInput schema / properties / page / maximum
        Added value: +9007199254740991
      • addedInput schema / properties / page / minimum
        Added value: +1
      • changedInput schema / properties / page / type
        Previous value: -"number"New value: +"integer"
    • Changedget_jobs4 fields changed
      • changedInput schema / properties / page / description
        Previous value: -"Page number for pagination (default: 1)"New value: +"Page number for pagination (starts at 1)"
      • addedInput schema / properties / page / maximum
        Added value: +9007199254740991
      • addedInput schema / properties / page / minimum
        Added value: +1
      • changedInput schema / properties / page / type
        Previous value: -"number"New value: +"integer"
    • Changedget_talent_profile1 field changed
      • changedInput schema / properties / talent_slug / description
        Previous value: -"Talent slug (from search_talent results, e.g., 'john-doe')"New value: +"Talent slug from search_talent (e.g. 'john-doe'). Also accepts '@john-doe' or a himalayas.app/@slug profile URL."
    • Changedlist_company_jobs4 fields changed
      • changedInput schema / properties / page / description
        Previous value: -"Page number for pagination (default: 1)"New value: +"Page number for pagination (starts at 1)"
      • addedInput schema / properties / page / maximum
        Added value: +9007199254740991
      • addedInput schema / properties / page / minimum
        Added value: +1
      • changedInput schema / properties / page / type
        Previous value: -"number"New value: +"integer"
    • Changedpurchase_job_extras1 field changed
      • changedInput schema / properties / extras / description
        Previous value: -"Extras to purchase: 'sticky' ($199 pin to top), 'newsletter' ($99 weekly email feature)"New value: +"Extras to purchase: 'sticky' ($299 pin to top), 'newsletter' ($99 weekly email feature)"
    • Changedsearch_companies4 fields changed
      • changedInput schema / properties / page / description
        Previous value: -"Page number for pagination (default: 1)"New value: +"Page number for pagination (starts at 1)"
      • addedInput schema / properties / page / maximum
        Added value: +9007199254740991
      • addedInput schema / properties / page / minimum
        Added value: +1
      • changedInput schema / properties / page / type
        Previous value: -"number"New value: +"integer"
    • Changedsearch_jobs8 fields changed
      • changedInput schema / properties / experience / description
        Previous value: -"Filter by experience/seniority level. Comma-separate for multiple (e.g., 'senior,manager')"New value: +"Filter by a single experience/seniority level (entry-level, mid-level, senior, manager, director, or executive)"
      • changedInput schema / properties / page / description
        Previous value: -"Page number for pagination (default: 1)"New value: +"Page number for pagination (starts at 1)"
      • addedInput schema / properties / page / maximum
        Added value: +9007199254740991
      • addedInput schema / properties / page / minimum
        Added value: +1
      • changedInput schema / properties / page / type
        Previous value: -"number"New value: +"integer"
      • addedInput schema / properties / salary_max / minimum
        Added value: +0
      • addedInput schema / properties / salary_min / minimum
        Added value: +0
      • changedInput schema / properties / type / description
        Previous value: -"Filter by employment type. Comma-separate for multiple (e.g., 'full-time,contractor')"New value: +"Filter by a single employment type (full-time, part-time, contractor, temporary, intern, volunteer, or other)"
    • Changedsearch_talent4 fields changed
      • changedInput schema / properties / page / description
        Previous value: -"Page number for pagination (default: 1)"New value: +"Page number for pagination (starts at 1)"
      • addedInput schema / properties / page / maximum
        Added value: +9007199254740991
      • addedInput schema / properties / page / minimum
        Added value: +1
      • changedInput schema / properties / page / type
        Previous value: -"number"New value: +"integer"
    • Changedupdate_profile1 field changed
      • changedInput schema / properties / location / description
        Previous value: -"Location (e.g., 'San Francisco, CA')"New value: +"Country name (e.g. 'United States', 'Australia'). Cities and 'City, Country' strings are not accepted."

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Remote MCP server that lets AI assistants read tracked competitive intelligence — competitor news, reviews, website changes, social posts and ads — and act on it by managing projects, competitors, battle cards, reports and canvases. Every answer carries a source and a date, and write actions only publish when explicitly shared.
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Enables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.
    16
    23 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Browse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources