Skip to main content
Glama

FoundRole — AI Job Search & Application Tracker MCP for Claude & ChatGPT

Search career guides

knowledge_search
Read-onlyIdempotent

Searches FoundRole's published content by semantic similarity and returns the most relevant sources for a job-search question: career-guidance blog articles plus FoundRole site pages that describe the product's features (job tracker, H1B salary data, AI job search) and industry/sector career landings. Each article carries a title, url, summary, a content excerpt, publication date, and tags; each page carries a title, url, description, and its FAQ entries — enough material to answer the question and link the source.

Two optional facets add further result groups: company returns FoundRole's employer profile pages matching that company name; location returns the market landing page for that city, state, or country — an analytical page about that labour market, not a list of openings. The facets describe what the user is asking about — a company mentioned only in passing does not need the company facet.

Returns empty groups when nothing is relevant rather than padding with off-topic content. Results are the closest matches to the given question, not an index of the site's full coverage; questions about overall topic coverage are answered by knowledge_topics, which lists the blog's categories and tags with article counts. It does not search job listings and reports no open-job counts — jobs_search covers live roles, including questions about openings for a particular job title. Each response includes a system_instruction describing how to present the sources.

Input Schema

NameRequiredDescriptionDefault
limitNoMaximum articles to return (default 5)
queryYesThe career, job-search, or FoundRole product question to answer
companyNoA company name, when the question is about that employer — returns FoundRole company profile pages
locationNoA city, state, or country, when the question is about that labour market — returns its market landing page

Output Schema

NameRequiredDescriptionDefault
pagesNo
articlesNo
totalCountNo
companyPagesNo
landingPagesNo
profileSetupUrlNo
system_instructionNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changed
    • removedInput schema / properties / job_title
      Removed value: -{
      -  "description": "A job title or role, when the question is about openings for it — returns job-listing landing pages",
      -  "type": "string"
      -}
    • changedInput schema / properties / location / description
      Previous value: -"A city, state, or country refining job_title, or alone when the question is about jobs in that place"New value: +"A city, state, or country, when the question is about that labour market — returns its market landing page"
    • removedOutput schema / properties / companyPages / items / properties / openJobs
      Removed value: -{
      -  "type": [
      -    "integer",
      -    "null"
      -  ]
      -}
    • removedOutput schema / properties / landingPages / items / properties / openJobs
      Removed value: -{
      -  "type": [
      -    "integer",
      -    "null"
      -  ]
      -}
    • removedOutput schema / properties / proUrl
      Removed value: -{
      -  "type": [
      -    "string",
      -    "null"
      -  ]
      -}
  2. Changed11 schema fields changed
    • addedInput schema / properties / company
      Added value: +{
      +  "description": "A company name, when the question is about that employer — returns FoundRole company profile pages",
      +  "type": "string"
      +}
    • addedInput schema / properties / job_title
      Added value: +{
      +  "description": "A job title or role, when the question is about openings for it — returns job-listing landing pages",
      +  "type": "string"
      +}
    • addedInput schema / properties / location
      Added value: +{
      +  "description": "A city, state, or country refining job_title, or alone when the question is about jobs in that place",
      +  "type": "string"
      +}
    • changedInput schema / properties / query / description
      Previous value: -"The career or job-search question to answer from the blog"New value: +"The career, job-search, or FoundRole product question to answer"
    • removedOutput schema / properties / articles / items / properties / score
      Removed value: -{
      -  "type": "number"
      -}
    • addedOutput schema / properties / companyPages
      Added value: +{
      +  "items": {
      +    "properties": {
      +      "headquarters": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "industry": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "name": {
      +        "type": "string"
      +      },
      +      "openJobs": {
      +        "type": [
      +          "integer",
      +          "null"
      +        ]
      +      },
      +      "url": {
      +        "type": "string"
      +      }
      +    },
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / landingPages
      Added value: +{
      +  "items": {
      +    "properties": {
      +      "description": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "name": {
      +        "type": "string"
      +      },
      +      "openJobs": {
      +        "type": [
      +          "integer",
      +          "null"
      +        ]
      +      },
      +      "url": {
      +        "type": "string"
      +      }
      +    },
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / pages
      Added value: +{
      +  "items": {
      +    "properties": {
      +      "description": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "faq": {
      +        "items": {
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "title": {
      +        "type": "string"
      +      },
      +      "url": {
      +        "type": "string"
      +      }
      +    },
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / proUrl
      Added value: +{
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / profileSetupUrl
      Added value: +{
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / system_instruction
      Added value: +{
      +  "type": "string"
      +}
  3. Added

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/closed-world, so the safety profile is covered; the description adds genuinely non-derivable behavior: empty groups returned instead of off-topic padding, results being closest matches rather than a full index, and the presence of a system_instruction in the response. It does not discuss pagination or ranking cutoff, but the annotations carry the safety burden.

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?

Front-loaded with purpose and corpora, then facets, then exclusions and return behavior. It is on the longer side and could trim the enumerated product-feature list, but nearly every sentence carries routing or behavioral information that isn't in the structured fields.

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?

With an output schema present the description needn't restate return values, yet it still sketches the fields (title, url, summary, excerpt, date, tags) enough to set expectations. Combined with full schema coverage, clear sibling routing, and disclosed empty-result semantics, an agent has everything needed to call this correctly.

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?

Schema coverage is 100%, so baseline is 3, but the description adds meaning the schema lacks: the company facet yields employer profile pages (not generic mentions) and the location facet yields an analytical labour-market landing page, explicitly 'not a list of openings.' The passing-mention caveat further disambiguates when to set the facets.

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?

States a specific verb (searches) and resource (FoundRole's published content) with the retrieval mechanism (semantic similarity) and enumerates exactly what corpora are covered: blog articles, product/site pages, and industry landing pages. It explicitly contrasts itself with knowledge_topics and jobs_search, so an agent can distinguish it from siblings without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Names the alternatives (knowledge_topics for coverage questions, jobs_search for live roles) and the conditions that select them. It also gives a concrete when-not rule for the facets: 'a company mentioned only in passing does not need the company facet.' This is explicit routing, not implied.

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.