Roleset — job postings index
Server Details
Search 690k open jobs from official ATS feeds, and what changed since your last check.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Available Tools
6 toolscompany_jobsJobs at one companyAInspect
Every open posting at one company. Accepts a domain (acme.com), an ATS board slug, or the company name. Use when the company is already known and you want its roles; use search_jobs when you are looking across companies. For whether the company is growing rather than what it has open, use hiring_signal.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| identifier | Yes | Domain, ATS board slug, or company name. | |
| include_description | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries full burden. It describes the output as 'every open posting' and accepted identifier formats, but does not explicitly state side effects (e.g., read-only) or permissions, leaving some ambiguity.
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?
Three sentences with no redundancy; every sentence adds 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?
Description adequately conveys the tool's purpose and usage, and with output schema present, return values need not be detailed. However, it could mention parameter effects for full context.
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 coverage is only 33%. The description explains the identifier parameter (domain, slug, or name) but omits any detail about limit and include_description, which have minimal schema descriptions.
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?
Clearly states the tool lists all open postings for a specific company, and explicitly distinguishes from search_jobs and hiring_signal siblings.
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?
Provides explicit conditions: use when a company is known and roles are wanted; directs to alternatives for cross-company search and growth metrics.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_jobGet one jobAInspect
Fetch a single posting by its Roleset id, including the full description text and HTML. Use after search_jobs or job_changes when you need the body of a specific posting — for summarising requirements, or checking whether a role matches a candidate's constraints. The id comes from an earlier result.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | Roleset job id (UUID) from an earlier result. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It discloses that the response includes the full description text and HTML and that the id comes from an earlier result, but it does not mention error behavior, authentication, rate limits, or confirm the read-only nature beyond the word 'Fetch'. This is adequate but not rich.
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 three sentences, front-loaded with the core purpose, followed by precise usage context and a source note for the parameter. Every sentence adds necessary information with no fluff or redundancy.
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?
This is a simple single-parameter read tool with an output schema present. The description covers what it does, how to obtain the id, and when to use it relative to sibling tools. Nothing critical is missing for an agent to call it 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?
The input schema already provides 100% coverage with the description 'Roleset job id (UUID) from an earlier result.' The tool description repeats this without adding new semantic details, 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?
The description states a specific action and resource: 'Fetch a single posting by its Roleset id, including the full description text and HTML.' The word 'single' and the focus on a unique identifier clearly distinguish this from sibling listing/search tools like search_jobs, job_changes, and company_jobs.
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 explicitly says when to use this tool: 'Use after search_jobs or job_changes when you need the body of a specific posting'. It names the preceding sibling tools and gives concrete use cases, but does not explicitly state when not to use it (e.g., when only metadata is needed).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hiring_signalCompany hiring signalAInspect
Whether a company is hiring, and where. Returns open roles broken down by department plus how many opened and closed over the last 7 and 30 days, and the net change. Use for sales and research questions — 'is this company growing', 'are they building out engineering', 'did they stop hiring' — where counts and trend matter more than the individual postings. One call, not per record.
| Name | Required | Description | Default |
|---|---|---|---|
| identifier | Yes | Domain, ATS board slug, or company name. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden. It explicitly states that the tool 'returns' data, implying a read-only operation with no side effects. The nature of the output is fully disclosed, leaving no ambiguity about what the tool does.
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 with high information density. The first sentence explains the return value; the second provides use cases and a contrast to per-record tools. No unnecessary words or repetition.
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?
Given the moderate complexity (no output schema, but aggregate data), the description fully covers what the tool returns (department breakdown, counts, net change) and when to use it. It also implicitly differentiates from siblings by emphasizing aggregate vs. individual records.
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 single parameter 'identifier' is fully described with three accepted forms: domain, ATS board slug, or company name. This covers 100% of the schema and gives the agent complete information needed to invoke the tool.
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 tool's function: determining whether a company is hiring and where. It specifies the output—open roles by department, counts opened/closed over 7/30 days, and net change—which fully clarifies the purpose.
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?
Explicit usage guidance is provided: use for sales and research questions about company growth, engineering expansion, and hiring slowdowns. The phrase 'One call, not per record' distinguishes it from sibling tools that return individual job postings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
job_changesJob changes since a cursorAInspect
What has opened, changed, closed or reopened in the index. This is the tool to poll: pass since (ISO-8601) the first time, then keep passing the returned meta.next_cursor and you will see each event exactly once, with no gaps or repeats. Filter it the same way you would a search — by department, country, remote, title, company or ATS — to subscribe to one slice of the market. Each event carries the event type, when it happened, a diff showing which fields changed and their before/after values, and the job record itself. Use this to track a hiring market over time, to answer 'what's new since yesterday', or to keep a downstream store in sync. Defaults to the last 24 hours.
| Name | Required | Description | Default |
|---|---|---|---|
| ats | No | ||
| event | No | opened | updated | closed | reopened | |
| limit | No | ||
| since | No | ISO-8601; ignored when cursor is set. | |
| title | No | Match on the job title. | |
| cursor | No | ||
| remote | No | Only remote, or only non-remote. | |
| company | No | ||
| country | No | ISO-3166 alpha-2, e.g. US. | |
| department | No | Department, partial match. | |
| include_job | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations available, the description carries the full behavioral disclosure burden, and it does so thoroughly. It explains the exactly-once, no-gaps/no-repeats cursor semantics, the 24-hour default, the event payload content (event type, timestamp, diff, job record), and the filtering behavior. This is rich, honest behavioral context beyond what any schema could infer.
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 dense but every sentence earns its place. It front-loads what the tool returns, then explains the polling protocol, filtering, payload details, and use cases in a logical order. No filler or repetition exists, and the length is justified by the tool's complexity.
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 an 11-parameter tool with no annotations and a real output schema, the description covers almost everything an agent needs: how to start polling, how to continue polling, what each event contains, how to filter, and when to use the tool. The output schema can handle detailed return shapes, so the description is complete without over-explaining.
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 coverage is 55%, and the description adds meaningful semantics for key parameters: since is for the first poll, cursor is meant to be passed back from meta.next_cursor, and filters like department, country, remote, title, company, and ATS are mapped to fields. It does not explicitly explain limit or include_job, but those are relatively self-explanatory and the core polling parameters are well described.
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 identifies what the tool does: it reports events that 'opened, changed, closed or reopened in the index.' It also states that this is a polling tool, which distinguishes it from siblings like search_jobs or get_job, and it names the event types available. The purpose is specific and actionable, not a restatement of the title.
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 strong usage context: 'This is the tool to poll,' explains the since/cursor flow, shows how to filter, and lists concrete use cases like tracking a market or syncing a store. It does not explicitly name sibling tools or state when not to use them, but the polling guidance is clear enough for an agent to select this tool appropriately.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_jobsSearch jobsAInspect
Search the index of open job postings. Use for a one-off question about the job market: who is hiring for a role, what is open in a city or country, which companies have remote positions. Returns a page of job records plus a meta.next_cursor to continue; each record has title, company, structured locations, remote flag, employment type, salary when the board publishes one, and an apply URL. Descriptions are omitted unless include_description is set, because they are large. To find what has changed since you last looked, use job_changes instead — do not poll this tool in a loop.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Free text over title and description. | |
| ats | No | Restrict to one ATS platform. | |
| limit | No | ||
| title | No | Match on the job title. | |
| cursor | No | From a previous meta.next_cursor. | |
| remote | No | Only remote, or only non-remote. | |
| company | No | Company name, partial match. | |
| country | No | ISO-3166 alpha-2, e.g. US, DE. | |
| location | No | City or region. | |
| department | No | ||
| posted_after | No | ISO-8601 timestamp. | |
| employment_type | No | full_time | part_time | contract | intern | temporary | volunteer | |
| include_description | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the transparency burden. It discloses that pagination is supported via cursor and that descriptions are omitted unless include_description is set. It does not explicitly state that the tool is read-only or mention rate limits, but the search nature implies safety; the disclosed behaviors are relevant and clear.
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 informative but not bloated. It packs multiple key points (purpose, examples, pagination, description omission, sibling differentiation) into a few sentences without unnecessary verbosity.
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?
Given the tool has 13 optional parameters, the description provides enough context for an agent to decide when to use it and how to navigate results. It covers the primary use case, pagination, and a key alternative (job_changes). It does not explain every parameter, but the schema fills that gap.
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 coverage is high (77%) and the description adds meaning beyond the schema by explaining the cursor usage (from a previous meta.next_cursor) and the include_description default behavior. This clarifies two parameters that could otherwise be ambiguous.
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 tool searches open job postings and gives concrete example use cases (who is hiring, what is open by location, remote positions). It also explicitly distinguishes itself from the sibling tool job_changes, making its purpose unambiguous.
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 explicit guidance on when to use the tool (one-off questions) and when not to (do not poll in a loop, use job_changes for changes). It also mentions pagination via cursor, giving practical usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
statsIndex statisticsAInspect
Size and freshness of the whole index: companies, boards per ATS, open and total postings, events in the last 24 hours, and when the oldest active board was last crawled. Free. Use to tell a user how much coverage stands behind an answer, or to check the index is current before relying on it.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It implies a read-only operation (gathering stats) and mentions it is 'Free', which hints at no side effects or limitations. However, it does not explicitly state that it never modifies data, but the nature of the tool makes this clear enough.
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 extremely concise, using only two sentences to convey purpose, content, and usage. No unnecessary words or redundancy.
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?
Given that the output schema exists and no parameters are present, the description provides all necessary context: it lists the specific metrics that will be returned and explains when to use it. It is self-contained and leaves no obvious gaps.
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 tool has zero parameters, so there is nothing to explain. The description adds no parameter-specific meaning, but no such meaning is needed. The schema coverage is automatically complete.
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 that the tool provides size and freshness metrics for the entire index, enumerating specific data points (companies, boards per ATS, postings, events, crawl time). This distinguishes it from sibling tools that focus on individual companies or searches.
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?
It explicitly tells when to use the tool: to inform users about coverage behind an answer or to verify index freshness before relying on it. The word 'Free' also signals it has no cost or restrictions, adding practical 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. Dates show when Glama detected each change.
6 tool updates
- First observed
company_jobs - First observed
get_job - First observed
hiring_signal - First observed
job_changes - First observed
search_jobs - First observed
stats
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity — fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user, then choose Claim with GitHub. An organization namespace such asio.github.acme/serveralso needs that organization to have installed the Glama AI GitHub App and approved its permissions, because GitHub discloses organization membership only to apps it has installed. Use HTTP or DNS when it has not.HTTP challenge — works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge — works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Connectors
Search a live index of millions of open jobs from employer career sites and 100+ ATS platforms.
Semantic search over 3.5M+ live US job postings pulled straight from company ATSes. Read-only.
Unified jobs search over official feeds + ATS boards (USAJOBS, Adzuna, Muse, Greenhouse, Lever...)
Search 490k+ live jobs from company ATS boards, save roles, follow companies, manage talent profile.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceEnables users to discover applicant tracking system job boards from company domains, list open roles, detect hiring changes over time, and generate hiring summaries across multiple ATS platforms.MIT

JobsPipe MCP Serverofficial
FlicenseNot gradedqualityBmaintenanceEnables searching live, normalized job postings from 30+ ATS feeds and job boards, with tools for job search, source listing, pricing plans, and Upwork jobs.-- 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
- AlicenseAqualityAmaintenanceLive 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.31168MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.
TDQS
Each tool targets a distinct need: searching current postings, fetching one posting, listing a known company's roles, trend/count signals, incremental changes, and index stats. The descriptions explicitly call out the boundaries between overlapping tools (e.g., company_jobs vs. search_jobs, search_jobs vs. job_changes), so an agent can select the right one reliably.
Names are readable and mostly follow a noun-phrase style (company_jobs, job_changes, hiring_signal, stats), but get_job and search_jobs use a verb_noun pattern. The mix of verb-first and noun-first conventions is not chaotic, but it is inconsistent across a small set.
Six tools is well-scoped for a job postings index. Each tool earns its place, covering search, detail retrieval, company-level views, trend analytics, change feeds, and index health without redundancy.
The read-only domain is thoroughly covered: agents can search the market, fetch full postings, view a company's open roles, understand hiring trends, consume incremental changes, and verify data freshness. The workflow from search/company/changes to get_job has no dead ends.