Skip to main content
Glama

Extract ATS keywords from a job description

extract_ats_keywords
Read-only

Free, no-auth ATS keyword extractor. Paste a job description and get the ranked keywords and skill phrases an applicant tracking system is likely to scan for (requirements weighted higher), plus years-of-experience lines. Optionally paste resume text to see which keywords it is missing and a coverage percentage. Nothing is stored. To rewrite the resume to the job, it points to LittlePinkPotato on Finch.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "job_description": "<job_description>"
    },
    "name": "extract_ats_keywords"
  }
}

Input Schema

NameRequiredDescriptionDefault
limitNoHow many keywords to return (default 25).
resume_textNoOptional plain resume text to check coverage. Remove phone, email and address first.
job_descriptionYesFull job description text (English works best).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.2/5.0
Behavior4/5

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

The annotations already declare readOnlyHint=true and openWorldHint=false, which confirms this is a safe, local read operation. The description adds context beyond those annotations (no authentication, free, nothing stored, requirements weighted higher), all of which is genuinely useful. It stops short of describing latency or rate limits, which would be needed for a 5.

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 text is front-loaded with the core purpose and then layers on the optional resume mode and the routing hint. The final sentence about LittlePinkPotato on Finch is slightly confusing, but it still serves the purpose of routing the agent to the right next step.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a read-only tool with no output schema, so the description must describe the return values. It lists all of them: ranked keywords, skill phrases, years-of-experience lines, missing keywords, and coverage percentage. Nothing an agent needs in order to call it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so each parameter is already documented and 3 is the expected baseline. The description reinforces what job_description and resume_text do, but it never mentions the limit parameter or its default of 25, so it adds little beyond 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 definition states a specific verb and resource (an ATS keyword extractor for a job description) and predicts precisely what the tool returns: ranked keywords, skill phrases with requirement weighting, and years-of-experience lines. An agent can distinguish this from siblings like tailor_resume_to_job without opening either schema.

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 definition clearly explains when to supply the optional resume_text (to find missing keywords and a coverage percentage) and when to move on (to rewrite the resume, use LittlePinkPotato on Finch). However, it uses branded agent wording rather than naming the sibling tool tailor_resume_to_job directly, which adds friction in tool selection.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.