HiddenJobs — Remote Tech Job Search MCP
Server Details
Search remote tech jobs, inspect descriptions, compare roles, and retrieve application links.
- Status
- Healthy
- Uptime
- 99.9% over 39 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
- Repository
- hiddenjobs/job-search-mcp
- GitHub Stars
- 0
- Server Listing
- Job Search MCP
TDQS
Scored across 3 tools
Each tool has a clearly distinct purpose: search for jobs, fetch details for a specific job, and retrieve the application link. There is no meaningful overlap between them, and the descriptions reinforce their boundaries.
All tool names follow a consistent lowercase snake_case verb_noun pattern: get_job, open_application_link, search_jobs. The pattern is predictable and easy for an agent to infer.
With 3 tools, the server is tightly scoped to the core job search workflow: searching, viewing details, and accessing the application link. Each tool earns its place without unnecessary bloat.
The tool surface covers the full job-seeking flow: discover jobs through search, inspect a job's public details, and obtain the application link. No critical operation is missing for the stated purpose.
Available Tools
3 toolsget_jobBInspect
Get the public details and description of one Hidden Jobs offer.
| Name | Required | Description | Default |
|---|---|---|---|
| idOrSlug | Yes | The job id or slug returned by search_jobs. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations at all, the description carries the full burden of behavioral disclosure, and it does little with it. The word 'public' mildly signals a read-only, no-auth-required operation, but the description doesn't disclose failure modes (invalid id/slug), return format, missing-record behavior, or scope limits beyond 'public'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One 11-word sentence that front-loads the verb, resource, and the scoping qualifier 'public'. Every word carries meaning and nothing is redundant, achieving conciseness without under-specification.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter, read-style getter with no output schema, the description names what is returned ('details and description') and the schema fully specifies the input. The only notable gap is the workflow relationship to search_jobs, which is partially covered by the parameter description rather than the description itself.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single parameter idOrSlug is fully documented in the schema ('The job id or slug returned by search_jobs'), so the baseline of 3 applies. The description adds no parameter meaning beyond the schema, but none is needed given the schema's clarity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource ('Get the public details and description of one Hidden Jobs offer'), clearly identifying this as a singular fetch operation. It is readily distinguishable from siblings like search_jobs (listing/search) and open_application_link (link opening), though it doesn't name them explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus search_jobs or open_application_link. The only usage hint lives in the schema parameter description ('returned by search_jobs'), which implies the search-then-fetch workflow, but the main description text itself provides no when-to-use context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
open_application_linkBInspect
Get the original application link. The API key owner must have an active Hidden Jobs Access subscription.
| Name | Required | Description | Default |
|---|---|---|---|
| idOrSlug | Yes | The job id or slug returned by search_jobs. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It discloses a requirement (subscription) but doesn't say what happens if the user lacks the subscription (error vs. degraded response) or whether this is a read-only operation that might have rate limits or require additional auth. It also doesn't mention if the link might expire or be session-specific, which could be important for correct invocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short (one sentence) and to the point, which is good. However, the subscription requirement is the only extra context, and it's placed after the main purpose. With only one sentence, it's concise, but it could be restructured to put the requirement front and center for early signaling.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is minimal for a simple tool with one well-schemaed parameter. It covers the core purpose and a key prerequisite, but it doesn't mention the return value or how to handle errors, which could leave an agent uncertain about what to expect. Given the lack of annotations and output schema, additional behavioral detail would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100% and there's only one parameter, so the schema already fully documents the 'idOrSlug' parameter. The description doesn't add anything beyond the schema, but the schema is comprehensive, so baseline 3 applies. However, because there's only one parameter and it's clearly described in the schema, a score of 4 is justified for minimal added value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Get') and a resource ('original application link'), which is clear. However, it does not differentiate itself from siblings like get_job or search_jobs—there's no mention of how this link differs from other job data. The purpose is understandable but lacks explicit distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description introduces a prerequisite (active Hidden Jobs Access subscription), which gives some context on when the tool is usable. However, it doesn't explicitly state when to use this tool versus siblings like get_job or search_jobs, nor any conditions for using it over them. The subscription requirement is a useful signal but not enough for clear routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_jobsCInspect
Search Hidden Jobs offers. Returns public job details but never the original application URL.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| limit | No | ||
| query | No | Keywords, role, skills, or company. | |
| jobType | No | ||
| category | No | ||
| employmentType | No | ||
| remoteLocation | No | For example: Worldwide, US, Europe, Spain, or Germany. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It does disclose that the original application URL is never returned, which is a useful behavioral constraint. However, it does not describe pagination behavior, default sorting, or whether results are real-time or cached. For a search tool with no annotations, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, which is appropriately concise. The key behavioral note about application URL is front-loaded. However, it could be more structured by explicitly listing what it returns (e.g., summary, not full details) and mentioning the output is public. There is no wasteful text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 7 optional parameters and no output schema, the description is inadequate. It does not specify the response format, pagination, or how results are ordered. Since there is no output schema and no annotations, the description should compensate by describing the return value structure, but it only states 'public job details.' This leaves agents guessing what fields are returned.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only 'query' and 'remoteLocation' have descriptions in the schema, yielding 29% coverage. The description itself adds no parameter explanations, but it does mention that results are public job details, which informs what the query returns. The baseline for low coverage is 2, and the description provides minimal compensation, so score 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the purpose clearly as 'Search Hidden Jobs offers' and mentions it returns public job details. It partially distinguishes from siblings by noting it never returns the original application URL. However, 'Hidden Jobs' is ambiguous and could be confused with the sibling 'get_job' which likely returns full job details.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide any guidance on when to use this tool versus alternatives. It does not mention that it is for searching job listings while 'get_job' is for retrieving a specific job, nor does it explain when 'open_application_link' would be used. There is some implied usage via the sibling names, but no explicit exclusions or context.
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.
3 tool updates
- First observed
get_job - First observed
open_application_link - First observed
search_jobs
Related MCP Connectors
Search remote jobs from company career pages by title, location, seniority, salary, and tech stack.
Search remote jobs, compare salaries, create alerts, and request user-confirmed apply links.
Remote job search as MCP tools: jobs, companies, categories, salaries. Links to original postings.
Search AI-native jobs, inspect application forms, and fetch free interview-prep resources.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables users to search and browse remote tech jobs from RemoteOK job board through natural language queries, with no API key required.12 npmMIT
- AlicenseNot gradedqualityBmaintenanceEnables searching official public job APIs for remote developer roles, with normalized results, deduplication and filters for keywords, tags, region and posting date. Also lets users save listings and track application progress through statuses and notes in a local Postgres database, without ever applying on their behalf.MIT
- FlicenseNot gradedqualityAmaintenanceEnables AI agents and terminal users to search nine job boards across eight countries for salary-transparent tech postings, filtering by pay, remote status, and technology, then apply to matches while tracking which roles were already applied to.-
- FlicenseNot gradedqualityAmaintenanceEnables terminal users and AI agents to search and filter roughly 4,700 salary-transparent tech postings across nine job boards in eight countries, including Swiss all-industry boards and Singapore IT roles, by pay, tech, remote status and posting date. It also returns direct apply links or ATS routing, tracks already-applied jobs so duplicates stay hidden, and emits JSON so agents can drive it.-
Glama MCP Gateway
Add one secure layer between your agents and this server.