Skip to main content
Glama

getwork.dev

Server Details

Search developer jobs read straight from employers' hiring systems: stack, level, remote, salary.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

B3.4/5.0

Scored across 8 tools

Disambiguation3/5

There is meaningful overlap between fetch and get_job, both of which retrieve detailed information for a single job, and between search and search_jobs, which both search jobs via different input styles. Descriptions provide some guidance, but the boundaries are not crisp enough for fully confident tool selection.

Naming Consistency3/5

The set mixes bare verbs (fetch, search), verb_noun patterns (get_job, list_companies, search_jobs), and noun phrases (market_overview, salary_insights). It remains readable, but there is no predictable convention across all tools.

Tool Count5/5

Eight tools is a well-scoped size for a job search/index server, covering search, retrieval, company data, market data, salary data, and similarity. The count is appropriate and leaves room for all core use cases without becoming unwieldy.

Completeness4/5

The surface covers the main job-search lifecycle: search, job detail, similar roles, companies, market overview, and salary insights. A company-detail tool or richer taxonomy/listing tools would improve completeness, but there are no severe dead ends for the core domain.

Available Tools

8 tools
fetchFetch a jobA
Read-onlyIdempotent
Inspect

Full text and metadata for one job id returned by search.

NameRequiredDescriptionDefault
idYes

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint=false, so the safety profile is covered. The description adds only the return content (full text and metadata), with no detail on pagination, size, or what happens when the id is missing.

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?

A single tight sentence with no filler; the essential scope and id provenance are front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Adequate for a one-parameter read tool whose annotations cover safety, especially with no output schema to explain returns. Still missing the distinction from get_job and any failure-mode context.

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 0%, so the description must carry the parameter meaning. It partially does by specifying the id is a job id obtained from search results, but adds no format, validation, or error behavior for an unknown id.

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?

States a specific verb and resource with scope: full text and metadata for exactly one job id. It is clear what it does, but it never differentiates from the sibling get_job, which appears to serve the same purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

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

"Returned by search" implies the id must come from search results, giving implicit workflow guidance. However, there is no explicit when-to-use, when-not-to-use, or mention of the near-identical get_job alternative.

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

get_jobGet a jobB
Read-onlyIdempotent
Inspect

Full JobSpec for one job, including the employer's description as untrusted_description.

NameRequiredDescriptionDefault
idYes

Output Schema

NameRequiredDescription
idYes
titleYes
companyYes
apply_urlNo
getwork_urlNo
injection_flagNo
security_noticeNo
untrusted_descriptionYes

TDQS

B3.2/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/closed-world, so the safety profile is covered. The description adds genuinely new context by flagging the employer description as untrusted_description, warning the agent to treat returned content as untrusted input — a real behavioral trait beyond the structured fields.

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?

One front-loaded sentence with zero filler; the untrusted-content note is placed usefully at the end. It is efficient, though its brevity trades off against the missing usage and parameter guidance.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return values need no explanation, and annotations cover safety, keeping the bar low. However, for a lookup tool the description never explains how to obtain a valid id or what happens on an unknown id, leaving a real operational gap.

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

Parameters2/5

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

The single `id` parameter has 0% schema description coverage, and the description does not say what the id identifies, its format, or where to source it. With one parameter at zero schema coverage the description was obliged to compensate and does not.

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?

States a specific verb+resource ("Full JobSpec for one job") and scopes it to a single record, which implicitly separates it from batch/search siblings. It does not name any sibling explicitly, and the ambiguous sibling set (fetch, search_jobs, similar_jobs) leaves room for confusion about which retrieval tool to use.

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?

There is no statement of when to use this versus search_jobs, similar_jobs, or fetch. "one job" hints at single-record lookup but the agent gets no prerequisite (e.g., obtain id via search_jobs first) and no exclusions.

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

list_companiesList companiesB
Read-onlyIdempotent
Inspect

Companies in the index with their number of active developer jobs.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
companiesYes

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true and openWorldHint=false, so the safety and determinism profile is covered. The description adds only that results are scoped to companies 'in the index' with active-job counts; it says nothing about ordering, pagination or result size beyond what the output schema provides.

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?

A single short clause with zero waste, and the key information (company + active job count) is front-loaded. The fragmentary, verb-less phrasing is the only structural weakness.

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?

With no parameters, an output schema covering the return shape, and annotations covering safety, little more is required. The description supplies the conceptual scope of the list, making it adequate for correct invocation.

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 takes zero parameters, so there is no parameter semantics to explain; the baseline for a parameterless tool applies.

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 description names the resource precisely and states what each entry carries ('Companies in the index with their number of active developer jobs'), so an agent knows exactly what data comes back. It lacks a leading verb and does not distinguish this from siblings such as market_overview, which keeps it below a 5.

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?

