Job Posting Monitor MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Job Posting Monitor MCP ServerFind companies hiring for 'content strategist' in the US"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Job Posting Monitor MCP Server
MCP server for the Mamba Labs Job Posting Monitor actor on Apify.
Give it a list of role keywords and it returns the companies currently advertising those roles, one flat row per posting, each enriched with firmographics and the company LinkedIn URL.
Install
npx -y @mambalabsdev/mcp-gtm-job-discoveryClaude Desktop
{
"mcpServers": {
"mamba-gtm-job-discovery": {
"command": "npx",
"args": ["-y", "@mambalabsdev/mcp-gtm-job-discovery"],
"env": { "APIFY_TOKEN": "your-apify-token" }
}
}
}Get an Apify token at console.apify.com/account/integrations.
Related MCP server: mcp-job-board-keyword-signal-scanner
Tool
monitor_job_postings
Give it a list of role keywords and it returns the companies currently advertising those roles, one flat row per posting, each enriched with firmographics and the company LinkedIn URL.
Input | Type | Required | Notes |
| array | yes | Editorial / content role titles to search for across job boards. |
| array | no | Which job boards to search: |
| string | no | Geographic filter, e.g. United States, United Kingdom, Canada. |
| integer | no | Only return postings newer than this many days. |
| integer | no | Optional. Drop companies with fewer employees than this (only applied when company size is known). |
| integer | no | Optional. Drop companies larger than this (only applied when company size is known). |
| boolean | no | Filter out staffing and recruitment agency postings using name and job-description heuristics. |
| boolean | no | Filter out postings where the company is a freelance marketplace (Upwork, Fiverr, etc.), which are noise for direct outreach. |
| array | no | Company names treated as freelance marketplaces and excluded when the toggle above is on. Defaults shown; override or extend as needed. |
| boolean | no | Only return remote / work-from-home postings. |
| string | no | Optional 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. |
| integer | no | Upper bound on raw postings pulled from the discovery source before filtering. Higher values cost more. |
| integer | no | Cap on unique companies enriched per run (firmographics + LinkedIn). Bounds sub-actor cost. |
| string | no | SerpAPI 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. |
Billing
You are charged per result row returned, plus a small actor start fee. Filtered postings are free.
Pricing is on the actor's Apify page. Running this server consumes Apify credits.
What this server does and does not do
It is a thin client for the Apify actor. It passes your input through and returns the actor's output unchanged. Every behavior described above lives in the actor, not here.
Errors are surfaced, never swallowed. An invalid input, an invalid token, an exhausted balance, a timeout, or a run that returns anything other than a dataset all come back as an explicit tool error rather than as an empty result.
Source
The actor is on the Apify Store. This wrapper is MIT licensed.
Built by Mamba Labs
Available Tools
1 toolmonitor_job_postingsMonitor Job PostingsARead-onlyIdempotent
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.
| Name | Required | Description | Default |
|---|---|---|---|
| country | No | Geographic filter, e.g. United States, United Kingdom, Canada. Default: "United States". | |
| keywords | Yes | Editorial / content role titles to search for across job boards. | |
| max_results | No | Upper bound on raw postings pulled from the discovery source before filtering. Higher values cost more. Default: 100. | |
| remote_only | No | Only return remote / work-from-home postings. Default: false. | |
| serpapi_key | No | SerpAPI 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_days | No | Only return postings newer than this many days. Default: 30. | |
| max_companies | No | Cap on unique companies enriched per run (firmographics + LinkedIn). Bounds sub-actor cost. Default: 40. | |
| company_size_max | No | Optional. Drop companies larger than this (only applied when company size is known). | |
| company_size_min | No | Optional. Drop companies with fewer employees than this (only applied when company size is known). | |
| previous_run_date | No | Optional 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_marketplaces | No | Company 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_agencies | No | Filter out staffing and recruitment agency postings using name and job-description heuristics. Default: true. | |
| exclude_freelance_marketplaces | No | Filter out postings where the company is a freelance marketplace (Upwork, Fiverr, etc.), which are noise for direct outreach. Default: true. |
TDQS
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.
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.
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.
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.
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.
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.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
1 tool update
v1.0.0- First observed
monitor_job_postings
TDQS
With only one tool, there is no possibility of confusing it with others. The tool's name and description clearly define its unique purpose.
The single tool name 'monitor_job_postings' follows a clear verb_noun pattern. There are no other tools to introduce inconsistent naming conventions.
Having only one tool is minimal, but the tool is comprehensive and well-scoped for the server's stated purpose of monitoring job postings. It is not trivial, so it does not warrant a score of 1, but it sits at the borderline of being too thin.
The single tool covers the full workflow: discovery, filtering, enrichment, deduplication, and delta tracking. There are no obvious gaps or dead ends for the domain of job posting monitoring.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Find companies hiring for a role and geo, qualify them, and watch them for changes.
Search job postings, companies, and technology stacks across 10M+ companies.
Google Jobs listings with direct apply links via the Apify Google Jobs Scraper, hosted MCP.
Live job postings from 30+ ATS feeds and job boards, one schema. Live results need a Bearer key.
Related MCP Servers
- AlicenseAqualityAmaintenanceDetects hiring intent signals by scanning job boards for specific companies. Returns structured role data for outbound sales targeting.11961MIT
- AlicenseAqualityCmaintenanceScans job boards for keyword patterns that indicate buying intent, technology adoption, or team expansion. Returns structured signal data for outbound targeting.11862MIT
- FlicenseNot gradedqualityDmaintenanceTransforms job postings into qualified sales leads by searching for active jobs, enriching company data, and identifying decision-maker contact information.-
- AlicenseAqualityBmaintenanceEnables building targeted company lists from live job boards or SEC filings via the Apify actor, supporting role keywords, locations, and filing phrases.185MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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