Skip to main content
Glama
tender-radar-mcp

tender-radar-mcp

by zohaibaamer

match_profile

Rank tenders by how well they fit a company profile and return reasons for each match, so agents can prioritize relevant opportunities.

Instructions

Rank tenders fitting a company profile (profiles/*.yaml), with reasons.

Available profiles can be listed by passing an unknown name.

Input Schema

NameRequiredDescriptionDefault
open_onlyNo
max_resultsNo
profile_nameYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

B3.1/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It does usefully disclose that results come with reasons and that an unknown profile name triggers a profile-listing response, but it omits that this is a read-only operation, how open_only silently excludes closed tenders, and how max_results truncates the ranking.

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?

Two short sentences, front-loaded with the core ranking purpose, with no filler. The second sentence's invalid-input discovery trick is a slightly awkward structure but still earns its place informationally.

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

Completeness2/5

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

For a tool with no annotations, no output schema, and 0% schema coverage on three parameters, the description does not say enough. An agent cannot tell whether results are paginated, what 'reasons' look like, or how open_only and max_results affect the ranking, so it would likely need trial calls to use the tool correctly.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate, and it only partially does: it explains profile_name's source (profiles/*.yaml) and its special unknown-name behavior. Neither open_only (which defaults to true and filters results) nor max_results (default 20) is mentioned anywhere, leaving two of three parameters semantically empty.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Uses a specific verb ('Rank') with a specific resource ('tenders') and an explicit scoping input ('a company profile (profiles/*.yaml)'), plus a note that results include reasons. This distinguishes it from search_tenders by intent, though it never names that sibling to make the contrast explicit.

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

Usage Guidelines3/5

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

Implied usage is clear from the purpose: call it when you have a named company profile and want ranked tenders. However, there is no guidance on when to prefer search_tenders, and the only explicit tip is an odd discovery hack (pass an unknown name to list profiles) even though a dedicated list_company_profiles sibling exists — the description never points to it.

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