Skip to main content
Glama

Openings

Server Details

Search jobs on verified employer job boards. Every link is the employer's own posting.

Ownership verified

Glama couldn't complete the latest health check. If this server requires authentication, missing or expired test credentials may be the cause. A test profile lets Glama authenticate for health checks and discover tools; it is separate from your personal connections.

If you are the author, claim ownership, then add or update a test profile under Admin → Test Profile.

Status
Unhealthy
Uptime
60.2% over 22 days
OAuth
Works in Glama
Last Tested
Transport
Streamable HTTP
URL
Repository
abhay-avagama/hiring-agent
GitHub Stars
0
Server Listing
openings

TDQS

A4.5/5.0

Scored across 7 tools

Disambiguation4/5

Each tool has a clear role: search_jobs is resume-free filtering, recommend_jobs is resume-based ranking, analyze_job_fit is a single-job deep dive, and optimize_resume is revision. The only mild overlap is between recommend_jobs and analyze_job_fit, but their descriptions distinguish list-level ranking from role-level analysis.

Naming Consistency5/5

All tool names follow the same snake_case verb_noun convention: analyze_job_fit, get_job, get_job_coverage, optimize_resume, prepare_job_search, recommend_jobs, search_jobs. The pattern is predictable and makes the action and target clear across the set.

Tool Count5/5

Seven tools is well-scoped for a job-search and resume-optimization server. Each tool covers a distinct stage of the workflow without redundancy or unnecessary bulk.

Completeness4/5

