Skip to main content
Glama
Crayz129

hn-hiring-mcp

by Crayz129

Search job posts

search_jobs
Read-onlyIdempotent

Find Hacker News 'Who is hiring?' job posts by query, location, work mode, technology, salary, or visa sponsorship, and return compact summaries; use get_job for full details.

Instructions

Searches one month of "Who is hiring?" posts. All filters are optional and combined with AND. Returns compact summaries; call get_job for the full text of a post.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
sortNoDefault: relevance when query is set, otherwise newest
limitNo
monthNoThread month as YYYY-MM. Defaults to the latest thread.
queryNoFree-text terms, all must appear, e.g. 'machine learning Berlin'
offsetNo
locationNoSubstring of the location, e.g. 'Europe', 'London', 'US'
work_modeNo
has_salaryNoOnly posts that state compensation
technologiesNoAll must be mentioned, e.g. ['Python', 'PostgreSQL']
visa_sponsorshipNotrue: offers sponsorship/relocation; false: explicitly does not

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
jobsYes
monthYes
offsetYes
thread_idYes
next_offsetYes
total_matchesYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnly/openWorld/idempotent, so the safety profile is covered; the description adds real value by disclosing the return shape ('compact summaries') and the filter-combination semantics ('AND'). It omits pagination behavior of limit/offset and doesn't explain the relationship between month and list_hiring_threads.

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: what it searches, how filters behave, and where to go for more. The scope constraint and routing hint are front-loaded with zero 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 10-param search tool with an output schema, the description covers purpose, filter logic, and the get_job handoff, so return values need no explanation. It is slightly incomplete on pagination and on how the month parameter relates to list_hiring_threads, but nothing critical for a correct call 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?

With 70% schema coverage, the schema already documents most parameters (defaults, patterns, enum hints). The description contributes the key cross-parameter semantics the schema cannot express: filters are optional and combined with AND. It adds nothing for individual params like sort or offset, but the combination rule is meaningful.

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 ('Searches ... "Who is hiring?" posts') and pins the scope to 'one month,' which no sibling covers. It also distinguishes itself from get_job by noting it returns compact summaries rather than full text, so an agent can route correctly 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 Guidelines4/5

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

Gives clear usage context: all filters are optional and AND-combined, and it explicitly routes to get_job for full post text. It stops short of stating when *not* to use it (e.g. vs. hiring_trends for aggregate trends, or list_hiring_threads to discover valid months).

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

Deploy Server

Other Tools