Skip to main content
Glama
harpd-dev

harpd-mcp

Official
by harpd-dev

Get a Harpd category board

get_category_ranking
Read-only

Fetch a Harpd category board with metadata, product listings, and provenance. Highlights that rankPoints are promotional placement, not quality, and returns valid slugs for unknown categories.

Instructions

Read one of the 28 published Harpd Rank category boards: the board metadata (product counts, state, board URL) plus the products listed in that category. CRITICAL: rankPoints are promotional placement bought with Credits on Harpd Rank, NOT an editorial quality score. A category board being "topRankOpen" or a product having high rankPoints says nothing about product quality. An unknown category returns a structured found:false result listing the valid slugs, not an error. Every record carries full provenance.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
sortNoOrdering of the returned records. "rank" = board position ascending. "rankPoints" = descending by promotional placement, which is NOT a quality ordering. "name" = alphabetical.rank
limitNoMaximum number of records to return (1-200, default 20).
offsetNoNumber of records to skip before the page starts. Must be >= 0.
categoryYesHarpd category slug, e.g. "developer", "agents", "ai-media", "seo". Must be one of the 28 published category boards.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.3/5.0
Behavior5/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds substantial behavioral context beyond annotations: the CRITICAL warning that rankPoints are promotional placement, not quality scores; the structured found:false result for unknown categories instead of an error; and the promise that every record carries full provenance. This is exactly the kind of non-obvious behavior an agent needs to know.

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 compact and front-loaded: the first sentence states the core function, and the critical warning about rankPoints is placed prominently. The provenance sentence is slightly redundant with the openWorldHint annotation but adds useful context. Every sentence earns its place, though the warning could be slightly tightened.

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 list tool with 100% schema coverage and no output schema, the description covers the essential behavior: what is returned, the critical semantic warning, and the error behavior for unknown categories. It doesn't describe pagination details (though limit/offset are in the schema) or the exact shape of the board metadata, but those are either in the schema or not required for correct invocation. A 4 is fair because the description is complete enough for an agent to call it correctly without surprises.

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 four parameters (category, sort, limit, offset) with types, defaults, and constraints. The description adds the semantic warning that sort=rankPoints is NOT a quality ordering, which is valuable context beyond the schema. However, it doesn't add much about the category parameter beyond what the schema already says, so 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 ('Read'), a specific resource ('one of the 28 published Harpd Rank category boards'), and exactly what is returned (board metadata plus listed products). It also distinguishes itself from siblings by naming the resource type (category board) and the fixed set of 28 boards, which is enough to tell it apart from get_product, search_products, and get_rankings.

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: to read a category board and its products. It does not explicitly name sibling alternatives or say 'use search_products instead when...', but it does specify the scope (one of 28 published boards) and the behavior for unknown categories, which implies when it is appropriate. A small gap: no explicit exclusion of when to use get_rankings or get_ranking_history instead.

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