Skip to main content
Glama

Ocean of Jobs

Server Details

Search 1.2M+ open jobs from 22k companies, read full listings and look up employers.

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
Repository
guyvolvo/oceanofjobs
GitHub Stars
2

TDQS

Score is being calculated.

Available Tools

3 tools
get_companyGet a companyB
Read-onlyIdempotent
Inspect

A company on Ocean of Jobs by name or domain: how many jobs it has open, how many are new this week, how long it has been tracked, its newest jobs, and its Ocean of Jobs page.

ParametersJSON Schema
NameRequiredDescriptionDefault
companyYesA name such as Wix, or a domain such as wix.com.

Output Schema

ParametersJSON Schema
NameRequiredDescription
atsYes
urlYes
nameYes
domainYes
open_jobsYes
new_jobs_7dYes
newest_jobsYes
other_matchesYes
tracked_sinceYes

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, covering the safety profile. The description adds a summary of returned data (open job counts, new jobs this week, tracking duration, newest jobs, page), which is somewhat redundant with the output schema and does not disclose auth, rate limits, or error behavior.

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 a single sentence that front-loads the resource and lookup keys, then lists the returned data efficiently. It is appropriately sized, though the return-field list is somewhat dense.

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 an output schema present, the description need not explain return values, yet it gives a useful summary. It covers the lookup key and general purpose for a low-complexity, single-parameter tool, though it lacks usage guidance against sibling tools.

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

Parameters3/5

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

Schema coverage is 100% and the schema already describes the single 'company' parameter with examples (Wix, wix.com). The description restates 'by name or domain' without adding format, validation, or disambiguation details beyond the schema.

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 specific resource (a company on Ocean of Jobs) and the lookup keys (name or domain), and enumerates what the tool returns. It does not explicitly differentiate from the job-oriented siblings get_job and search_jobs, but the resource noun makes the distinction clear.

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 when-to-use guidance, no prerequisites, and no mention of alternatives or exclusions. It simply describes what the tool returns, leaving the agent to infer the appropriate context.

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

get_jobGet a jobA
Read-onlyIdempotent
Inspect

One job on Ocean of Jobs by its id (from search_jobs or get_company): the description as plain text, its lifetime, whether its data is verified against the employer's ATS, and both links, the Ocean of Jobs page first.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe job's id, e.g. 67ff4ef965d91ef7.

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYes
urlYesThe listing's page on Ocean of Jobs. Show this first.
titleYes
companyYesThe employer's name, or its domain when the ATS gives no name.
categoryYes
lifetimeYesfirst_seen is when Ocean of Jobs first found the listing on the employer's own applicant tracking system. last_seen is the last time a read of that board returned the listing with any change; a board that answers 'unchanged' was still checked, so the listing may have been confirmed more recently than last_seen says. closed_at is when a successful read of the board no longer included it; null means it was still listed at the last successful read. reappeared_at is when this same listing (the same ATS id) was last seen again after being missing from our reads of the board for at least two days; null means no such absence was seen (recorded since 2026-10-19). It says what was observed, not that the employer reposted it: our own failed reads can look the same, so do not call a listing reposted on this or on an old first_seen. A new posting for the same role is a new listing. posted_at is the employer's own date where the ATS gives one, and can be missing.
locationYes
apply_urlYesThe employer's own application page.
seniorityYes
workplaceYes
confidenceYesverified: read from the employer's ATS API. best_effort: from the careers page markup.
departmentYes
descriptionYesPlain text; '## ' starts a heading and '- ' a bullet. Null when the ATS gave none.
company_domainYes
description_truncatedYes

TDQS

A4.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false and destructiveHint=false, so the safety profile is covered. The description adds that the result includes verification against the employer's ATS and link ordering, but since an output schema exists this return-content detail is largely redundant.

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 dense sentence that front-loads the resource and scope; the enumeration of returned fields is a bit run-on but every clause carries information.

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?

For a single-parameter read tool with an output schema and full annotation coverage, the definition is nearly self-sufficient; the only minor gap is that return-value details duplicate the output schema.

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?