The tool surface covers the core workflow well: prepare the index, search, get details, rank by resume, analyze fit, and optimize a resume. A minor gap is the lack of any candidate-side workflow for saving, tracking, or managing applications beyond receiving the application URL.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 7 tool updates
    • Changedanalyze_job_fit15 fields changed
      • addedInput schema / properties / intent / description
        Added value: +"What the candidate is actually looking for, stated explicitly rather than guessed from the resume. Every field is optional; the ones given narrow the result, and the excluded* fields remove roles the candidate does not want to see."
      • addedInput schema / properties / intent / properties / countries / description
        Added value: +"Two-letter codes the candidate may work in, such as IN or US. This is eligibility to work, not where the office is"
      • addedInput schema / properties / intent / properties / excludedCountries / description
        Added value: +"Two-letter codes to drop even when a role is otherwise eligible"
      • addedInput schema / properties / intent / properties / excludedLocations / description
        Added value: +"Cities or regions to drop, matched like locations"
      • addedInput schema / properties / intent / properties / excludedRoles / description
        Added value: +"Role titles to drop, matched like roles"
      • addedInput schema / properties / intent / properties / excludedTerms / description
        Added value: +"Words that disqualify a role, matched as whole words in the title, such as \"intern\" or \"sales\""
      • addedInput schema / properties / intent / properties / locations / description
        Added value: +"Cities or regions to keep, matched as case-insensitive substrings of the job's location, such as \"Bengaluru\" or \"Delhi NCR\""
      • addedInput schema / properties / intent / properties / remote / description
        Added value: +"True to keep only remote roles, false to drop them; omit to keep both"
      • addedInput schema / properties / intent / properties / requiredSkills / description
        Added value: +"Skills a role must state to be kept, such as \"kubernetes\". Each is matched as a whole word"
      • addedInput schema / properties / intent / properties / roles / description
        Added value: +"Role titles the candidate is looking for, in their own words, such as \"backend engineer\" or \"data analyst\". Matched against the job title"
      • addedInput schema / properties / intent / properties / seniority / description
        Added value: +"Levels to keep, in the posting's own vocabulary, such as \"senior\" or \"lead\". Not a years-of-experience filter: use experienceYears in search_jobs for that"
      • addedInput schema / properties / jobId / description
        Added value: +"Stable job id from search_jobs or recommend_jobs"
      • addedInput schema / properties / resume / description
        Added value: +"The resume itself, passed inline. It is parsed in memory for this call and never written to disk, logged, or sent anywhere else."
      • addedInput schema / properties / resume / properties / format / description
        Added value: +"How content is encoded: plain text, markdown, or base64 of a PDF or DOCX file"
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "assessment": {
        +      "additionalProperties": true,
        +      "description": "The overall read, with its reasoning",
        +      "type": "object"
        +    },
        +    "interviewPreparationGaps": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "job": {
        +      "additionalProperties": true,
        +      "description": "The job that was analyzed",
        +      "properties": {
        +        "age": {
        +          "description": "Bucketed posting age; undated means the board gave no date, not that the role is fresh",
        +          "enum": [
        +            "new",
        +            "older",
        +            "stale",
        +            "undated"
        +          ],
        +          "type": "string"
        +        },
        +        "company": {
        +          "type": "string"
        +        },
        +        "eligibleCountries": {
        +          "description": "Two-letter codes the role is open to",
        +          "items": {
        +            "type": "string"
        +          },
        +          "type": "array"
        +        },
        +        "experience": {
        +          "additionalProperties": true,
        +          "description": "Years the posting itself states as { min, max }; null when it states none, absent when the description was not read",
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        },
        +        "id": {
        +          "description": "Stable id to pass to get_job, analyze_job_fit or optimize_resume",
        +          "type": "string"
        +        },
        +        "location": {
        +          "type": "string"
        +        },
        +        "postedDaysAgo": {
        +          "type": "number"
        +        },
        +        "remote": {
        +          "type": "boolean"
        +        },
        +        "title": {
        +          "type": "string"
        +        },
        +        "updatedAt": {
        +          "description": "When the board says the role was posted or last updated; absent when the board states none",
        +          "type": "string"
        +        },
        +        "url": {
        +          "description": "The employer's own posting, which is where an application is made",
        +          "type": "string"
        +        },
        +        "workMode": {
        +          "enum": [
        +            "remote",
        +            "hybrid",
        +            "onsite",
        +            "unknown"
        +          ],
        +          "type": "string"
        +        }
        +      },
        +      "type": "object"
        +    },
        +    "partiallySupported": {
        +      "description": "Requirements with partial evidence, and what is missing",
        +      "items": {
        +        "additionalProperties": true,
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "profile": {
        +      "additionalProperties": true,
        +      "description": "What was read from the resume; not stored",
        +      "type": "object"
        +    },
        +    "scores": {
        +      "additionalProperties": true,
        +      "type": "object"
        +    },
        +    "screeningRisks": {
        +      "description": "What is likely to stop this application early",
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "supported": {
        +      "description": "Requirements the resume supports, each with the quoted evidence",
        +      "items": {
        +        "additionalProperties": true,
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "unsupported": {
        +      "description": "Requirements the resume does not evidence at all",
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    }
        +  },
        +  "required": [
        +    "job",
        +    "assessment"
        +  ],
        +  "type": "object"
        +}
    • Changedget_job1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "job": {
        +      "additionalProperties": true,
        +      "description": "The full job, including its description and the employer's application URL",
        +      "properties": {
        +        "age": {
        +          "description": "Bucketed posting age; undated means the board gave no date, not that the role is fresh",
        +          "enum": [
        +            "new",
        +            "older",
        +            "stale",
        +            "undated"
        +          ],
        +          "type": "string"
        +        },
        +        "company": {
        +          "type": "string"
        +        },
        +        "eligibleCountries": {
        +          "description": "Two-letter codes the role is open to",
        +          "items": {
        +            "type": "string"
        +          },
        +          "type": "array"
        +        },
        +        "experience": {
        +          "additionalProperties": true,
        +          "description": "Years the posting itself states as { min, max }; null when it states none, absent when the description was not read",
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        },
        +        "id": {
        +          "description": "Stable id to pass to get_job, analyze_job_fit or optimize_resume",
        +          "type": "string"
        +        },
        +        "location": {
        +          "type": "string"
        +        },
        +        "postedDaysAgo": {
        +          "type": "number"
        +        },
        +        "remote": {
        +          "type": "boolean"
        +        },
        +        "title": {
        +          "type": "string"
        +        },
        +        "updatedAt": {
        +          "description": "When the board says the role was posted or last updated; absent when the board states none",
        +          "type": "string"
        +        },
        +        "url": {
        +          "description": "The employer's own posting, which is where an application is made",
        +          "type": "string"
        +        },
        +        "workMode": {
        +          "enum": [
        +            "remote",
        +            "hybrid",
        +            "onsite",
        +            "unknown"
        +          ],
        +          "type": "string"
        +        }
        +      },
        +      "type": "object"
        +    }
        +  },
        +  "required": [
        +    "job"
        +  ],
        +  "type": "object"
        +}
    • Changedget_job_coverage2 fields changed
      • addedInput schema / properties / countries / description
        Added value: +"Two-letter codes to report coverage for, such as IN or US"
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "countries": {
        +      "description": "Per-country live and recent role counts",
        +      "items": {
        +        "additionalProperties": true,
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "snapshotUpdatedAt": {
        +      "description": "When the index this answer came from was last refreshed",
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
    • Changedoptimize_resume5 fields changed
      • addedInput schema / properties / jobId / description
        Added value: +"Stable job id from search_jobs or recommend_jobs"
      • addedInput schema / properties / output / description
        Added value: +"suggestions lists changes to consider; unified_diff shows them as a patch; revised_markdown returns the rewritten resume"
      • addedInput schema / properties / resume / description
        Added value: +"The resume itself, passed inline. It is parsed in memory for this call and never written to disk, logged, or sent anywhere else."
      • addedInput schema / properties / resume / properties / format / description
        Added value: +"How content is encoded: plain text, markdown, or base64 of a PDF or DOCX file"
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "content": {
        +      "description": "The diff or rewritten resume, when that form was asked for",
        +      "type": "string"
        +    },
        +    "gaps": {
        +      "description": "What the resume cannot honestly claim, and so was left alone",
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "job": {
        +      "additionalProperties": true,
        +      "description": "The job the revision targets",
        +      "properties": {
        +        "age": {
        +          "description": "Bucketed posting age; undated means the board gave no date, not that the role is fresh",
        +          "enum": [
        +            "new",
        +            "older",
        +            "stale",
        +            "undated"
        +          ],
        +          "type": "string"
        +        },
        +        "company": {
        +          "type": "string"
        +        },
        +        "eligibleCountries": {
        +          "description": "Two-letter codes the role is open to",
        +          "items": {
        +            "type": "string"
        +          },
        +          "type": "array"
        +        },
        +        "experience": {
        +          "additionalProperties": true,
        +          "description": "Years the posting itself states as { min, max }; null when it states none, absent when the description was not read",
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        },
        +        "id": {
        +          "description": "Stable id to pass to get_job, analyze_job_fit or optimize_resume",
        +          "type": "string"
        +        },
        +        "location": {
        +          "type": "string"
        +        },
        +        "postedDaysAgo": {
        +          "type": "number"
        +        },
        +        "remote": {
        +          "type": "boolean"
        +        },
        +        "title": {
        +          "type": "string"
        +        },
        +        "updatedAt": {
        +          "description": "When the board says the role was posted or last updated; absent when the board states none",
        +          "type": "string"
        +        },
        +        "url": {
        +          "description": "The employer's own posting, which is where an application is made",
        +          "type": "string"
        +        },
        +        "workMode": {
        +          "enum": [
        +            "remote",
        +            "hybrid",
        +            "onsite",
        +            "unknown"
        +          ],
        +          "type": "string"
        +        }
        +      },
        +      "type": "object"
        +    },
        +    "originalOverwritten": {
        +      "description": "Always false: the candidate's resume is never modified in place",
        +      "type": "boolean"
        +    },
        +    "output": {
        +      "description": "Which form was produced",
        +      "enum": [
        +        "suggestions",
        +        "unified_diff",
        +        "revised_markdown"
        +      ],
        +      "type": "string"
        +    },
        +    "profile": {
        +      "additionalProperties": true,
        +      "type": "object"
        +    },
        +    "suggestions": {
        +      "description": "Each proposed change with the evidence behind it",
        +      "items": {
        +        "additionalProperties": true,
        +        "type": "object"
        +      },
        +      "type": "array"
        +    }
        +  },
        +  "required": [
        +    "output",
        +    "suggestions",
        +    "originalOverwritten"
        +  ],
        +  "type": "object"
        +}
    • Changedprepare_job_search3 fields changed
      • changedInput schema / properties / continuation / description
        Previous value: -"Opaque token returned by the preceding preparation batch"New value: +"Opaque token from the previous call's result. Pass it back to prepare the next batch of at most 25 sources; omit it to start"
      • addedInput schema / properties / countries / description
        Added value: +"Two-letter codes whose sources should be prepared, such as IN or US"
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "continuation": {
        +      "description": "Token for the next batch; present only when nextAction is call_again",
        +      "type": "string"
        +    },
        +    "coverage": {
        +      "additionalProperties": true,
        +      "properties": {
        +        "countries": {
        +          "description": "Per-country live and recent role counts",
        +          "items": {
        +            "additionalProperties": true,
        +            "type": "object"
        +          },
        +          "type": "array"
        +        },
        +        "snapshotUpdatedAt": {
        +          "description": "When the index this answer came from was last refreshed",
        +          "type": "string"
        +        }
        +      },
        +      "type": "object"
        +    },
        +    "crawl": {
        +      "additionalProperties": true,
        +      "description": "What this batch crawled: selected, succeeded, and the sources that failed",
        +      "type": "object"
        +    },
        +    "networkAttempted": {
        +      "description": "Whether this call actually reached out to employer boards",
        +      "type": "boolean"
        +    },
        +    "nextAction": {
        +      "description": "call_again means pass continuation back for the next batch; retry_later means the network refused and waiting is the fix",
        +      "enum": [
        +        "ready",
        +        "call_again",
        +        "retry_later"
        +      ],
        +      "type": "string"
        +    },
        +    "note": {
        +      "type": "string"
        +    },
        +    "sources": {
        +      "additionalProperties": true,
        +      "description": "How many sources are in the catalog, indexed, fresh, stale, missing and pending",
        +      "type": "object"
        +    },
        +    "status": {
        +      "description": "ready means searches can run now; partial means sources are still missing",
        +      "enum": [
        +        "ready",
        +        "partial"
        +      ],
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "status",
        +    "nextAction",
        +    "coverage"
        +  ],
        +  "type": "object"
        +}
    • Changedrecommend_jobs21 fields changed
      • addedInput schema / properties / intent / description
        Added value: +"What the candidate is actually looking for, stated explicitly rather than guessed from the resume. Every field is optional; the ones given narrow the result, and the excluded* fields remove roles the candidate does not want to see."
      • addedInput schema / properties / intent / properties / countries / description
        Added value: +"Two-letter codes the candidate may work in, such as IN or US. This is eligibility to work, not where the office is"
      • addedInput schema / properties / intent / properties / excludedCountries / description
        Added value: +"Two-letter codes to drop even when a role is otherwise eligible"
      • addedInput schema / properties / intent / properties / excludedLocations / description
        Added value: +"Cities or regions to drop, matched like locations"
      • addedInput schema / properties / intent / properties / excludedRoles / description
        Added value: +"Role titles to drop, matched like roles"
      • addedInput schema / properties / intent / properties / excludedTerms / description
        Added value: +"Words that disqualify a role, matched as whole words in the title, such as \"intern\" or \"sales\""
      • addedInput schema / properties / intent / properties / locations / description
        Added value: +"Cities or regions to keep, matched as case-insensitive substrings of the job's location, such as \"Bengaluru\" or \"Delhi NCR\""
      • addedInput schema / properties / intent / properties / remote / description
        Added value: +"True to keep only remote roles, false to drop them; omit to keep both"
      • addedInput schema / properties / intent / properties / requiredSkills / description
        Added value: +"Skills a role must state to be kept, such as \"kubernetes\". Each is matched as a whole word"
      • addedInput schema / properties / intent / properties / roles / description
        Added value: +"Role titles the candidate is looking for, in their own words, such as \"backend engineer\" or \"data analyst\". Matched against the job title"
      • addedInput schema / properties / intent / properties / seniority / description
        Added value: +"Levels to keep, in the posting's own vocabulary, such as \"senior\" or \"lead\". Not a years-of-experience filter: use experienceYears in search_jobs for that"
      • addedInput schema / properties / limit / description
        Added value: +"How many ranked matches to return"
      • addedInput schema / properties / ranking / description
        Added value: +"How matches are scored and how weak a match may be before it is dropped"
      • addedInput schema / properties / ranking / properties / mode / description
        Added value: +"evidence scores a match only on requirements the resume text supports; keyword scores on term overlap alone"
      • addedInput schema / properties / refresh / description
        Added value: +"Whether this call may crawl employer boards before ranking. Crawling costs seconds; the default only does it when the result would otherwise be thin"
      • addedInput schema / properties / refresh / properties / minimumMatches / description
        Added value: +"With auto, the match count below which a refresh is worth the wait"
      • addedInput schema / properties / refresh / properties / policy / description
        Added value: +"auto crawls once only when matches are thin and the snapshot is stale; never keeps the snapshot as it is; always crawls first"
      • addedInput schema / properties / refresh / properties / staleDays / description
        Added value: +"With auto, how old the snapshot must be before a refresh is considered"
      • addedInput schema / properties / resume / description
        Added value: +"The resume itself, passed inline. It is parsed in memory for this call and never written to disk, logged, or sent anywhere else."
      • addedInput schema / properties / resume / properties / format / description
        Added value: +"How content is encoded: plain text, markdown, or base64 of a PDF or DOCX file"
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "assumptions": {
        +      "description": "Anything inferred rather than stated; worth repeating to the candidate",
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "coverage": {
        +      "additionalProperties": true,
        +      "properties": {
        +        "countries": {
        +          "description": "Per-country live and recent role counts",
        +          "items": {
        +            "additionalProperties": true,
        +            "type": "object"
        +          },
        +          "type": "array"
        +        },
        +        "snapshotUpdatedAt": {
        +          "description": "When the index this answer came from was last refreshed",
        +          "type": "string"
        +        }
        +      },
        +      "type": "object"
        +    },
        +    "explanation": {
        +      "description": "Why the result looks the way it does, in words meant for the candidate",
        +      "type": "string"
        +    },
        +    "exploration": {
        +      "additionalProperties": true,
        +      "description": "Direct, hidden title-family and stretch groupings",
        +      "type": "object"
        +    },
        +    "filteredOut": {
        +      "additionalProperties": true,
        +      "description": "Counts by reason, with a small sample, for roles the intent excluded",
        +      "type": "object"
        +    },
        +    "matches": {
        +      "description": "Ranked matches, each carrying the job, its scores, and the resume text that supports them",
        +      "items": {
        +        "additionalProperties": true,
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "nextActions": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "nextMoves": {
        +      "description": "What to try next when the result is thin; relay these instead of inventing advice",
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "outcome": {
        +      "description": "widened means the date window had to open up to find anything; no_matches means say so rather than searching again silently",
        +      "enum": [
        +        "matches",
        +        "widened",
        +        "no_matches"
        +      ],
        +      "type": "string"
        +    },
        +    "profile": {
        +      "additionalProperties": true,
        +      "description": "What was read from the resume. It is returned so claims can be checked, and is not stored",
        +      "type": "object"
        +    },
        +    "ranking": {
        +      "additionalProperties": true,
        +      "type": "object"
        +    },
        +    "refresh": {
        +      "additionalProperties": true,
        +      "description": "Whether this call crawled, and what it found",
        +      "type": "object"
        +    },
        +    "shortfall": {
        +      "additionalProperties": true,
        +      "description": "Present when fewer matches came back than asked for",
        +      "type": "object"
        +    },
        +    "snapshot": {
        +      "additionalProperties": true,
        +      "description": "Age and size of the index these matches came from",
        +      "type": "object"
        +    },
        +    "window": {
        +      "additionalProperties": true,
        +      "description": "Which age windows were walked and which one the results came from",
        +      "type": "object"
        +    }
        +  },
        +  "required": [
        +    "outcome",
        +    "matches",
        +    "explanation"
        +  ],
        +  "type": "object"
        +}
    • Changedsearch_jobs3 fields changed
      • addedInput schema / properties / limit / description
        Added value: +"How many jobs to return in this page"
      • addedInput schema / properties / offset / description
        Added value: +"Where the page starts. Use pagination.nextOffset from the previous result rather than counting by hand"
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "guidance": {
        +      "description": "How to present these results honestly; meant for the assistant, not the candidate",
        +      "type": "string"
        +    },
        +    "jobs": {
        +      "description": "Matches, newest first",
        +      "items": {
        +        "additionalProperties": true,
        +        "description": "One matching job",
        +        "properties": {
        +          "age": {
        +            "description": "Bucketed posting age; undated means the board gave no date, not that the role is fresh",
        +            "enum": [
        +              "new",
        +              "older",
        +              "stale",
        +              "undated"
        +            ],
        +            "type": "string"
        +          },
        +          "company": {
        +            "type": "string"
        +          },
        +          "eligibleCountries": {
        +            "description": "Two-letter codes the role is open to",
        +            "items": {
        +              "type": "string"
        +            },
        +            "type": "array"
        +          },
        +          "experience": {
        +            "additionalProperties": true,
        +            "description": "Years the posting itself states as { min, max }; null when it states none, absent when the description was not read",
        +            "type": [
        +              "object",
        +              "null"
        +            ]
        +          },
        +          "id": {
        +            "description": "Stable id to pass to get_job, analyze_job_fit or optimize_resume",
        +            "type": "string"
        +          },
        +          "location": {
        +            "type": "string"
        +          },
        +          "postedDaysAgo": {
        +            "type": "number"
        +          },
        +          "remote": {
        +            "type": "boolean"
        +          },
        +          "title": {
        +            "type": "string"
        +          },
        +          "updatedAt": {
        +            "description": "When the board says the role was posted or last updated; absent when the board states none",
        +            "type": "string"
        +          },
        +          "url": {
        +            "description": "The employer's own posting, which is where an application is made",
        +            "type": "string"
        +          },
        +          "workMode": {
        +            "enum": [
        +              "remote",
        +              "hybrid",
        +              "onsite",
        +              "unknown"
        +            ],
        +            "type": "string"
        +          }
        +        },
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "pagination": {
        +      "additionalProperties": true,
        +      "description": "offset, limit, total and nextOffset. nextOffset is null on the last page",
        +      "type": "object"
        +    },
        +    "window": {
        +      "additionalProperties": true,
        +      "description": "The age window the results came from, and whether it had to widen. Say which window was used",
        +      "type": "object"
        +    }
        +  },
        +  "required": [
        +    "jobs",
        +    "window",
        +    "pagination"
        +  ],
        +  "type": "object"
        +}
  2. 7 tool updates
    • First observedanalyze_job_fit
    • First observedget_job
    • First observedget_job_coverage
    • First observedoptimize_resume
    • First observedprepare_job_search
    • First observedrecommend_jobs
    • First observedsearch_jobs

Publisher details

Operator
Avagama Consulting · Publisher source
Vendor relationship
Not applicable
Documentation
Not applicable
Trust center
Not applicable
Restrictions
Not applicable

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Verified job search: every listing is opened and confirmed live and accepting applicants within the last 72 hours, and re-verified on a rolling clock, so agents can recommend jobs without ghost-job or dead-link risk. Read-only, no auth.
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    JobsPipe — data pipeline of every job posting on the web. Search live, normalized job postings from 30+ ATS feeds and job boards for AI agents via MCP.
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Search current remote / work-from-home jobs by category, region, perk, or company — with ready-to-apply links.
    5
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI assistants to find live job postings from employer career sites and rank them against a user's resume, with each requirement matched and tiered for fit.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.