Skip to main content
Glama
karlancer-mcp
by sepehr071

Search portfolio items

kl_worksamples
Read-onlyIdempotent

Search freelancer portfolios by keyword, skill, rating, or freelancer to assess work quality, typical pricing, and candidate fit.

Instructions

Search the portfolio items (work samples) freelancers show on Karlancer, or list one freelancer's portfolio.

Use this to judge the quality and typical price of a skill's work or to vet a freelancer. Pass a token to kl_worksample for the full item.

Input Schema

NameRequiredDescriptionDefault
pageNoPage number, 16 per page; at most 10000 matches are served.
orderNorelevant = the site's default listing; best = top rated; newest = recently added.relevant
queryNoWords to search in portfolio titles, e.g. 'logo' or 'فروشگاه'.
skillsNoSkill ids from kl_skills.
freelancer_idNoShow only this freelancer's portfolio (id from kl_freelancers); other filters are then ignored.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.1

TDQS

A4.2/5.0
Behavior4/5

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

The annotations already declare this as a read-only, idempotent, non-destructive operation, so the description does not need to repeat safety details. It adds useful behavioral context by explaining that results are portfolio items and that a separate detail call is needed for full item information via the token. It does not describe pagination or result fields, but those are partly covered by the 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?

The description is short, front-loaded, and waste-free. It states the primary capability first, then use cases, then the alternative detail tool in a single compact sentence. Nothing is repeated 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?

For a read-only search/list tool with rich schema coverage and annotations, the description gives enough context to select and invoke it correctly. It implies that results carry a token usable with kl_worksample, which partially compensates for the lack of an output schema. However, it does not explain result shape or pagination behavior, which leaves a small gap for agents unfamiliar with the API.

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 explains every parameter, including page, order, query, skills, and freelancer_id. The description adds only conceptual context, such as using freelancer_id to list one freelancer's portfolio. It does not add syntax or edge-case detail beyond what the schema already provides, 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 names the specific resource (portfolio items / work samples on Karlancer) and the two main modes: searching broadly or listing one freelancer's portfolio. It also distinguishes this list/search tool from the sibling detail tool kl_worksample, so an agent can tell them apart without opening the schemas.

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 usage contexts: judging the quality and typical price of a skill's work, or vetting a freelancer. It also explicitly routes the agent to kl_worksample for full item details when a token is available. The main gap is that it does not explicitly exclude or compare against other sibling tools such as kl_freelancers or kl_service.

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