Skip to main content
Glama

list_suggested_boards

Idempotent

Suggest company job boards to watch from job alerts, applications, and Hacker News hiring posts, ranked by how well their openings match your filters.

Instructions

Companies to watch: those whose jobs came in from job-alert emails (import_job_alerts), add_application or posts in HN's Who is hiring thread (fetch_jobs, when it's watched) while their board isn't on the watchlist, ranked by how many of their jobs pass the watchlist's filters, recent ones counting more. Each: company, matching_jobs, last_seen, board (source:board, or null), board_found (posting: one of its jobs is on that board, or its HN post links to it; name: found under its name, so check with find_board's sample titles that it's theirs), careers, sample_titles, and add_board: the arguments to pass to add_board to watch it (null when no board was found: find_board with a link to its careers page may find one). dismiss_suggested_board stops suggesting one. rescan picks up HN posts kept before (see its description). Suggest; let the person decide which to add.

Input Schema

NameRequiredDescriptionDefault
limitNoThe most companies to return, best first. Omit for the watchlist's suggestions.limit (10 unless set).
rescanNoFirst note the companies of the HN posts already kept (still open) that pass the filters: after the filters change, or for posts fetched before they were noted. Reads nothing from the web; safe to repeat.
look_up_boardsNoLook for the board of each listed company that hasn't been looked for yet, the way find_board does (once per company; what's found is kept). False makes no requests.

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.5.0

TDQS

A3.6/5.0
Behavior4/5

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

This is where the description earns its keep: readOnlyHint=false would otherwise be confusing for a 'list' tool, and the text explains why by disclosing that look_up_boards makes web requests once per company and keeps what it finds, while rescan 'reads nothing from the web; safe to repeat.' That goes meaningfully beyond the annotation flags and identifies the network/persistence behavior.

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

Conciseness2/5

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

It is one very long run-on paragraph with deeply nested parentheticals, and the essential action is not front-loaded — the first sentence mixes purpose, data sources, ranking logic, and caveats before the agent learns what the tool returns. It also spends much of its length re-describing return fields that the output schema already defines.

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?

Given the complexity (multi-source suggestions plus a web-lookup side effect) and the presence of an output schema, the description supplies enough operational context to call it correctly and interpret results, including the board_found provenance and the pre-built add_board arguments. The only real gap is that result fields are re-explained rather than relying on the output 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 coverage is 100%, so the schema already carries limit, rescan, and look_up_boards semantics in detail; the description mostly defers back to it ('see its description'). The narrative adds context for why rescan exists (filters changed, or posts fetched before they were noted), but the baseline 3 applies 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?

The name plus the opening enumeration of what each suggestion contains makes it clear this tool lists candidate companies to watch, and it names the relevant siblings (import_job_alerts, add_application, fetch_jobs, find_board, add_board, dismiss_suggested_board) so an agent can place it in the workflow. It never states the action in a clean verb+object form, but the resource 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 Guidelines4/5

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

The closing line 'Suggest; let the person decide which to add' and the routing to dismiss_suggested_board for removal, rescan for picking up previously kept HN posts, and find_board when no board was found give a clear sense of when to reach for this tool and what to do next. There is no explicit exclusion versus list_boards, but the sourcing condition (job-alert emails, add_application, watched HN threads) is a practical filter condition.

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