JobDataLake
Server Details
Search 1M+ enriched job listings from 20,000+ companies. Filter by skills, salary, location, seniority, remote type, and more. Free — 500 calls/day, no signup required.
- Status
- Healthy
- Uptime
- 99.9% over 37 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 5 tools
Each tool has a clearly distinct purpose: search finds jobs, get_job retrieves details, find_similar_jobs does similarity matching, get_company looks up employer info, and get_filter_options provides search metadata. There is no meaningful overlap or ambiguity.
All tools follow a consistent snake_case verb_noun pattern (search_jobs, get_job, get_company, get_filter_options, find_similar_jobs). The verbs are varied but semantically appropriate, and there are no mixed conventions.
Five tools is a well-scoped set for a job search and discovery data lake. Each tool covers a necessary step in the workflow without redundancy or excessive surface area.
The toolset covers the full read-only job discovery workflow: filtering/searching, accessing full job details, finding related jobs, and retrieving company information. There are no obvious dead ends or missing operations for the stated purpose.
Available Tools
5 toolsfind_similar_jobsARead-onlyInspect
Find jobs similar to a given job listing using AI vector similarity. Great for "more like this" discovery.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | Job handle from search results (e.g. "dropbox-senior-full-stack-software-engineer-d3f1k") | |
| per_page | No | Number of results |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the tool read-only and non-destructive, so the safety profile is covered. The description adds that the tool works via AI vector similarity, but doesn't elaborate on ordering, scoring, or variability of results. That's solid but not deep context.
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?
Two concise sentences; the first identifies the core action and mechanism, the second adds a practical user-facing use case. There is no redundancy or filler.
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 small, read-only tool with two well-documented parameters, the description plus schema is almost complete. The only gap is the lack of an explicit statement of the return shape, and since there is no output schema, the description might have clarified it returns a list of similar job listings.
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 input schema already covers both parameters with useful descriptions, including an example job handle for job_id and a default for per_page. The description itself adds no parameter-specific semantics, so it stays at the baseline for full schema coverage.
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?
Description clearly states it 'finds jobs similar to a given job listing' and the method 'AI vector similarity' plus the use-case 'more like this' discovery. This differentiates it from sibling tools like search_jobs (query-based) and get_job (exact retrieval).
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 provides clear context for when it is appropriate: when there is already a specific job listing and the request is to discover similar jobs. It doesn't explicitly name alternatives or state when not to use it, so it misses the top score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_companyARead-onlyInspect
Get company profile including open job count, industry, size, and career page URL.
| Name | Required | Description | Default |
|---|---|---|---|
| company | Yes | Company domain (e.g. "stripe.com") or handle |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the tool read-only and non-destructive. The description adds context about the returned profile fields, but does not disclose much about output structure, error behavior, or response limitations. It is not contradictory, but does not go far beyond 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single compact sentence that front-loads the main action and lists the useful output fields. There is no redundant phrasing or unnecessary detail.
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 single-parameter, read-only profile lookup, the description covers the purpose and main returned fields. Since no output schema exists, the description partially substitutes for it by listing the key company attributes, though it does not expose every possible field or an exact response structure.
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 input schema already fully documents the only parameter with a helpful domain/handle example. The description does not add any new semantic detail about the parameter, so the baseline score of 3 is appropriate.
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 names a specific resource ('company profile') and lists concrete returned content: open job count, industry, size, and career page URL. This clearly distinguishes get_company from sibling job-search tools like search_jobs or get_job.
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 implies usage for company-profile lookup, and the sibling context makes the distinction from job tools apparent. However, the text itself does not explicitly state when to prefer this tool over the listed alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_filter_optionsARead-onlyInspect
Get available filter values (seniority levels, job functions, skills, etc.) with job counts. Useful for discovering what values to use in search filters.
| Name | Required | Description | Default |
|---|---|---|---|
| facets | No | Comma-separated facet fields to retrieve | seniority,job_function,remote_type,employment_type,required_skills |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true and destructiveHint=false, so the description does not need to restate safety. It adds that the result includes filter values paired with job counts, which is useful behavioral context, but it does not describe pagination, limits, or other response details.
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 concise sentences with no filler. The core purpose is stated first, followed by a short use-case sentence. Every phrase earns its place.
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 low-complexity, read-only tool with one optional parameter and complete schema coverage, the description gives enough to understand its role and output. It would be slightly more complete if it explicitly linked the returned filter values to how they are used in search requests, but it is fundamentally adequate.
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 alone already fully describes the facets parameter as comma-separated fields with a default value and 100% schema description coverage. The tool description adds little to parameter semantics beyond listing examples, 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get available filter values') and the resource scope (seniority levels, job functions, skills, etc.), and mentions it returns job counts. This differentiates it from sibling tools like search_jobs because it is about filter metadata, not job records.
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 an explicit use case: discovering which values to use in search filters. It implies the intended pairing with search_jobs and is clear about when this tool is relevant, though it does not explicitly say when not to use it or name alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_jobARead-onlyInspect
Get full details for a specific job listing including description, requirements, salary, and apply link. Use the job_handle ID from search_jobs results.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | Job handle from search results (e.g. "dropbox-senior-full-stack-software-engineer-d3f1k") |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, covering safety. The description adds the scope of returned details and the expected input source, but it doesn't describe edge cases like invalid job IDs or partial results. The additional behavioral context is modest but non-zero.
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 compact, information-dense sentences. The first sentence immediately states the purpose and expected output content, and the second gives the input provenance without unnecessary prose.
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 simple single-parameter read tool with annotations and full schema coverage, the description is nearly complete: it indicates the input source, the output scope, and the operation type. It could add a tiny bit more about error handling, but nothing critical is missing.
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 input schema already describes job_id as 'Job handle from search results (e.g. ...)', which is essentially the same content the description repeats via 'Use the job_handle ID from search_jobs results.' With 100% schema coverage, the description does not meaningfully extend parameter understanding.
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'), a specific resource ('specific job listing'), and the scope ('full details ... including description, requirements, salary, and apply link'). It also implicitly distinguishes itself from siblings like search_jobs by focusing on a single listing.
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 clearly indicates that job_handle IDs originate from search_jobs results, which tells an agent how to obtain the correct input. It does not explicitly list exclusions or when not to use it, but the usage context is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_jobsBRead-onlyInspect
Search 1M+ job listings from 20K+ companies. Supports keyword search, AI semantic search, filters for location, salary, remote type, seniority, skills, and more.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| query | No | Keyword search (title, company, skills). Use * for all jobs. | |
| skills | No | Comma-separated required skills, e.g. "Python,AWS,Kubernetes" | |
| company | No | Company domain filter, e.g. "stripe.com" | |
| sort_by | No | Sort: "posted_at:desc" (newest, default), "posted_at:asc" (oldest), "salary_max_usd:desc" (highest paid), "salary_min_usd:asc" (lowest paid) | |
| location | No | Location filter, e.g. "Remote", "San Francisco", "Germany" | |
| per_page | No | Results per page (max 100) | |
| countries | No | Comma-separated ISO country codes, e.g. "US,GB,DE" | |
| seniority | No | Comma-separated: Entry, Mid Level, Senior, Staff, Principal, Manager, Internship, Director, Lead, C Level | |
| salary_max | No | Maximum annual salary in USD | |
| salary_min | No | Minimum annual salary in USD | |
| remote_type | No | Remote work policy | |
| job_function | No | ||
| posted_within | No | Time window: "24h", "7d", "30d" — only jobs posted within this period | |
| semantic_query | No | AI semantic search. Works best with job-title-like queries (e.g. "machine learning engineer", "senior devops"). Supported for remote + tech jobs only. | |
| employment_type | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already carry readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds scale ('1M+ listings from 20K+ companies') and indicates the breadth of filtering, but it does not disclose behavioral caveats such as semantic search being limited to remote+tech jobs or the list/pagination nature of the result. Since there is no contradiction with the annotations, a 3 is appropriate.
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 a tight two sentences, front-loaded with the core action and scale. The second sentence lists capability areas but stops short of explaining selection logic; this is still economical, though the sentence could have been replaced with sibling-routing guidance for even better value.
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?
A 16-parameter tool with no output schema could use a bit more orientation: the description doesn't mention that all parameters are optional, recommend a query/vs filter-based strategy, or point to siblings for filter options and single-job detail. However, the schema is rich and the tool is a read-only listing endpoint, so the definition is at the 'minimum viable' level rather than clearly lacking.
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 81%, so the schema already documents most parameters. The description names query, semantic query, location, salary, remote type, seniority, and skills—none of which adds meaning beyond the param-level texts; it just restates their categories. Baseline 3 applies because the coverage is high.
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 names a specific verb and resource: 'Search 1M+ job listings', and immediately enumerates the major capabilities (keyword/semantic search, filters). It is clear enough that an agent can tell this is a job-list retrieval tool, but it does not explicitly contrast against the sibling tools (e.g., get_job, find_similar_jobs), leaving some differentiation to inference.
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?
No guidance is given about when to use this tool versus the siblings get_job, find_similar_jobs, get_filter_options, or get_company. There is no statement of when-not-to-use, no prerequisite, and no pointer such as 'use get_filter_options for valid values'. The usage is only inferred from the name and general-purpose search description.
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 tool update
- Changed
find_similar_jobs1 field changed- changed
Input schema / properties / job_id / descriptionPrevious value: -"Job handle or ID to find similar jobs for"New value: +"Job handle from search results (e.g. \"dropbox-senior-full-stack-software-engineer-d3f1k\")"
5 tool updates
- First observed
find_similar_jobs - First observed
get_company - First observed
get_filter_options - First observed
get_job - First observed
search_jobs
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.167 npm1MIT
- AlicenseCqualityAmaintenanceCompetitor Monitor AI - MCP server providing AI-powered tools and automation by MEOK AI Labs119 npm49 PyPIMIT
- AlicenseNot gradedqualityBmaintenanceEnables tracking competitor websites, changelogs, blog feeds, and pricing pages with meaningful diffs, classification, and Markdown digests via MCP tools for listing, adding, removing competitors, running checks, and retrieving digests or changes.MIT

industrylens-mcpofficial
AlicenseNot gradedqualityBmaintenanceBrowse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.