Skip to main content
Glama
mambalabsdev

Job Posting Monitor MCP Server

by mambalabsdev

Monitor Job Postings

monitor_job_postings
Read-onlyIdempotent

Search job boards for specified roles and return enriched postings with company firmographics and LinkedIn URLs, filtered by location, recency, and company size.

Instructions

Find companies that are hiring for a set of role keywords across public job boards, and return one flat row per posting enriched with company firmographics and the company LinkedIn URL. Discovery runs through Google Jobs, and passing your own SerpAPI key runs that search on your own quota. Postings are filtered by age, by country, and optionally by employee count, and staffing agencies and freelance marketplaces are dropped by default because they are noise for direct outreach. A cross run delta cache means a repeat run returns only postings it has not emitted before, and previous_run_date lets you set that watermark yourself. max_results caps how many raw postings are pulled before filtering and max_companies caps how many unique companies get enriched, so the two together are the cost dial. Requires an APIFY_TOKEN and consumes Apify credits. Read only: this discovers and enriches, it writes nothing.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
countryNoGeographic filter, e.g. United States, United Kingdom, Canada. Default: "United States".
keywordsYesEditorial / content role titles to search for across job boards.
max_resultsNoUpper bound on raw postings pulled from the discovery source before filtering. Higher values cost more. Default: 100.
remote_onlyNoOnly return remote / work-from-home postings. Default: false.
serpapi_keyNoSerpAPI key used for Google Jobs discovery (get a free key at serpapi.com, 250 searches/month, no card). Required to produce results unless a SERPAPI_KEY environment variable is set on the actor.
lookback_daysNoOnly return postings newer than this many days. Default: 30.
max_companiesNoCap on unique companies enriched per run (firmographics + LinkedIn). Bounds sub-actor cost. Default: 40.
company_size_maxNoOptional. Drop companies larger than this (only applied when company size is known).
company_size_minNoOptional. Drop companies with fewer employees than this (only applied when company size is known).
previous_run_dateNoOptional ISO date (e.g. 2026-06-01) of your last run. Only postings newer than this are emitted, on top of the built-in cross-run delta cache.
freelance_marketplacesNoCompany names treated as freelance marketplaces and excluded when the toggle above is on. Defaults shown; override or extend as needed. Default: ["Upwork", "Fiverr", "Freelancer", "Toptal", "PeoplePerHour", "Guru", "99designs"].
exclude_staffing_agenciesNoFilter out staffing and recruitment agency postings using name and job-description heuristics. Default: true.
exclude_freelance_marketplacesNoFilter out postings where the company is a freelance marketplace (Upwork, Fiverr, etc.), which are noise for direct outreach. Default: true.
Behavior5/5

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

The description adds substantial behavioral context beyond annotations: it requires an APIFY_TOKEN, consumes Apify credits, uses Google Jobs/SerpAPI, explains the cross-run delta cache, and clarifies that max_results and max_companies act as cost dials. This openly discloses operational side effects and aligns with the readOnlyHint.

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 dense paragraph that front-loads the core purpose before diving into filtering, caching, and cost controls. Every sentence adds value, though it could be broken into clearer sentences for readability. It is appropriately sized for the tool's complexity.

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?

Given the tool has 13 parameters and no output schema, the description covers the essential context: output format (flat row with firmographics and LinkedIn URL), auth requirements, cost implications, default exclusions, and delta cache behavior. It does not enumerate all output fields but provides enough for an agent to understand what will be returned.

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?

The input schema already covers 100% of parameters with descriptions. The tool description adds macro-level semantics, such as the relationship between max_results and max_companies as a combined cost dial and the watermark behavior of previous_run_date. This enriches but does not repeat 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 opens with a specific verb and resource: 'Find companies that are hiring for a set of role keywords across public job boards, and return one flat row per posting enriched with company firmographics and the company LinkedIn URL.' This clearly states the tool's function and output, distinguishing it from vague or tautological descriptions.

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?

The description explains the intended use case (direct outreach) by noting that staffing agencies and freelance marketplaces are dropped as noise. It also provides practical guidance on cost control via max_results and max_companies. However, it does not explicitly state when to use this tool versus alternatives, though no siblings exist.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mambalabsdev/mcp-gtm-job-discovery'

If you have feedback or need assistance with the MCP directory API, please join our Discord server