Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

HirePulse tools

PYPI · HIREPULSE-TOOLS

Apify tools for products, Google ads, company signals, jobs, keywords, SEO and YouTube transcripts.

Available components

62 Trust /100

Last scanned (5 hours ago)

Scores higher than 63% of PyPI servers

Category Marketing and SEO

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security50
  • Malware scan not yet available for this package.Unverified
  • No known CVEs affecting this package version or its production dependencies.Pass
  • Runs setuptools.build_meta at install time, a recognised build step with no custom scripting around it. View diagnostics → Pass
  • 1 of 14 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency97
  • Source repository is publicly reachable at the declared URL. View diagnostics → Pass
  • Cryptographically verified build provenance (signed, bound to edtool79-collab/hirepulse-open-source). View diagnostics → Pass
  • Clear OSI-approved license (MIT).Pass
  • Actively maintained (last published 0 days ago).Pass
  • Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability55
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 4745 tokens (~593/item across 8 items; 8 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management0
  • Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • We read all 8 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 9 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass

Unverified: 1 category

A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 17 Oct 26 62

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 18 Oct 2026 · Analysed pypi/hirepulse-tools@0.1.0

Provenance Verified

A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.

Result Verified
Ecosystem pypi
Reason Verified
Discovered via Registry attestation endpoint
Source repo edtool79-collab/hirepulse-open-source
Certificate issuer https://token.actions.githubusercontent.com
Certificate SAN https://github.com/edtool79-collab/hirepulse-open-source/.github/workflows/publish.yml@refs/heads/main
Rekor log index 3293207401
Predicate type PyPI publish attestation https://docs.pypi.org/attestations/publish/v1
Subject digest sha256:2308f95f7bbe784ab672f57239b180f23d4e3985ff566bfd620c8d4b903efede

Background: How many MCP packages publish verified provenance →

Install scripts 1 script
Hook Tier Command
build_backend allowlisted setuptools.build_meta

Background: Why install scripts are a supply-chain risk →

Dependencies 14 packages
Packages resolved 14
Stale 1
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 8 exposed · ~4,699 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
ats_jobs ~949

Returns record_type, company_domain, title, location, salary, apply_url, detected_technologies and status on jobs; company_summary rows include total_active_jobs, new_jobs, closed_jobs and is_first_run. Use this when... finding a company's job board from a domain such as stripe.com or a board slug in companies. Supports Greenhouse, Lever, Ashby, Workable, Recruitee and SmartRecruiters. Do NOT use for... Workday or assuming every careers site is supported. Salary requires employer-published data; technologies come from job titles and descriptions. Choose output_mode='summary_only' for short hiring checks. track_diff shares state_id; first-run NEW jobs are a baseline, not a hiring spike. Optional inputs without schema defaults use None (omitted). result_limit requests a run result cap and bounds fetched rows; max_total_charge_usd is the spending option passed to Apify. Partial data is possible. MCP returns a JSON envelope limited to 32,000 UTF-8 bytes, omitting whole oversized records. Check output_truncated and result_limit_reached; returned rows may be incomplete.

NameTypeReqDescription
companiesarrayyesCompany website domains (e.g. "stripe.com") or job-board slugs (e.g. "stripe"). To force a specific ATS, prefix the slug: "greenhouse:stripe", "lever:spotify", "ashby:linear", "workable:huggingface",…
departments––Return only jobs whose department contains at least one of these words (case-insensitive). Example: ["engineering", "sales"].
extract_tech_keywordsboolean–Scan each job title and description for core technologies (Python, AWS, React, Kubernetes, LLMs, ...) and return them in "detected_technologies" and in the summary's "top_technologies".
locations––Return only jobs whose location contains at least one of these words (case-insensitive). Example: ["london", "new york", "germany"].
max_jobs_per_companyinteger–Maximum number of job records returned per company, after the other filters. 0 means no limit. When the limit cuts the list, NEW jobs are kept first, then CLOSED, then the rest. The summary's "matchi…
max_total_charge_usdnumber–Finite positive USD spending cap passed to Apify .call(); default 1.0.
only_changesboolean–Return only jobs whose status is NEW or CLOSED. Use it on scheduled runs to get just what changed since the last run.
output_modestring–"jobs_and_summary": one company_summary record per company followed by its job records. "summary_only": only the company_summary records (job counts, new/closed counts, departments, locations, techno…
remote_onlyboolean–Return only jobs marked or described as remote.
result_limitinteger–1–1000. Default 60. Requested run max_items and fetched dataset row limit.
state_idstring–Name of the saved history used for change tracking. Runs that share a state_id are compared with each other. Use a different value per watchlist or per schedule.
technologies––Return only jobs that mention at least one of these technologies, using the names from "detected_technologies" (case-insensitive). Example: ["Python", "Kubernetes", "LLMs"].
title_keywords––Return only jobs whose title contains at least one of these words or phrases (case-insensitive). Example: ["engineer", "data scientist"].
track_diffboolean–Compare with the previous run that used the same "state_id" and set each job's "status" to NEW, EXISTING or CLOSED. On the first run every job is NEW (the summary marks this with is_first_run = true)…

No output schema declared.

No examples provided.

company_intent ~350

Returns domain, open_jobs, jobs_posted_last_30_days, ads_running_now, total_google_ads, organic_traffic_monthly, seo_trend, email_provider, intent_score and summary. Use this when... comparing hiring, advertising, SEO and MX email-provider signals for company domains. Do NOT use for... treating the 0-100 intent_score as proof a company will buy; use the underlying signals and summary. Cost: $0.03 per company report, charged only when the full report was produced. Free plan: hiring and email signals for 5 companies. Optional inputs without schema defaults use None (omitted). result_limit requests a run result cap and bounds fetched rows; max_total_charge_usd is the spending option passed to Apify. Partial data is possible. MCP returns a JSON envelope limited to 32,000 UTF-8 bytes, omitting whole oversized records. Check output_truncated and result_limit_reached; returned rows may be incomplete.

NameTypeReqDescription
countrystring–Two-letter country code for the organic traffic estimate, for example US, GB or DE. Default: US.
domainsarrayyesArray of strings. In the Console UI: one per line. Company websites, for example "stripe.com". Full URLs are fine too. Up to 100 per run.
include_jobsboolean–Add the 5 newest job titles to each report.
max_total_charge_usdnumber–Finite positive USD spending cap passed to Apify .call(); default 1.0.
result_limitinteger–1–1000. Default 60. Requested run max_items and fetched dataset row limit.

No output schema declared.

No examples provided.

domain_seo ~593

Returns record_type, domain, organic_traffic_estimate, organic_keywords and organic_traffic_value_usd on overview rows; ranked_keyword and competitor rows include keyword and competitor_domain respectively. Use this when... comparing estimated organic traffic, ranking keywords, traffic value and competitor domains for domains. Do NOT use for... presenting estimated organic traffic as measured website analytics. Set top_keywords=0 and competitors=0 for overview only; check has_data on overview rows. Optional inputs without schema defaults use None (omitted). result_limit requests a run result cap and bounds fetched rows; max_total_charge_usd is the spending option passed to Apify. Partial data is possible. MCP returns a JSON envelope limited to 32,000 UTF-8 bytes, omitting whole oversized records. Check output_truncated and result_limit_reached; returned rows may be incomplete.

NameTypeReqDescription
competitorsinteger–How many organic competitors to return (domains ranking for the same keywords, most shared keywords first). 0 = skip this lookup. Each returned competitor is one charged result. Default 10, maximum 1…
countrystring–Country whose Google results are analyzed, as a two-letter ISO code. Default: US.
domainsarrayyesWebsites to analyze, for example "stripe.com". Full URLs are accepted and reduced to the domain. Up to 100 per run.
language––Two-letter language code. Leave empty to use the main language of the country. Countries with more than one language: US: en/es; CA: en/fr; IN: en/hi; DZ: fr/ar; BE: fr/nl/de; CY: el/en; EG: ar/en; G…
max_total_charge_usdnumber–Finite positive USD spending cap passed to Apify .call(); default 1.0.
result_limitinteger–1–1000. Default 60. Requested run max_items and fetched dataset row limit.
top_keywordsinteger–How many of the domain's ranking keywords to return (organic top 20 positions, highest search volume first). 0 = skip this lookup. Each returned keyword is one charged result. Default 20, maximum 100…

No output schema declared.

No examples provided.

google_ads_by_domain ~588

Returns advertiser_name, advertiser_id, advertiser_verified, ad_id, format, first_shown, last_shown, preview_image_url and transparency_url; summary mode returns one row per domain. Use this when... researching a company's Google ads by domains, or monitoring only_new_ads. Do NOT use for... launching or editing ads; this tool retrieves Transparency Center records. Cost: $0.005 per domain + $0.0015 per ad. Free plan: 1 domain, up to 5 ads. Optional inputs without schema defaults use None (omitted). result_limit requests a run result cap and bounds fetched rows; max_total_charge_usd is the spending option passed to Apify. Partial data is possible. MCP returns a JSON envelope limited to 32,000 UTF-8 bytes, omitting whole oversized records. Check output_truncated and result_limit_reached; returned rows may be incomplete.

NameTypeReqDescription
country––Only ads shown in this country, as a two-letter code such as US, GB or DE. Leave empty for ads shown anywhere.
date_from––Only ads shown on or after this date (YYYY-MM-DD). Set together with "Shown until".
date_to––Only ads shown on or before this date (YYYY-MM-DD).
domainsarrayyesArray of strings. In the Console UI: one per line. Company websites, for example "nike.com". Full URLs are fine too. Up to 100 per run.
formatstring–Only ads of this format.
max_ads_per_domaininteger–Most recent ads to return for each domain (ads mode). Up to 120. For a cheap agent check use mode="summary" with one domain. For an ad sample use mode="ads" and max_ads_per_domain=1.
max_total_charge_usdnumber–Finite positive USD spending cap passed to Apify .call(); default 1.0.
modestring–"ads": one record per ad (preview image, dates, links). "summary": one compact record per domain (does it advertise, how many ads, which formats, latest ad), charged per domain only. Summary is ideal…
only_new_adsboolean–Return only ads that earlier runs of yours did not return yet, for the same domain and filters. Schedule the Actor daily or weekly to get alerted about new competitor ads. You still pay the per-domai…
platformstring–Only ads shown on this Google platform.
result_limitinteger–1–1000. Default 60. Requested run max_items and fetched dataset row limit.

No output schema declared.

No examples provided.

google_jobs ~674

Returns title, company, location, salary, salary_min, salary_max, contract_type, posted_at, posted_ago, source and apply_url; salary fields depend on what is shown. Use this when... searching Google Jobs by queries for a country or a city with radius_km. Do NOT use for... assuming salary is present on every job or submitting job applications. Cost: $0.005 per search that returns jobs + $0.001 per job. Supports 90+ countries. Optional inputs without schema defaults use None (omitted). result_limit requests a run result cap and bounds fetched rows; max_total_charge_usd is the spending option passed to Apify. Partial data is possible. MCP returns a JSON envelope limited to 32,000 UTF-8 bytes, omitting whole oversized records. Check output_truncated and result_limit_reached; returned rows may be incomplete.

NameTypeReqDescription
countrystring–Country to search jobs in, as a two-letter ISO code. Default: US.
employment_types––Only return these contract types. Leave empty for all. For part-time jobs use the literal "partime". This spelling is required by the Actor code; "parttime" is not accepted.
include_descriptionsboolean–Fetch the full description text for jobs whose apply link is on a company job board (Workday, Greenhouse, Lever, Ashby). Other jobs keep the link only. No extra charge. Default on.
language––Two-letter language code. Language of the job search. Leave empty to use the main language of the country. Countries with more than one language: US: en/es; CA: en/fr; IN: en/hi; DZ: fr/ar; BE: fr/nl…
location––Narrow the search to a city or region inside the country, written as "City,Region", for example "Austin,Texas" or "London,England". Leave empty to search the whole country.
max_jobs_per_queryinteger–How many jobs to return for each search, at most 200. Each returned job is one charged result. Default 50.
max_total_charge_usdnumber–Finite positive USD spending cap passed to Apify .call(); default 1.0.
queriesarrayyesArray of strings. In the Console UI: one per line. What to search for, as you would type it in Google, for example "data engineer" or "nurse night shift". Up to 50 per run.
radius_km––Only with a city: search up to this distance from it. 1 to 300. Leave empty for the city's default area.
result_limitinteger–1–1000. Default 60. Requested run max_items and fetched dataset row limit.

No output schema declared.

No examples provided.

keyword_volume ~770

Returns keyword, search_volume, cpc_usd, competition, competition_level and keyword_difficulty; metrics_available indicates whether metrics exist. Use this when... measuring Google monthly keyword volume, CPC and competition, or discovering keyword ideas from keywords. Do NOT use for... treating Google search_volume as measured visits to a website. Choose mode='metrics', 'ideas' or 'suggestions'. Cost: $0.03 per lookup + $0.005 per keyword result. Free-plan metrics for the first 3 keywords depend on availability and can be paused. Optional inputs without schema defaults use None (omitted). result_limit requests a run result cap and bounds fetched rows; max_total_charge_usd is the spending option passed to Apify. Partial data is possible. MCP returns a JSON envelope limited to 32,000 UTF-8 bytes, omitting whole oversized records. Check output_truncated and result_limit_reached; returned rows may be incomplete.

NameTypeReqDescription
countrystring–Country whose Google search data is used, as a two-letter ISO code. Default: US.
include_ai_search_volumeboolean–Also return "ai_search_volume": an estimate of how often each keyword is used in AI assistants per month. This is one extra lookup per batch, plus one result charge for every keyword that has AI data…
include_monthly_searchesboolean–Add a "monthly_searches" array with the search volume of each of the last 12 months to every keyword. Off by default to keep the output small.
keywordsarrayyesIn "metrics" mode: the exact keywords to measure (up to 5,000). In "ideas" mode: seed keywords describing a topic (up to 200). In "suggestions" mode: seed phrases to expand into long-tail keywords (u…
language––Two-letter language code. Leave empty to use the main language of the country. Countries with more than one language: US: en/es; CA: en/fr; IN: en/hi; DZ: fr/ar; BE: fr/nl/de; CY: el/en; EG: ar/en; G…
max_resultsinteger–Only for "ideas" and "suggestions": maximum number of keywords to return (per seed in "suggestions" mode). Each returned keyword with metrics is one charged result. Default 50, maximum 1000.
max_total_charge_usdnumber–Finite positive USD spending cap passed to Apify .call(); default 1.0.
min_search_volumeinteger–Return only keywords with at least this many monthly searches. Keywords below the threshold are not returned and not charged. 0 = no minimum.
modestring–"metrics": return metrics for exactly the keywords given (one lookup per 700 keywords). "ideas": return keywords related to the seed keywords as a group, most relevant first (one lookup). "suggestion…
result_limitinteger–1–1000. Default 60. Requested run max_items and fetched dataset row limit.

No output schema declared.

No examples provided.

search_aliexpress ~388

Returns product_id, title, url, image_url, price, original_price, discount_percent, currency, rating, sold, sold_text, is_sponsored, listed_since and ship_to. Use this when... searching AliExpress products by queries with a chosen currency and ship_to country. Do NOT use for... seller names or seller ratings, shipping costs or delivery estimates, reviews or stock. rating is a product rating. Cost: $2.50 per 1,000 products. Free Apify plan: 100 products per run; 60 products per page. Optional inputs without schema defaults use None (omitted). result_limit requests a run result cap and bounds fetched rows; max_total_charge_usd is the spending option passed to Apify. Partial data is possible. MCP returns a JSON envelope limited to 32,000 UTF-8 bytes, omitting whole oversized records. Check output_truncated and result_limit_reached; returned rows may be incomplete.

NameTypeReqDescription
currencystring–Currency of the prices.
max_price––Only products up to this price (optional).
max_results_per_queryinteger–Up to 1,200 (20 pages of 60).
max_total_charge_usdnumber–Finite positive USD spending cap passed to Apify .call(); default 1.0.
min_price––Only products from this price (optional).
queriesarrayyesArray of strings. In the Console UI: one per line. What to search for, for example "yoga mat". Up to 20 per run.
result_limitinteger–1–1000. Default 60. Requested run max_items and fetched dataset row limit.
ship_tostring–Two-letter country code. Prices and availability follow this country.
sortstring–Order of the results.

No output schema declared.

No examples provided.

youtube_transcripts ~387

Returns video_id, url, status, transcript and language; include_timestamps=True adds segments with start, duration and text. Use this when... retrieving YouTube transcripts in bulk from videos, with timestamps when needed. Do NOT use for... treating an error status as a delivered transcript or ignoring missing transcript data. Check status on each record. Free Apify plan: first 3 videos of each run. Long transcripts may exceed the MCP output budget. Optional inputs without schema defaults use None (omitted). result_limit requests a run result cap and bounds fetched rows; max_total_charge_usd is the spending option passed to Apify. Partial data is possible. MCP returns a JSON envelope limited to 32,000 UTF-8 bytes, omitting whole oversized records. Check output_truncated and result_limit_reached; returned rows may be incomplete.

NameTypeReqDescription
include_timestampsboolean–Add a "segments" array with the start time, duration and text of every caption line. Off by default to keep the output small.
language––Two-letter language code such as "en", "es" or "de". If the video has captions in this language they are used; otherwise the video's main captions are returned and the "language" field tells you whic…
max_total_charge_usdnumber–Finite positive USD spending cap passed to Apify .call(); default 1.0.
result_limitinteger–1–1000. Default 60. Requested run max_items and fetched dataset row limit.
videosarrayyesYouTube video URLs or 11-character video IDs. Regular links, youtu.be links, Shorts, embeds and live links all work. Up to 1,000 per run. Each delivered transcript is one charged result; videos witho…

No output schema declared.

No examples provided.

Install

How do I install the HirePulse tools MCP server?

HirePulse tools runs locally as a PyPI package, launched with uvx hirepulse-tools. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

pypi · hirepulse-tools

# add to Claude Code
claude mcp add edtool79-collab-hirepulse-open-source -- uvx hirepulse-tools
Common questions

What is the HirePulse tools MCP server?

HirePulse tools is an MCP server listed in the public MCP registry as io.github.edtool79-collab/hirepulse-open-source. Apify tools for products, Google ads, company signals, jobs, keywords, SEO and YouTube transcripts. This page covers its PyPI package (hirepulse-tools).

Is the HirePulse tools MCP server safe to use?

HirePulse tools scores 62 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 18 October 2026. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the HirePulse tools MCP server expose?

HirePulse tools exposes 8 tools: search_aliexpress, google_ads_by_domain, company_intent, google_jobs, ats_jobs, and 3 more. Their descriptions and schemas cost roughly 4,699 tokens of context every time the server is loaded.

Is the HirePulse tools MCP server still maintained?

HirePulse tools is still listed as active in the MCP registry. We last reached this channel on 18 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the HirePulse tools MCP server under?

HirePulse tools declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.