CafeDev
Server Details
Search free LATAM tech jobs and companies on CafeDev (no auth).
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 4 tools
Each tool has a clearly distinct purpose: get_company vs list_companies and get_job vs search_jobs are separated by specificity and lookup method. No overlaps that would cause misselection.
All tool names follow a consistent snake_case verb_noun pattern (get_, list_, search_). The convention is predictable and readable throughout.
Four tools are well-scoped for a read-only job board API, covering company details, company listing, job details, and job search. Each tool earns its place with no redundancy.
The surface covers the core read-only operations for a job board: retrieving companies and jobs plus searching. A minor gap is the lack of a direct way to list all jobs for a specific company, though search_jobs may implicitly support it.
Available Tools
4 toolsget_companyGet a CafeDev companyARead-onlyInspect
Get company details and its number of open jobs by slug.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds one useful behavioral detail beyond that — the response also includes an open-jobs count — but says nothing about auth requirements, error behavior for unknown slugs, or response shape.
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?
A single front-loaded sentence that delivers the resource, the lookup key, and an important return field with zero filler. Nothing is wasted and nothing essential is buried.
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-only tool with no output schema, the description is nearly sufficient: it covers what is fetched and one salient return field, and the annotations cover safety. It is only marginally thin on slug-sourcing and miss/error handling.
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 0% for the single 'slug' parameter; the schema only supplies a pattern, not an explanation. The description partially compensates by saying 'by slug', implying it is a company identifier, but adds no format, case, or sourcing guidance beyond what the pattern already encodes.
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 ('Get') and resource ('company details'), plus a notable return field ('number of open jobs'), so the agent knows exactly what this tool retrieves. It stops short of differentiating itself from siblings like list_companies or get_job, but the verb+resource pairing is 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?
Usage is only implied: the 'by slug' phrasing signals a direct single-entity lookup as opposed to the sibling list_companies or search_jobs. There is no explicit statement of when to prefer this tool, nor any prerequisite or exclusion, so the agent must infer routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_jobGet a CafeDev jobBRead-onlyInspect
Get the full details of an open job by its CafeDev ID.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds useful scope ('open job', 'full details'), but does not disclose auth requirements, error behavior, or rate limits.
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?
A single, front-loaded sentence with no wasted words. The key information (action, resource, lookup key) is presented immediately.
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, single-parameter lookup tool with annotations covering safety, the description is largely complete. It could clarify what 'full details' includes or how closed jobs are handled, but an agent can 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?
Schema description coverage is 0%, so the description must compensate. It identifies the parameter meaning ('CafeDev ID'), which is helpful, but omits any format or constraint details (e.g., length limits) that remain only in the schema.
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 uses a specific verb ('Get'), resource ('job'), and qualifier ('full details ... by its CafeDev ID'), clearly stating the operation. It does not explicitly differentiate from sibling tools like search_jobs, so it stops short of a 5.
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 when you have a CafeDev ID, but provides no explicit guidance on when to use this tool versus search_jobs or get_company. No exclusions or alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_companiesList CafeDev companiesBRead-onlyInspect
List companies that currently have open jobs.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered by structured data. The description adds one real behavioral fact beyond that: the result set is filtered to companies with open jobs, which affects what the caller will receive. It says nothing about pagination behavior or result ordering despite the tool having page/limit controls.
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, no filler, with the filtering constraint front-loaded. Every word earns its place and there is no redundancy with the title or schema.
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 read-only listing tool with annotations covering the safety profile and no output schema, the description is close to sufficient: the resource and its filter are clear. The only meaningful gap is pagination semantics, which matter given the tool returns a capped, paged list.
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 0%, and the description never mentions the page or limit parameters, their defaults (1 and 10), the limit cap of 20, or that results are paginated. With two undocumented parameters and no compensating text, an agent learns nothing about controlling result volume from the definition.
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?
Specific verb (List) and resource (companies) with a meaningful scope qualifier — only companies that currently have open jobs. This cleanly separates it from get_company (single company lookup), but it does not explicitly position itself against search_jobs or get_job, which it could reasonably be confused with when an agent wants job-related data.
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 scope phrase 'currently have open jobs' implicitly tells an agent when this is appropriate (discovering employers with active postings), but there is no explicit when-to-use versus when-not-to-use guidance and no named alternative among the siblings. Usage is inferable rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_jobsSearch CafeDev jobsBRead-onlyInspect
Search open technology jobs. Omit query to list the newest jobs.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| limit | No | ||
| query | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered by structured data. The description adds the behavioral fact that an empty query falls back to a newest-jobs listing, which is genuinely useful, but says nothing about pagination behavior, result caps, or freshness of the 'open jobs' data.
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 short sentences with zero filler, and the core action is front-loaded ahead of the optional-parameter nuance. Nothing here needs to be cut.
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 paginated search tool with three undocumented parameters and no output schema, the description is thin but not misleading: it covers the primary action and the zero-argument case. It leaves the agent without guidance on pagination or result volume, which matters for a search endpoint.
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 0%, so the description must carry the burden for all three parameters, yet it only addresses 'query' (and only by omission behavior). The 'page' and 'limit' parameters, including their defaults and the limit maximum of 20, are left entirely unexplained in both the schema and the description.
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 gives a specific verb and resource ('Search open technology jobs'), so an agent knows exactly what the tool returns. It does not name or contrast the sibling retrieval tools (get_job, get_company, list_companies), but the search-vs-fetch distinction is reasonably self-evident.
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 supplies one useful usage rule: omitting the query lists the newest jobs, which tells the agent the parameter is optional and what the fallback behavior is. There is no guidance on when to prefer this over get_job or list_companies, and no note on typical search intent, so usage is implied rather than stated.
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.
4 tool updates
- First observed
get_company - First observed
get_job - First observed
list_companies - First observed
search_jobs
Related MCP Connectors
Recruiter-scoped search across Latin America's largest tech talent pool. OAuth-authenticated.
Pre-vetted senior LATAM engineers for US startups: hiring leads, open roles, applications.
Search remote jobs from company career pages by title, location, seniority, salary, and tech stack.
Search job postings, companies, and technology stacks across 10M+ companies.
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 AI agents to search and triage LATAM tech job vacancies from the Get on Board public API, with tools for full-text search, filtering by category or company, and optional job detail retrieval.5MIT
- AlicenseAqualityBmaintenanceLive 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.3197 npmMIT
- AlicenseNot gradedqualityBmaintenanceEnables conversational job search on Computrabajo, including reading full job postings, viewing your CV, and applying to jobs with explicit confirmation.29 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.