Schema coverage is 100%, so the id format is already documented. The description goes beyond the schema by stating the provenance of the id (from search_jobs or get_company), which is genuinely useful for constructing the call.

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 ('One job on Ocean of Jobs by its id') and names the siblings that supply the id (search_jobs, get_company), so an agent can distinguish it from those tools without inspecting schemas.

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 clearly routes the agent by naming where the required id comes from (search_jobs or get_company), which implies this tool is the follow-up step. It lacks an explicit 'do not use this for searching' exclusion, but the context is unambiguous.

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-onlyIdempotent
Inspect

Search open jobs on Ocean of Jobs. Give at least one of query, company, city or country (IL for Israel; most listings are in the US). Returns up to 25 jobs per call, best match first when there is a query, newest first otherwise, with the total number of matches. Every job includes its lifetime (days listed, first and last seen) and two links: url, the Ocean of Jobs page, to show first, and apply_url, the employer's page.

How to search well:

  • Put one or two core title or skill words in query, such as "backend", "python" or "devops", and use the filters for place, seniority and dates. Every word in query must match, so a long description of the person returns little or nothing.

  • Search once. If that gives relevant candidates, do not search again for synonyms. If it gives nothing useful, change or broaden query once, keeping the same filters.

  • Across searches, treat the same id or the same apply_url as one job.

  • Open only the strongest few candidates with get_job, and read their descriptions for seniority, required skills and where the job can be done from before ranking them.

  • Give the number of recommendations asked for when enough jobs fit, and say so when fewer do.

  • Never call a listing reposted because of its age. Use lifetime.reappeared_at, and say when the tracked history is too short to tell.

ParametersJSON Schema
NameRequiredDescriptionDefault
cityNoCity name, e.g. Tel Aviv.
limitNo
queryNoWords to search titles, companies, locations and descriptions, skills included, e.g. "kubernetes go". Quotes keep a phrase together.
offsetNo
companyNoA company domain such as wix.com, or a name, which is looked up.
countryNoTwo-letter country code, e.g. IL or US.
seniorityNo
workplaceNo
salary_minNoLowest monthly gross salary in shekels.
max_age_daysNoOnly jobs posted within this many days.

Output Schema

ParametersJSON Schema
NameRequiredDescription
jobsYes
moreYes
totalYesEvery match, not only this page.
offsetYes
duplicates_foldedYesRows on this page that were the same posting as another, folded into it.

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already mark the tool as read-only, idempotent, and non-destructive, but the description adds substantial behavior beyond that: up to 25 results per call, best-match ordering with a query and newest-first otherwise, total match count, and lifetime/link fields on every job. 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.

Conciseness4/5

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

The definition is front-loaded with what the tool returns, then organized into a useful "How to search well" list. It is longer than strictly necessary for a tool description, but most sentences contribute concrete operational guidance rather than filler.

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 10-parameter search surface and the existing output schema, the description is complete enough for correct invocation: it covers the main filter constraint, search strategy, ordering, result limit, and important returned fields. The annotations and output schema carry the rest of the safety and return-shape burden.

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?

Schema description coverage is 60%, so the description carries meaningful additional semantics: query words must all match, short title/skill terms work best, and at least one of query/company/city/country should be supplied. It also clarifies country codes and common listing geography, though it leaves some parameters such as offset and salary_min mostly to the 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?

The description gives a specific verb and resource ("Search open jobs on Ocean of Jobs") and immediately explains scope, result ordering, and key return fields. It also distinguishes itself from the detail sibling by instructing the agent to use get_job for full descriptions.

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

Usage Guidelines5/5

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

It explicitly states that at least one of query, company, city, or country should be provided, and gives clear search tactics: use short core terms, search once, broaden once if needed, deduplicate by id/apply_url, and open only the strongest candidates with get_job. This is unusually complete when-to-use and how-to-use guidance.

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. 3 tool updates
    • First observedget_company
    • First observedget_job
    • First observedsearch_jobs

Related MCP Connectors

Related MCP Servers

  • 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
  • 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
  • A
    license
    Not graded
    quality
    B
    maintenance
    JobsPipe — data pipeline of every job posting on the web. Search live, normalized job postings from 30+ ATS feeds and job boards for AI agents via MCP.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.