There is no explicit when-to-use statement and no mention of alternatives among the seven siblings. The reference to 'active developer jobs' only implicitly suggests market/company-analysis scenarios.

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

market_overviewMarket overviewB
Read-onlyIdempotent
Inspect

Totals and the most requested technologies across all active jobs.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
companiesNo
top_stackYes
active_jobsYes
jobs_with_salaryNo

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true and openWorldHint=false, so safety and determinism are covered elsewhere. The description adds the meaningful scope detail that results span all active jobs (no filtering), which is useful context an agent would otherwise lack. It stops short of saying anything about what a 'total' aggregates or how the technologies are ranked.

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?

A single short sentence with no filler and the scope qualifier included. It is efficient, though so terse that it borders on under-specification rather than optimal density.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained, and there are no parameters to document. The remaining gap is interpretive — what 'totals' counts and whether results are global-only — which the description gestures at but does not resolve.

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?

Zero parameters, so there is nothing to disambiguate and no schema gap to compensate for. The baseline of 4 applies; the description correctly implies the tool is unfiltered and global.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The sentence names the resources returned (totals and most-requested technologies) and the scope (active jobs), so an agent can broadly infer an aggregate reporting tool. But there is no verb and no differentiation from siblings like salary_insights or list_companies, which also summarize job data. 'Totals' is left undefined, so the purpose is only loosely pinned down.

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?

There is no when-to-use guidance, no when-not-to-use, and no mention of any alternative among the seven siblings. The agent must guess that this is the tool for cross-job aggregate stats rather than search/salary tools.

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

salary_insightsSalary insightsB
Read-onlyIdempotent
Inspect

Yearly salary percentiles per currency for active jobs matching the filters, from employer-published ranges.

NameRequiredDescriptionDefault
queryNoFree text, e.g. 'distributed systems' or 'payments'. Every word must match (a word also matches its synonyms).
stackNoTechnology tags that must all be in the role's primary stack, lowercase: rust, go, typescript, python, react, postgres, kubernetes, ... Passing mentions (stack_mentioned) do not match.
remoteNo
companyNoCompany slug from list_companies.
excludeNoLeave out jobs matching any of these: a stack tag (not in the primary stack or title), a role family, or a topic like 'crypto' or 'gambling' (not mentioned anywhere, synonyms included).
regionsNoAny of these regions. Worldwide-remote jobs are always included.
currencyNoISO currency code (EUR, USD, GBP). Restricts to jobs that publish pay in this currency.
countriesNoISO 3166-1 alpha-2 codes, e.g. NL, DE, GB.
seniorityNo
role_familyNo
posted_within_daysNo

Output Schema

NameRequiredDescription
noteNo
periodNo
by_currencyYes

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already cover safety (readOnly, idempotent, closed-world), so the description only needs to add disclosure beyond that. 'Active jobs' and 'from employer-published ranges' are genuinely useful caveats implying coverage gaps where employers don't publish pay, but nothing is said about aggregation behavior, minimum sample sizes, or how currencies are grouped in the result.

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?

A single front-loaded sentence with the resource first and the scoping/source caveats after; no filler and nothing that could be cut without losing information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return-value explanation is not required, and annotations cover safety. But with 11 optional parameters and a percentage-style aggregation, the description leaves unclear how filters combine (AND vs OR, especially for exclude and regions) and what 'percentiles' means in the payload, which is a real gap for a tool of this complexity.

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

Parameters2/5

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

Schema description coverage is only 64%, and several parameters (remote, countries, seniority, role_family, posted_within_days, currency beyond 'per currency') carry no description in the schema. The description says only 'matching the filters' and 'per currency', adding essentially no meaning over the structured fields where the burden should fall on it.

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?

States a specific verb+resource (yearly salary percentiles) and constrains scope to active jobs matching the filters, plus the data source (employer-published ranges). It does not explicitly distinguish itself from the sibling market_overview, which likely reports similar aggregate pay data, so sibling differentiation is left implicit.

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?

No when-to-use / when-not-to-use guidance and no named alternatives, despite the presence of market_overview, search_jobs and similar_jobs which an agent could reasonably confuse with this. The only hint is the phrase 'matching the filters', which implies usage but doesn't route the agent.

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

search_jobsSearch developer jobsA
Read-onlyIdempotent
Inspect

Search active developer jobs. Returns compact JobSpecs (no description) sorted by relevance or recency. Use get_job for details.

