Skip to main content
Glama

JobYap Job Search

Server Details

Search job postings aggregated from companies' careers sites, plus each job's discussion thread.

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
jobyap/agent-skills
GitHub Stars
0

TDQS

A4.1/5.0

Scored across 8 tools

Disambiguation2/5

fetch and get_job both retrieve full job postings and overlap heavily, especially since get_job also returns the canonical discussion URL and fetch includes comments. search and search_jobs are both job search entry points, which creates additional ambiguity despite their different query styles.

Naming Consistency3/5

The get_job, get_job_comments, get_job_stats, list_companies, and search_locations names form a clear pattern, but fetch and bare search break the convention. The naming is readable overall, but the mix of bare verbs and prefixed verbs is inconsistent.

Tool Count5/5

With 8 tools, the server is well-scoped for a job search domain: search, structured filtering, location resolution, company listing, job details, comments, and stats. There is no obvious bloat or thinness.

Completeness5/5

The tool surface covers the main job-search lifecycle: finding jobs through two search modes, resolving locations, listing companies, retrieving full job details, reading community comments, and checking aggregate stats. There are no major missing operations that would leave an agent stuck.

Available Tools

8 tools
fetchFetch JobYap document (deep research)A
Read-only
Inspect

Retrieve the full JobYap document for a search result id: the complete posting as markdown (description, salary, locations, apply link) plus top community comments, with a citable URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesA result id returned by search.

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYes
urlYes
textYes
titleYes
metadataYes

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 read-only and non-destructive. The description adds that the output is markdown including specific fields and top comments with a citable URL, providing useful behavioral expectations beyond the safety flags. It does not contradict any annotation.

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 a single, information-dense sentence that front-loads the action and resource, then enumerates the return contents. Every phrase adds value and no words are wasted, making it highly concise and well-structured.

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 fetch tool with one parameter, an output schema, and read-only annotations, the description covers the purpose, input provenance, and output composition sufficiently. It gives an agent everything needed to decide when to use it and what to expect, without requiring the output schema to explain return values.

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?

The sole parameter 'id' is fully documented in the schema as 'A result id returned by search.' The description reiterates this context but adds no new format, constraints, or examples. Since schema coverage is 100%, a baseline score 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 uses the specific verb 'Retrieve' and identifies the resource as 'the full JobYap document for a search result id,' listing the contents (markdown of posting plus comments, citable URL). This clearly distinguishes it from siblings like get_job or get_job_comments, which focus on narrower subsets.

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 clearly states the context: given a search result id, you get the full document. However, it does not explicitly mention when to prefer this over get_job or get_job_comments, nor any exclusions, so it lacks direct comparison to alternatives.

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

get_jobGet job detailsA
Read-only
Inspect

Fetch one job posting in full: markdown description, salary ranges, locations with work mode, derived employment types, apply URL, posting dates and the canonical JobYap discussion URL. Works for expired jobs too (apply_url is null once inactive).

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesNumeric JobYap job id, a full jobyap.com job URL, or a job page slug.

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 destructiveHint=false, so the read-only nature is covered. The description adds valuable behavioral context beyond the annotations: it lists the return fields and reveals that expired jobs still return data with apply_url set to null. This goes beyond the structured metadata.

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 two sentences with no filler. The first sentence immediately states the tool's purpose and enumerates the returned fields, while the second sentence adds an important edge case. Every word 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?

Even without an output schema, the description provides a thorough account of the return values (markdown description, salary, locations, employment types, apply URL, dates, discussion URL). It also covers the expired-job scenario, making it complete for a single-fetch read tool with one parameter.

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?

The input schema's description of the 'id' parameter is comprehensive—it accepts a numeric ID, a full job URL, or a slug—achieving 100% schema description coverage. The tool description itself does not add new parameter-level information, 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 opens with the specific verb 'Fetch' and the resource 'one job posting in full,' then enumerates the exact content fields (markdown description, salary ranges, locations, etc.). This clearly distinguishes it from sibling tools like get_job_comments or get_job_stats, which focus on comments or statistics.

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 clearly implies when to use this tool—when you need the complete details of a single job posting—and highlights that it works for expired jobs, which is a useful contextual cue. However, it does not explicitly name alternative tools or state when not to use this tool, falling short of a full 5.

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

get_job_commentsGet job discussionA
Read-only
Inspect

Fetch the community discussion thread for a job: chronological, threaded via parent_id, with like counts. Comments are user-generated content. Threads stay open after a job expires.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesNumeric JobYap job id, a full jobyap.com job URL, or a job page slug.

TDQS

A4.4/5.0
Behavior5/5

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

Annotations already declare readOnlyHint and destructiveHint, and the description adds valuable behavioral context: chronological ordering, parent_id threading, like counts, user-generated content, and that threads persist after job expiration. This goes well beyond the safety metadata.

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 concise, consisting of three focused sentences. Each sentence contributes meaningfully—purpose, data characteristics, and lifecycle behavior—with no redundant phrasing.

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 simple one-parameter schema and existing annotations, the description provides sufficient context about the response nature (chronological, threaded, like counts). It lacks details such as pagination or explicit return structure, but that is not essential given the tool's simplicity.

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?

The input schema already fully documents the single parameter 'id' with a clear explanation of accepted formats. The description does not add any additional parameter-level detail, so the baseline score 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 clearly states the verb 'fetch' and the resource 'community discussion thread for a job', explicitly distinguishing it from sibling tools like get_job and get_job_stats. It also specifies key details (chronological, threaded, like counts) that make the purpose unmistakable.

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 clearly conveys when to use this tool—when you need a job's comment thread—but does not explicitly mention alternatives or exclusionary conditions. This is clear context without being a full when/when-not guide.

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

get_job_statsJobYap statsA
Read-only
Inspect

Aggregate stats: companies tracked, active job count, and the newest posting date.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, establishing the safety profile. The description adds the specific stats returned, which is helpful, but it does not disclose potential caveats like whether the stats are real-time, cached, or scoped to the current user/workspace. It does not contradict 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?

The description is a single, well-structured sentence that front-loads the core purpose ('Aggregate stats') followed by a concise list of the specific statistics. Every word earns its place, with no redundant or filler content.

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?

Given the tool has no parameters, a clear read-only annotation, and no output schema, the description specifies exactly which three aggregate values are returned. This is sufficient for an agent to understand what the tool does and when to invoke it. The absence of an output schema is compensated by the explicit enumeration of stats.

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 clarify. The schema fully covers the absence of parameters, and the description adds no parameter-related information, but none is needed. The baseline for 0-param tools is 4.

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 clearly states this tool returns aggregate stats (companies tracked, active job count, newest posting date), which is a specific verb+resource combination. It distinguishes itself from sibling tools like get_job and list_companies by focusing on summary aggregates rather than individual records.

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 provides no guidance on when to use this tool versus alternatives. It does not mention any exclusions, prerequisites, or context where a sibling tool (e.g., search_jobs, list_companies) would be more appropriate. The usage context is entirely implied by the tool name and title.

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

list_companiesList companiesA
Read-only
Inspect

List every company JobYap tracks with its active job count and JobYap company-page URL. Use the exact names as search_jobs company filters.

ParametersJSON Schema
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 declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds valuable behavioral detail beyond annotations by stating the output scope (every tracked company) and the exact fields included, which is useful since 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.

Conciseness5/5

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

The description is only two sentences and wastes no words. The core purpose and output are stated first, followed by a directly actionable usage hint about search_jobs filters.

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 parameterless list tool with read-only annotations and no output schema, the description fully specifies what the agent gets: every company, active job count, and the company-page URL. Nothing essential for calling or interpreting 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 the baseline is 4. The description adds no parameter information, but none is needed; the schema's empty properties object is fully self-explanatory.

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 ('List'), a precise resource ('every company JobYap tracks'), and the returned fields (active job count and company-page URL). It is clearly distinguishable from siblings like search_jobs by emphasizing enumeration of all companies rather than filtered search.

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 provides clear usage context: it lists all tracked companies and tells agents to use the returned exact names as search_jobs company filters. It does not explicitly state when not to use it or name alternatives, but the relationship to search_jobs gives practical routing guidance.

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

search_jobsSearch jobsA
Read-only
Inspect

Search JobYap's aggregated job postings with structured filters. The text query matches job titles only (case-insensitive substring) — try synonyms or shorter tokens when results are thin. Company names must exactly match values from list_companies; locations must be identifiers from search_locations. work_mode matches jobs explicitly marked remote or hybrid (unmarked means unstated, not onsite). Results are active listings, newest first by default; sort=popular ranks by discussion activity. To paginate, pass next_cursor back as cursor and keep every other argument identical.

ParametersJSON Schema
NameRequiredDescriptionDefault
sortNorecent (default) or popular (most discussed).
queryNoSubstring matched against job titles only.
cursorNoOpaque cursor from a previous next_cursor.
companiesNoExact company names from list_companies.
locationsNoLocation identifiers from search_locations, e.g. city-US-CA-san_francisco.
page_sizeNo
work_modeNo
has_commentsNoOnly jobs with community discussion.
include_totalNoAlso compute the total match count (slower).
posted_withinNoHard freshness filter on the publish date.

TDQS

A4.7/5.0
Behavior5/5

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

Beyond the annotations (readOnlyHint, destructiveHint), the description discloses critical behavior: query matches titles only (case-insensitive substring), unmarked work_mode means 'unstated not onsite', results are active listings with newest-first default, and pagination requires passing next_cursor with all other arguments identical. No contradiction with annotations.

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 dense but organized: purpose first, then filtering nuances, then sort, then pagination. No wasted words, though it is longer than average. Each sentence earns its place for a 10-parameter tool.

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?

Given the complexity (10 params, no output schema), the description covers the most important behavioral quirks: matching rules, identifier sources, work_mode semantics, sorting, and pagination. It also references sibling tools for lookups. The remaining params (has_comments, include_total, posted_within) are self-explanatory from schema. This is complete for invocation purposes.

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

Parameters5/5

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

The description adds meaning that schema descriptions don't fully convey: query semantics, company/location source constraints, work_mode nuance, sort meaning, and cursor usage. It compensates for missing schema descriptions on work_mode and page_size, and enriches the other fields.

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 opens with a specific verb and resource: 'Search JobYap's aggregated job postings with structured filters.' This clearly distinguishes it from siblings like get_job (single job) or search (likely generic), while also implying a structured search vs. free-form.

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 provides clear context: companies must come from list_companies and locations from search_locations, which implicitly tells the agent to call those tools first. It also advises trying synonyms or shorter tokens when results are thin. However, it doesn't explicitly state when *not* to use this tool versus the 'search' sibling.

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

search_locationsSearch locationsA
Read-only
Inspect

Resolve a free-text place name ("bay area", "Germany", "berlin") to the location identifiers search_jobs accepts (country-XX, state-XX-YY, city-XX-YY-name). Searches every place JobYap knows, not only those with current openings, so an identifier may match no jobs. City display omits the state, and the list can be shorter than limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryYesPlace name fragment, minimum 2 characters.

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already mark readOnlyHint=true and destructiveHint=false, and the description adds meaningful behavioral context: it searches the entire place directory regardless of current openings, an identifier may match zero jobs, city results omit the state, and the result list may be shorter than the requested limit. There is no contradiction with 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?

The description is three sentences, front-loaded with the core purpose and examples, followed only by necessary caveats about scope and pagination. No sentence repeats schema or annotation information, and every clause 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 simple two-parameter read-only lookup with no output schema, the description covers purpose, input semantics, output identifier format, edge cases (no openings, missing state, shorter list), and the search universe. An agent has enough information to invoke the tool correctly and interpret its results.

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 query parameter already has a schema description, and the description enriches it with example fragments and the output identifier format (country-XX, state-XX-YY, city-XX-YY-name). The limit parameter is not described in the schema, but the description clarifies it as a cap on the returned list ('the list can be shorter than limit'), partially compensating for the 50% schema coverage gap.

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, 'Resolve,' and identifies the exact resource: free-text place names are converted to location identifiers that sibling search_jobs accepts, with concrete examples. This clearly differentiates it from job search or company listing siblings, leaving no ambiguity about what the tool 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 description states the tool's role as the lookup step for search_jobs, which tells an agent when to use it. It also flags that results may match no job openings, preventing misuse. It does not explicitly name alternatives or state when not to use it, but the context is clear enough for an agent.

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. 8 tool updates
    • First observedfetch
    • First observedget_job
    • First observedget_job_comments
    • First observedget_job_stats
    • First observedlist_companies
    • First observedsearch
    • First observedsearch_jobs
    • First observedsearch_locations

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Enables real-time job search across thousands of companies' open roles from Greenhouse, Lever, Ashby, and SmartRecruiters, with full-text filtering and company-specific queries, no API key required.
    2
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    Enables searching live, normalized job postings from 30+ ATS feeds and job boards, with tools for job search, source listing, pricing plans, and Upwork jobs.
    -
  • A
    license
    A
    quality
    C
    maintenance
    Enables asking what companies are hiring right now by querying live job postings from their applicant-tracking system board APIs (Greenhouse, Lever, Ashby, Recruitee, Rippling, Personio), with filters, parsed location, remote flag, and structured salary.
    3
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Search live startup.jobs listings with filters for role, location, and employment type, plus get job details, company profiles, hiring trends, and salary benchmarks.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.