Applystead
Server Details
Search open jobs from employers' own career sites: roles, companies and posting status.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- usr-bin-roygbiv/applystead-mcp
- GitHub Stars
- 0
TDQS
Scored across 3 tools
Each tool targets a distinct lookup: single posting status, company-level job listing, and broad job search. The boundary between get_company_jobs and search_jobs could blur if a user wants jobs from a specific company via search, but descriptions clarify the company-scoped vs. global nature.
All three tools use a consistent verb_noun pattern (check_*, get_*, search_*) in snake_case. The naming is predictable and directly reflects each tool's action.
Three tools is slightly thin for a job-search service; operations like saving a job or retrieving application details are absent. However, the count is reasonable for a narrow read-only scope.
The surface covers checking a posting, listing a company's jobs, and searching globally, but lacks write operations (e.g., saving jobs, tracking applications) and retrieval of detailed job descriptions. It is a useful read-only subset, not full lifecycle coverage.
Available Tools
3 toolscheck_job_postingCheck a job postingARead-onlyIdempotentInspect
Whether an employer's job posting link was still open when Applystead last read it, with its listed pay. Postings Applystead does not track are reported as unknown.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The https link to the employer's job posting. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, and non-destructive behavior, so the bar is lower. The description adds genuinely non-obvious context: results reflect Applystead's last read rather than a live fetch, so staleness is possible, and untracked postings return 'unknown' instead of erroring. That is useful behavioral disclosure 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?
One sentence, front-loaded with the core outcome and followed by two qualifying clauses (source of truth, unknown fallback). Every clause carries distinct information and nothing is wasted.
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?
No output schema exists, so the description must convey what comes back, and it does: open/closed status, listed pay, and an 'unknown' outcome for untracked postings. It leaves the exact response shape (field names, possible values) unspecified, which is a minor gap for a simple single-param read tool.
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%, so the single url parameter is already fully documented with format and length constraints. The description adds no syntax or format detail beyond the schema, making the baseline 3 correct.
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 action (checking a job posting's open status) and even names the payload returned (listed pay). It does not explicitly differentiate itself from get_company_jobs or search_jobs, but the scope (a single known URL, cached snapshot) is clear enough for an agent to tell it apart in practice.
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?
Usage is only implied: the url parameter and the phrase 'was still open' suggest this is for verifying a specific posting link rather than discovering jobs. There is no explicit when-to-use statement, no guidance on when to prefer search_jobs or get_company_jobs, and no prerequisites mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_company_jobsGet a company's jobsCRead-onlyIdempotentInspect
A company's application system, open roles and company page, with its newest open jobs.
| Name | Required | Description | Default |
|---|---|---|---|
| company | Yes | Company name or Applystead company slug. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint=false, covering safety and idempotency. The description adds some return-content context (company page, newest open jobs) but no auth, rate-limit, pagination, or error behavior. With annotation coverage, 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?
It is one short sentence, so it is not verbose, but it is a fragment that is not front-loaded with a clear verb and is awkwardly structured. It is concise without being maximally useful.
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 one-parameter read tool with full schema coverage and annotations, the description supplies some output context. It still omits sibling differentiation and usage conditions, leaving gaps for routing among get_company_jobs, search_jobs, and check_job_posting.
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% for the single 'company' parameter, and the schema documents it as a company name or Applystead slug. The description adds no parameter meaning, so baseline 3 applies.
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 is a noun phrase listing data components ('application system, open roles and company page, with...jobs') rather than stating a retrieval action. The name/title supply 'get jobs', but the description itself is vague and does not distinguish this tool from search_jobs or check_job_posting.
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 when-to-use guidance, prerequisites, or alternatives are provided. An agent must infer that this is for a specific company's jobs rather than general search; search_jobs and check_job_posting are not mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_jobsSearch jobsARead-onlyIdempotentInspect
Search open jobs that employers posted on their own application systems, newest first. Every job links its Applystead job page and the employer's posting.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | Only internships, or only early-career roles. | |
| limit | No | At most this many jobs (default 10). | |
| query | No | Words that must all appear in the title or company. | |
| company | No | Company name or Applystead company slug. | |
| pay_listed | No | Only jobs whose posting lists pay. | |
| remote_country | No | Only remote jobs open in this ISO country code (US). | |
| posted_within_hours | No | Only jobs posted within this many hours. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive, and openWorld=false, so the safety profile is covered. The description adds value beyond that by disclosing the sort order ('newest first') and what each result contains (both the Applystead job page and the employer's posting), which the annotations cannot convey.
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 sentences, zero filler, and the key scoping plus ordering facts are front-loaded before the return-content note. Every clause 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?
With 7 optional filter parameters fully documented in the schema, no output schema, and annotations covering the safety profile, the description supplies the missing pieces: ordering and result composition. It could go further by routing to the sibling tools, but otherwise it is complete enough to call correctly.
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%, so all 7 parameters are already well documented, including enum, ranges, and patterns. The description adds no parameter-level syntax or format detail beyond that, so the baseline 3 applies when the schema does the heavy lifting.
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?
States a specific verb ('Search') and resource ('open jobs'), plus a meaningful scope constraint: jobs posted on employers' own application systems, returned newest first. This distinguishes it somewhat from get_company_jobs and check_job_posting, though neither sibling is named 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 get_company_jobs or check_job_posting, and no prerequisites or exclusions. The agent must infer that this is the broad discovery tool and the siblings are narrower lookups.
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
check_job_posting - First observed
get_company_jobs - First observed
search_jobs
Related MCP Connectors
Open jobs from 20,000+ company career sites: search, list a company's roles, read full job ads
1Open jobs at the companies you name, read straight from their public careers boards.
Search 260,000+ open jobs at 8,000+ companies, list any company's open roles live, detect its ATS.
1Search a live index of millions of open jobs from employer career sites and 100+ ATS platforms.
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables 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.2MIT
- AlicenseAqualityCmaintenanceEnables querying job boards for a company's open roles, pulling from Greenhouse, Workday, and an opt-in LinkedIn source and normalizing the results into one shape. It discovers boards, searches one or many companies at once, and returns full postings with title-based AI/ML and junior filtering.7MIT
- AlicenseAqualityAmaintenanceDetects hiring intent signals by scanning job boards for specific companies. Returns structured role data for outbound sales targeting.1128 npm1MIT
- AlicenseAqualityAmaintenanceWatches company job boards (Greenhouse, Lever, Ashby, Workable, Workday and more) for new roles that match your filters, ranks them in a digest optionally fit-scored against your resume, and tracks every application with interview prep sheets. It never applies for you.217110 PyPIMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.