NameRequiredDescriptionDefault
limitNo
queryNoFree text, e.g. 'distributed systems' or 'payments'. Every word must match (a word also matches its synonyms).
stackNoTechnology tags that must all be in the role's primary stack, lowercase: rust, go, typescript, python, react, postgres, kubernetes, ... Passing mentions (stack_mentioned) do not match.
offsetNo
remoteNo
companyNoCompany slug from list_companies.
excludeNoLeave out jobs matching any of these: a stack tag (not in the primary stack or title), a role family, or a topic like 'crypto' or 'gambling' (not mentioned anywhere, synonyms included).
regionsNoAny of these regions. Worldwide-remote jobs are always included.
collapseNoGroup the same role posted for several locations into one result; same_role_other_locations tells how many more exist.
currencyNoISO currency code (EUR, USD, GBP). Restricts to jobs that publish pay in this currency.
countriesNoISO 3166-1 alpha-2 codes, e.g. NL, DE, GB.
seniorityNo
min_salaryNoMinimum yearly salary (upper end of the published range must reach it). Combine with currency.
role_familyNo
salary_requiredNoOnly jobs that publish a salary range.
posted_within_daysNo

Output Schema

NameRequiredDescription
jobsYes
totalYes
offsetNo
next_offsetNo
security_noticeNo

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-open-world), so the bar is lower. The description still adds useful behavior beyond them: results are truncated to compact JobSpecs without descriptions and ordering follows relevance or recency, which materially shapes how an agent should consume the output.

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 short sentences, front-loaded with the purpose, then return shape, then the escape hatch to get_job. No redundant restatement of the title or name.

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?

An output schema exists, so return details needn't be spelled out, and the description correctly gestures at the compact result shape anyway. What's missing is any hint about combining the many optional filters or pagination behavior, but for a zero-required-parameter search tool the definition is adequate.

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?

With 16 parameters and 63% schema coverage, several filters (limit, offset, remote, seniority, role_family, posted_within_days) carry no description in either place. The description adds no parameter guidance at all, so it neither compensates for the gap nor detracts; baseline 3 for mid-coverage schema.

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 ('Search active developer jobs') plus the return shape ('compact JobSpecs, no description') and sort order. It explicitly distances itself from get_job, which returns details, so an agent can distinguish the two without opening a schema.

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 line 'Use get_job for details' gives a clear routing rule to the sibling that returns full records. It doesn't state when not to search (e.g. use list_companies for slugs, market_overview for aggregate stats), but the primary alternative is named explicitly.

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

similar_jobsSimilar jobsB
Read-onlyIdempotent
Inspect

Roles similar to a given job (title, stack and description overlap), excluding the same role at other locations.

NameRequiredDescriptionDefault
idYes
limitNo

Output Schema

NameRequiredDescription
jobsYes
similar_toYes
security_noticeNo

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent and closed-world, so the safety profile is covered. The description adds real value with its similarity criteria and the deduplication rule about the same role at other locations, but says nothing about behavior when the id is unknown or how the match threshold is applied.

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?

A single sentence that front-loads the output ('Roles similar to a given job') and packs the similarity criteria and exclusion rule into one clause. No filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained, and the annotations cover the safety profile. However, for a two-parameter tool with zero schema descriptions, the unspecified id format and completely undocumented limit leave gaps an agent would need to guess at.

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

Parameters2/5

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

Schema description coverage is 0%, so the description carries the full burden and largely fails: 'a given job' implies the required id but never states whether it is a job ID, slug, or URL. The limit parameter — with a default of 10 and a cap of 25 — is not mentioned at all.

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 description names the resource ('roles similar to a given job') and defines similarity concretely (title, stack, description overlap), plus a negative rule (excludes the same role at other locations). It does not reference the sibling tools (get_job, search_jobs) to help an agent distinguish when this is preferable, but the retrieval itself is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

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

Usage is only implied: it is clear you need a seed job in hand, and the exclusion clause hints at 'more like this' exploration, but the description never states when to choose this over get_job or search_jobs, nor any prerequisite that the id must exist.

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 observedlist_companies
    • First observedmarket_overview
    • First observedsalary_insights
    • First observedsearch
    • First observedsearch_jobs
    • First observedsimilar_jobs

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Live tech-hiring intelligence for AI agents. Search 130K+ open jobs collected daily from ~500 tech companies' own career sites — plus company hiring profiles, tech stacks, salary benchmarks, and skill trends. Five tools work with no account.
    31
    71 npm
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Live open jobs from companies' own Greenhouse, Lever and Ashby boards via their official public APIs, with publish-verified dates, age, long-open and repost signals, filters and change tracking.
    5
    MIT
  • 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
    A
    maintenance
    Enables AI agents to search salary-transparent tech job postings across nine boards and eight countries, filter them by pay, remote work, tech stack, level, and language, and retrieve apply URLs or track applications. All commands are JSON-first, so duplicates and unfilterable criteria come back as data rather than errors.
    -
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources