Skip to main content
Glama

workspace-alberta

Server Details

Canadian procurement intelligence: CanadaBuys and Alberta tenders, ranked for your shop.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
HarleyCoops/WorkspaceAlberta
GitHub Stars
0

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsB

Average 3.4/5 across 21 of 25 tools scored. Lowest: 2.3/5.

Server CoherenceB
Disambiguation2/5

Many tools have overlapping purposes, e.g., multiple search/find tools (find_opportunities, find_matching_opportunities, search_opportunities, etc.) and detail retrieval tools (get_opportunity_details, get_alberta_opportunity_details, get_contract_details). This creates ambiguity for an agent to select the correct tool.

Naming Consistency4/5

Most tools follow a verb_noun convention in snake_case (e.g., search_contracts, watch_opportunity). Some deviations like bid_no_bid_scorecard use a multi-word verb, but overall the pattern is consistent.

Tool Count3/5

25 tools is on the higher side for this domain. While the number could be justified by the need to handle both federal and provincial opportunities, many tools are redundant, making the surface feel heavy.

Completeness4/5

Core workflows (search, get details, watch/unwatch, set/profile, analyze) are covered. Minor gaps exist, like no batch operations or tool to clear watchlist, but the surface is largely complete for contract tracking.

Available Tools

25 tools
analyze_contract_with_cohereBInspect

Use Cohere Command A+ to review a CanadaBuys tender and explain fit, risks, and next steps.

ParametersJSON Schema
NameRequiredDescriptionDefault
profileNoInline business profile used for this call only. Overrides any saved profile. On the shared public endpoint without a subscriber key, this is the way to describe your business.
questionNoOptional specific question to ask about the tender
referenceYesReference or solicitation number for the tender to analyze
max_tokensNoMaximum model response tokens (default 1200, max 2000)
business_contextNoOptional company capabilities or bid context. If omitted, the saved business profile is used.
Behavior2/5

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

No annotations are provided, placing the full burden on the description. The description does not disclose behavioral traits like whether the tool modifies data, requires authentication, has rate limits, or is read-only. 'Review' implies read-only but is not explicit.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no wasted words. It immediately conveys the tool's purpose and key differentiators.

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 5 parameters, nested objects, no output schema, and multiple sibling analysis tools, the description is insufficient. It does not explain the return format, how to use the profile or business_context parameters, or the role of the reference number. The agent lacks key information for correct usage.

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 description coverage is 100%, so the baseline is 3. The description adds no additional meaning beyond the schema; it does not mention any parameters or how they influence the analysis. The agent must rely solely on 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 description clearly states the tool's action ('review'), the specific resource ('CanadaBuys tender'), and the output ('fit, risks, and next steps'). It distinguishes itself from siblings like 'bid_no_bid_scorecard' by specifying the use of Cohere Command A+ and focus on tenders.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives such as 'bid_no_bid_scorecard' or 'summarize_contracts'. The description lacks context about prerequisites, scenarios, or exclusions, leaving the agent without decision criteria.

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

bid_no_bid_scorecardAInspect

Fast deterministic bid/no-bid checklist for one opportunity: profile fit, runway to closing, region match, and a go/caution/no-go verdict with reasons. No model call.

ParametersJSON Schema
NameRequiredDescriptionDefault
referenceYesCanadaBuys or Alberta APC reference number
Behavior4/5

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

With no annotations provided, the description carries full responsibility. It discloses the tool is deterministic (no model call) and returns a verdict with reasons. While it does not detail side effects or prerequisites, it sufficiently conveys the key behavioral trait of being fast and rule-based.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise (two sentences, ~25 words) and front-loaded with the core purpose. Every sentence adds value, with no redundant information.

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

Completeness4/5

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

Given the tool's simplicity (one parameter, no output schema), the description is sufficiently complete. It explains what the tool does and its output, though it could mention whether it accesses external data or is purely algorithmic. Still, it serves its purpose well.

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?

The single parameter 'reference' has 100% schema description coverage, so the schema already explains it. The tool description does not add further parameter semantics, earning a baseline score of 3.

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 description clearly states it is a deterministic bid/no-bid checklist for one opportunity, evaluating profile fit, runway, region match, and returning a verdict. It distinguishes itself from siblings by explicitly noting 'No model call,' which sets it apart from tools like analyze_contract_with_cohere.

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 description provides clear context ('Fast deterministic,' 'No model call') implying it is for quick rule-based assessments. However, it does not explicitly state when not to use it or list alternative tools, such as the model-based analyze_contract_with_cohere.

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

check_cohere_statusAInspect

Check whether the optional Cohere Command A+ model integration is configured. Does not call the model.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

With no annotations provided, the description carries full burden. It explicitly states the tool does not call the model, which is key behavioral information. It does not mention permissions or return details, but for a simple config check this is sufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description consists of two concise sentences with no wasted words. The first sentence states the main purpose, and the second adds a crucial qualifier. It is well front-loaded and efficient.

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

Completeness4/5

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

For a simple tool with no parameters and no output schema, the description provides adequate context: what it checks and that it doesn't call the model. It could mention the return type (e.g., boolean) but is still reasonably complete given the simplicity.

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?

The tool has no parameters, so baseline is 4. The description adds meaning by specifying what exactly is checked, which is not evident from the empty schema. It effectively communicates the tool's purpose.

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 description uses a specific verb 'Check' and clearly identifies the resource: whether the optional Cohere Command A+ model integration is configured. It also clarifies that it does not call the model, distinguishing it from sibling tools like analyze_contract_with_cohere.

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 description implies usage by stating it checks configuration without calling the model, which suggests using this tool before attempting model-dependent tasks. However, it does not explicitly state when not to use it or list alternatives, but the context from sibling tools provides some guidance.

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

daily_bid_briefAInspect

Generate a free daily bid brief from CanadaBuys and Alberta APC for a business profile. Pass an inline profile to describe the business per call.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoLook ahead this many days for matches and deadlines (default 14)
limitNoMaximum items per section (default 5, max 10)
profileNoInline business profile used for this call only. Overrides any saved profile. On the shared public endpoint without a subscriber key, this is the way to describe your business.
Behavior2/5

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

No annotations provided, so description carries full burden. States it is free and daily but does not disclose side effects, authentication needs, rate limits, or whether it is a read-only operation. Lacks behavioral details.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with purpose and sources. Every sentence adds value with no redundancy.

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?

Lacks description of return value (what does the brief look like?), prerequisites, and behavioral context. Without output schema, description should explain output format. Incomplete for a tool with nested parameters.

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% with descriptions for all parameters. Description adds context by explaining the inline profile and its usage on a public endpoint, which goes beyond 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?

Description clearly states the tool generates a daily bid brief from CanadaBuys and Alberta APC using a business profile. Distinguishes from sibling tools like 'find_opportunities' which are more generic.

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?

Implies usage for generating a brief but does not explicitly state when to use this over alternatives like 'find_matching_opportunities' or 'bid_no_bid_scorecard'. No exclusions or prerequisites mentioned.

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

find_alberta_opportunitiesAInspect

Find Alberta Purchasing Connection opportunities that match your business profile. Pass an inline profile to describe the business per call.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoOnly show opportunities closing within N days (default: 60)
limitNoMaximum opportunities to return (default: 15)
profileNoInline business profile used for this call only. Overrides any saved profile. On the shared public endpoint without a subscriber key, this is the way to describe your business.
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It only states it finds opportunities matching a profile, without mentioning read-only nature, external API calls, rate limits, or any side effects. This is insufficient for a query tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences, front-loaded with purpose and immediate instruction. No filler, every word contributes.

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

Completeness3/5

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

Given no output schema and a nested profile object, the description lacks information about return format, error handling, or how matching works. It covers the core function but misses context that would help an agent anticipate results.

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%, baseline 3. The description adds value by explaining the profile is inline and overrides any saved profile, which is not evident from schema alone. This enhances understanding of how the profile parameter works per call.

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?

Description clearly states it finds Alberta Purchasing Connection opportunities matching a business profile, distinguishing from generic tools like 'find_opportunities' and 'search_opportunities' by emphasizing profile matching. The verb 'Find' and resource 'opportunities' are specific, and the inline profile aspect sets it apart from tools that use saved profiles.

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?

The description hints at using this when you have a one-off profile ('pass an inline profile per call'), but does not explicitly contrast with tools like 'find_matching_opportunities' or 'search_alberta_opportunities'. It lacks clear when-to-use and when-not-to-use guidance, leaving ambiguity.

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

find_matching_opportunitiesAInspect

Rank CanadaBuys and Alberta APC opportunities against a business profile. Pass an inline profile to describe the business per call.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoOnly show opportunities closing within N days (default 60)
limitNoMaximum opportunities to return (default 15, max 30)
profileNoInline business profile used for this call only. Overrides any saved profile. On the shared public endpoint without a subscriber key, this is the way to describe your business.
Behavior2/5

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

With no annotations provided, the description carries the full burden but only mentions that the profile overrides a saved one and targets the shared endpoint. It omits behavioral traits like read-only nature, rate limits, or whether ranking is deterministic.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences front-load the core action and essential usage instruction, with no redundant or filler content.

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

Completeness3/5

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

Given no output schema, the description does not explain the return format (e.g., ranked list structure or scores), nor does it mention constraints like max limit (30) although schema covers it. Adequate but could be more complete.

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 baseline is 3. The description adds value by clarifying that the profile is inline and overrides saved profiles, but does not deepen semantics for days or limit 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 description clearly states the verb 'rank' and the resource 'opportunities' from specific sources (CanadaBuys and Alberta APC), and it distinguishes from siblings like 'find_opportunities' by requiring an inline profile.

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?

The description notes that an inline profile overrides any saved profile, implying usage for one-off matching, but it does not explicitly state when not to use this tool vs. alternatives like 'search_opportunities'.

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

find_opportunitiesAInspect

Find government contracts that match your business profile. Returns scored and ranked opportunities with explanations of why each one fits your capabilities. Pass an inline profile to describe the business per call.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoOnly show contracts closing within N days (default: 60)
limitNoMaximum opportunities to return (default: 15)
profileNoInline business profile used for this call only. Overrides any saved profile. On the shared public endpoint without a subscriber key, this is the way to describe your business.
Behavior3/5

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

No annotations are provided, so the description must carry the full burden. It discloses the return type (scored/ranked with explanations) but does not mention side effects, auth requirements, rate limits, or data freshness. The description is adequate but not comprehensive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences: the first front-loads the core purpose; the second adds the key detail about inline profile. No wasted words.

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

Completeness3/5

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

Given no output schema, the description partially describes return (scored/ranked with explanations) but lacks details on error cases, data freshness, or behavior when no matches exist. The tool has moderate complexity with a nested object, so it is adequate but not fully complete.

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%, providing default behavior for days and limit, and full structure for profile. The description adds only a high-level note about inline profile, which does not significantly add beyond the schema. Baseline 3 is appropriate.

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?

The description clearly states the tool finds government contracts matching a business profile and returns scored/ranked opportunities with explanations. It is specific with verb and resource, but does not explicitly differentiate from siblings like find_matching_opportunities or find_alberta_opportunities.

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?

The description implies usage by mentioning inline profile and per-call nature, but provides no explicit when-to-use or when-not-to-use guidance nor mentions alternatives among sibling tools.

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

get_alberta_opportunity_detailsAInspect

Get full Alberta Purchasing Connection details by reference number, such as AB-2026-03908.

ParametersJSON Schema
NameRequiredDescriptionDefault
referenceYesAPC reference number
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It only states what the tool does ('get full details') without disclosing important behavioral traits such as read-only nature, authentication requirements, or any side effects. The description is insufficient for a tool with no annotations.

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 description is a single concise sentence that directly states the tool's purpose. It is front-loaded and efficient, but could benefit from additional structured details about return format.

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

Completeness3/5

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

For a simple retrieval tool with one parameter, the description is mostly adequate. However, it lacks information about the output (e.g., fields returned), which would improve completeness given the absence of an output schema.

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% with a single parameter 'reference', and the description provides an example value. However, it adds no new meaning beyond what the schema already offers, meeting the baseline for high coverage.

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 description clearly states the tool retrieves full details for a specific Alberta Purchasing Connection opportunity given a reference number. It uses a specific verb ('Get') and resource ('full details'), distinguishing it from sibling search tools.

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 description implies you need a known reference number to use the tool, providing clear context. However, it does not explicitly state when to use this tool versus alternatives like find_alberta_opportunities or search_alberta_opportunities, leaving some ambiguity.

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

get_contract_detailsBInspect

Get full details of a contract by reference or solicitation number.

ParametersJSON Schema
NameRequiredDescriptionDefault
referenceYesReference or solicitation number
Behavior2/5

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

With no annotations, the description carries the full burden. It states 'get full details' but does not explicitly confirm it is a read-only operation, describe the scope of details, or mention any permissions or side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no redundant words, front-loading the action and resource.

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

Completeness4/5

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

For a simple retrieval tool with one parameter and no output schema, the description adequately conveys purpose and input. However, it could briefly hint at output content (e.g., 'including fields like...') to improve completeness.

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 description coverage is 100%; the description adds no new meaning beyond the schema's 'Reference or solicitation number'. It simply echoes that, yielding the baseline score.

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 description uses specific verb 'Get' and resource 'contract details', clearly stating the identifier method (reference or solicitation number). It effectively distinguishes from sibling tools like 'get_opportunity_details' and 'search_contracts'.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives (e.g., search_contracts to find references, or get_opportunity_details for opportunities), nor does it mention exclusions or prerequisites.

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

get_my_profileAInspect

View your current business profile that's being used to match contracts.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

The description clearly indicates a read operation ('View') and adds context about the profile's purpose ('being used to match contracts'). No annotations are provided, so the description carries the burden; it adequately discloses the non-destructive nature.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no wasted words. Every part adds value: the verb, resource, and contextual detail about contract matching.

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

Completeness4/5

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

Given zero parameters and no output schema, the description is minimal but sufficient. It explains the tool's purpose and the profile's role in matching. However, it does not mention what fields are returned or if multiple profiles exist.

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?

No parameters exist, so the schema provides full coverage. The description adds meaning by explaining that the profile is current and used for contract matching, which goes beyond the empty 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 description clearly states the action ('View') and the resource ('your current business profile'). It distinguishes from siblings like 'set_business_profile' (edit) and 'search_contracts' (different resource), providing a specific verb and resource.

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?

No explicit guidance on when to use this tool vs. alternatives. While the context implies it's for reading the profile currently used for matching, it does not mention related tools like 'set_business_profile' for editing.

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

get_opportunity_detailsBInspect

Get details for a federal CanadaBuys or Alberta APC opportunity by reference number.

ParametersJSON Schema
NameRequiredDescriptionDefault
referenceYesReference number, such as AB-2026-03908 or a CanadaBuys reference
Behavior2/5

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

No annotations are provided, and the description does not disclose behavioral traits such as whether the tool is read-only, has side effects, rate limits, or requires authentication. For a tool fetching details, the lack of read-only indication or safety information is a gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence with no extraneous words. It efficiently conveys the essential purpose and input requirement.

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

Completeness3/5

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

Given one parameter with full schema description and no output schema, the description covers the basic purpose but lacks context on return format, error behavior, or any limitations. It is minimally complete for a simple lookup tool.

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% with one parameter already described in the schema. The description adds context (federal CanadaBuys or Alberta APC) but does not add meaning beyond the schema for the 'reference' parameter. Baseline 3 is appropriate.

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 description clearly specifies the action ('Get'), the resource ('details for a federal CanadaBuys or Alberta APC opportunity'), and the required input ('by reference number'). It distinguishes from siblings like 'get_alberta_opportunity_details' by covering both CanadaBuys and Alberta APC.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives (e.g., 'get_alberta_opportunity_details', 'search_opportunities'). It does not mention prerequisites, exclusions, or preference conditions.

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

list_alberta_deadlinesBInspect

List open Alberta Purchasing Connection opportunities closing soon.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoShow opportunities closing within N days (default 30)
limitNoMaximum results (default 20, max 50)
categoryNoOptional category: services, goods, or construction
Behavior2/5

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

No annotations are present, so the description carries full burden for behavioral disclosure. It does not mention read-readiness, authorization, rate limits, or what 'closing soon' specifically means (e.g., relative to current date). Only the default parameter hints at a 30-day window.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, no fluff, essential information front-loaded. Every word contributes to understanding the tool's purpose.

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

Completeness4/5

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

For a simple list tool with no output schema, the description is mostly complete. It identifies the source, region, and temporal filter. However, it could clarify that results are sorted by deadline or what fields are returned.

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 description coverage is 100%, so parameters are already well-documented. The description adds no additional meaning beyond the schema, staying at baseline for a fully annotated 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 description clearly identifies the verb (list), resource (Alberta Purchasing Connection opportunities), and temporal scope (closing soon). The tool name further specifies 'alberta_deadlines', making it distinct from generic siblings like 'list_deadlines' or 'list_upcoming_deadlines'.

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

Usage Guidelines2/5

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

No guidance provided on when to use this tool versus siblings such as 'find_alberta_opportunities' or 'list_upcoming_deadlines'. The description does not mention alternatives, prerequisites, or exclusion criteria.

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

list_deadlinesBInspect

List CanadaBuys and Alberta APC opportunities closing soon.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoShow opportunities closing within N days (default 30)
limitNoMaximum combined results (default 20, max 50)
sourceNoall, federal, or albertaall
categoryNoOptional category filter
provinceNoOptional province or delivery region filter
Behavior2/5

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

No annotations are present, so the description carries full burden. It fails to disclose behavioral traits such as that it is read-only, authorization needs, rate limits, or default behaviors like ordering or pagination. The description only states the basic action without additional context.

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 description is a single sentence with no wasted words. However, given the tool has 5 parameters and multiple sources, a slightly longer description could add value without being verbose. It is concise but not optimally informative.

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?

The description is minimal and does not explain the combination logic of two sources, default behaviors, or return format. With 5 parameters and no output schema, the description lacks sufficient context for an AI agent to use the tool effectively.

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 description coverage is 100%, so baseline is 3. The description does not add any additional meaning beyond what the schema already provides for parameters like days, limit, and source.

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?

Description clearly states the tool lists specific opportunity types (CanadaBuys and Alberta APC) closing soon, using a specific verb 'list'. This distinguishes it from sibling tools like list_alberta_deadlines (only Alberta) and list_upcoming_deadlines (possibly broader).

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?

The description implies usage context (when opportunities are closing soon) but provides no explicit guidance on when to use this tool versus alternatives like list_alberta_deadlines or list_upcoming_deadlines. No exclusions or when-not-to-use information is given.

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

list_upcoming_deadlinesCInspect

List contracts with upcoming closing deadlines.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoShow contracts closing within N days (default 30)
provinceNoFilter by province
Behavior2/5

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

No annotations are present, so the description must carry the full burden of transparency. The description only states 'list contracts' without revealing side effects, data sources, order, pagination, or coverage (e.g., whether it includes all contracts or only those with deadlines). Critical behavioral details are missing.

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?

Extremely concise single sentence, front-loaded with the core action. However, it could include more useful information without losing conciseness, such as mentioning the optional parameters or scope.

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

Completeness3/5

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

The description omits output details (no output schema) and does not explain how results are ordered or filtered. For a simple listing tool, this may be minimally sufficient, but given many sibling tools, more context would help the agent select correctly.

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 description coverage is 100%, so the schema already documents both parameters with descriptions. The description adds no extra meaning beyond what is in the schema. Baseline of 3 is appropriate as the schema does the heavy lifting.

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?

Description clearly states verb 'list' and resource 'contracts with upcoming closing deadlines'. However, it does not distinguish from sibling tools like 'list_deadlines' or 'list_alberta_deadlines', which may have similar purposes. The phrase 'upcoming' is clarified by the days parameter in the schema.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. The description does not mention trade-offs, prerequisites, or context where another tool would be more appropriate. The agent must infer from the name alone.

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

list_watchlistAInspect

List watched opportunities sorted by closing date, with days remaining and notes.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

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 implies a read-only operation and specifies sort order and included fields, but does not mention authentication needs, pagination, or whether only explicitly watched opportunities are listed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, effective sentence that front-loads the main action and includes essential details. Every word earns its place.

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

Completeness4/5

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

For a simple list tool with no parameters and no output schema, the description adequately conveys the purpose and result. It omits return format but the agent can infer a list. It is complete enough for the tool's simplicity.

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?

The input schema has zero parameters, so the description need not add parameter semantics. Baseline is 4, and the description does not provide additional parameter info, which is acceptable.

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 description clearly states the verb 'List' and the resource 'watched opportunities', and adds details about sorting by closing date and including days remaining and notes. This distinguishes it from sibling tools like 'list_deadlines' and 'search_opportunities'.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives (e.g., 'watch_opportunity' must be called first). There is no mention of prerequisites or context for using the list.

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

process_bid_roomAInspect

Use an E2B sandbox to process tender attachments and call Cohere Command A+ inside the sandbox for bid-room analysis.

ParametersJSON Schema
NameRequiredDescriptionDefault
profileNoInline business profile used for this call only. Overrides any saved profile. On the shared public endpoint without a subscriber key, this is the way to describe your business.
referenceYesCanadaBuys or Alberta APC reference number
max_attachmentsNoMaximum direct attachments to process (default 5, max 5)
timeout_secondsNoE2B sandbox timeout in seconds (default 900)
business_contextNoOptional company capabilities or bid context. If omitted, the saved business profile is used.
command_timeout_secondsNoSandbox command timeout in seconds (default 420)
Behavior3/5

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

No annotations provided, so description must cover behavioral traits. It discloses use of E2B sandbox and Cohere Command A+, but does not mention side effects (e.g., sandbox destruction), authentication needs, rate limits, or whether operations are read-only. The timeout parameters provide some transparency on execution duration.

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?

Single sentence (25 words) is concise and front-loaded with the main action. However, for a tool with 6 parameters and nested objects, a slightly more structured description (e.g., brief bullets) could improve readability.

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

Completeness3/5

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

Covers core action but lacks explanation of return values (no output schema), error conditions, prerequisites (e.g., reference format), and sandbox lifecycle. Adequate for basic understanding but incomplete for fully autonomous agent use.

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%, and description adds value by explaining that 'profile' is an inline override, 'business_context' overrides saved profile, and 'max_attachments' has a hard limit of 5. Context like 'On the shared public endpoint...' provides usage nuance 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?

Description clearly states the verb (process), the resource (tender attachments), and the context (E2B sandbox, Cohere Command A+). Differentiates from sibling tools like analyze_contract_with_cohere by emphasizing sandbox execution and attachment processing.

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?

No explicit guidance on when to use this tool vs siblings (e.g., analyze_contract_with_cohere, bid_no_bid_scorecard). Usage is implied by the unique sandbox+attachment processing, but no exclusions or prerequisites are mentioned.

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

refresh_dataBInspect

Refresh contract data from CanadaBuys.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior2/5

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

The description says 'Refresh' but does not explain what that entails—e.g., whether it overwrites data, requires authentication, has rate limits, or is safe to call repeatedly. With no annotations provided, the description carries the full burden, and it fails to disclose side effects or constraints.

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 description is a single sentence with no unnecessary words. It is concise and front-loaded. However, it could be structured to include more contextual information without losing conciseness.

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?

Given no annotations, no output schema, and no parameters, the description is minimal. It lacks details on what the refresh entails, how it affects the system, and when it is appropriate to call. For a tool that likely has side effects (e.g., updating data), this is insufficient for an agent to use it safely.

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?

The input schema is empty (no parameters), so description does not need to add parameter-level details. Schema coverage is 100% vacuously. No additional information is required beyond what is already clear from the schema.

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?

The description clearly states the action ('Refresh') and the resource ('contract data from CanadaBuys'). It is a specific verb+resource combination. However, it does not explicitly distinguish from sibling tools like 'search_contracts' or 'get_contract_details', though the action type is different.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, conditions, or when not to use it. The description simply states what it does without providing decision context.

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

search_alberta_opportunitiesCInspect

Search Alberta Purchasing Connection opportunities from Alberta public-sector buyers.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum results (default 10, max 50)
statusNoAPC status code (default OPEN)OPEN
categoryNoOptional category: services, goods, or construction
keywordsNoSearch words or phrase
Behavior2/5

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

No annotations exist, so the description carries the full burden. It only states that the tool searches opportunities but reveals no behavioral traits like read-only nature, pagination behavior, or any special constraints (e.g., date range limitations).

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 description is a single, efficient sentence that conveys the core purpose without unnecessary words. It is front-loaded and concise, though it could include more context without becoming verbose.

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?

Given no annotations, no output schema, and multiple sibling tools, the description is too sparse. It does not explain return format, how results are ordered, or how this tool differs from similar ones like 'find_alberta_opportunities' or 'search_opportunities'. The description lacks completeness for effective use.

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%, where each parameter has a description. The tool description adds no extra meaning beyond the schema; it only mentions 'opportunities'. Baseline 3 is appropriate as the schema already documents the parameters adequately.

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?

The description clearly identifies the tool's purpose: searching Alberta Purchasing Connection opportunities from Alberta public-sector buyers. The verb 'Search' and specific resource are stated, but it does not differentiate from similar sibling tools like 'find_alberta_opportunities' or 'search_opportunities'.

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

Usage Guidelines2/5

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

No usage guidelines are provided. The description does not specify when to use this tool over alternatives such as 'find_alberta_opportunities' or 'find_opportunities', nor does it mention any prerequisites or exclusions.

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

search_contractsCInspect

Search Canadian federal government contracts. Filter by keywords, province, or status.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum results (default 10)
keywordsNoSearch keywords (e.g., 'steel', 'construction', 'IT services')
provinceNoFilter by province (e.g., 'Alberta', 'Ontario', 'Quebec')
Behavior2/5

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

No annotations provided, so description carries full burden. It omits behavioral aspects like read-only nature, data source, pagination, or error handling. The false mention of 'status' filter undermines trust.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Only one sentence, but it contains an inaccuracy (status filter not in schema). Short but not effectively concise due to misinformation.

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?

No output schema, so description should explain return values or behavior. It does not mention what data is returned, pagination limits, or filtering logic, making it incomplete for reliable use.

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 coverage is 100%, so baseline is 3. Description adds context by listing filterable fields but incorrectly includes 'status', which misleads the agent. This outweighs the positive value.

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

Purpose3/5

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

The description clearly states it searches Canadian federal government contracts, providing a specific verb and resource. However, it mentions filtering by 'status' which is not in the input schema, causing confusion.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus the many sibling search tools (e.g., search_opportunities, find_opportunities). Agent has no basis to differentiate.

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

search_opportunitiesCInspect

Search CanadaBuys and Alberta Purchasing Connection together.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum combined results (default 20, max 50)
sourceNoall, federal, or albertaall
categoryNoOptional category such as services, goods, construction, steel, lumber
keywordsNoSearch words or phrase
provinceNoOptional province or delivery region filter
Behavior2/5

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

No annotations are provided, and the description fails to disclose behavioral traits such as pagination, result format, ordering, or side effects. It only states that it searches two sources together.

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 description is a single, concise sentence with no wasted words. However, it could be more structured by front-loading key information like the combined search behavior.

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?

Given the tool has 5 parameters and no output schema, the description is incomplete. It fails to explain return values, how results are combined from two sources, or any filtering behavior beyond parameters.

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 baseline is 3. The description adds no additional meaning beyond the schema's parameter descriptions; it only reiterates the tool's scope.

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?

The description clearly states the tool searches CanadaBuys and Alberta Purchasing Connection together. However, it doesn't differentiate from sibling tools like search_alberta_opportunities or find_opportunities, which may have different scopes.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives (e.g., for searching only one source). The description lacks context on prerequisites or when not to use it.

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

set_business_profileBInspect

Tell me about your business. I'll save your profile and use it to find matching government contracts.

ParametersJSON Schema
NameRequiredDescriptionDefault
locationNoWhere you're located (e.g., 'Edmonton, Alberta')
descriptionYesWhat does your business do? Describe your products, services, and capabilities.
company_nameNoYour company name
Behavior2/5

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

With no annotations, the description must disclose behavioral traits. It implies a write operation ('save your profile') with side effects (used for matching), but does not explain idempotency, overwrite behavior, persistence duration, or required permissions. This is insufficient for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise at two sentences, front-loaded with the purpose, and contains no unnecessary words. Every sentence adds value.

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?

Given the lack of annotations, output schema, and 3 parameters, the description is incomplete. It does not explain the return value, error conditions, or the side effect of triggering contract matching. More context is needed for a complete understanding.

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%, with each parameter having a clear description. The tool description adds context about the purpose (saving profile for matching), but does not provide additional semantic information beyond the schema. Baseline 3 is appropriate.

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 description clearly states the tool's purpose: to save a business profile for matching government contracts. It uses specific verbs ('save your profile') and distinguishes from sibling tools like 'get_my_profile' (reading vs writing).

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

Usage Guidelines2/5

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

No explicit guidance on when to use this tool versus alternatives. It does not mention when not to use it, such as when a profile already exists, or whether it should be used for updates. Sibling tools suggest alternatives like 'get_my_profile' for reading, but no comparison is provided.

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

summarize_alberta_opportunitiesBInspect

Summarize current open Alberta Purchasing Connection opportunities by category.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior2/5

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

No annotations are present, so the description carries the full burden. It does not disclose what the summary looks like (e.g., text, key-value pairs, counts) or any side effects. For a parameterless tool, the absence of output behaviors is a gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single clear sentence with no extraneous words. Every word contributes to understanding the tool's purpose.

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?

Given no output schema, the description should explain what the summary contains (e.g., categories, counts) or how it is structured. It does not, leaving the agent guessing about the return format. For a tool with 24 siblings, more context would help.

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?

There are no parameters, so schema coverage is 100%. The description adds no parameter-specific information, but none is needed. Baseline score of 3 is appropriate.

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 description clearly states the verb 'summarize', the resource 'open Alberta Purchasing Connection opportunities', and the dimension 'by category'. This distinguishes it from siblings like find_alberta_opportunities and search_alberta_opportunities, which perform listing and searching.

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?

No explicit when-to-use or when-not-to-use guidance is provided. The description implies use for summary by category, but does not exclude alternatives or state when this tool is preferred over siblings like list_alberta_deadlines or find_matching_opportunities.

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

summarize_contractsCInspect

Get a summary of available contracts.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior1/5

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

No annotations are present, so the description must fully disclose behavioral traits. It fails to mention what constitutes 'available', whether the summary is real-time, side effects, or output structure.

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 description is a single, concise sentence. It is front-loaded and wastes no words, though it could benefit from being more informative.

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?

With no parameters, no output schema, and no annotations, the description should explain what the summary includes, but it does not. The tool is too minimal for the context of many sibling tools.

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?

There are no parameters, and schema coverage is 100% trivially. Baseline is 3; the description adds no extra meaning about default behavior or output, so it remains at baseline.

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?

The description clearly states the verb 'Get' and the resource 'a summary of available contracts'. However, it does not differentiate from sibling tools like 'summarize_alberta_opportunities' or 'get_contract_details', missing the opportunity to specify scope.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives such as 'get_contract_details' or 'search_contracts'. The context of 'available' contracts is ambiguous.

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

unwatch_opportunityBInspect

Remove an opportunity from the watchlist by reference number.

ParametersJSON Schema
NameRequiredDescriptionDefault
referenceYesReference number to stop tracking
Behavior2/5

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

No annotations provided; description only says removal without mentioning side effects, success/failure behavior, or authentication needs. Minimal disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, no unnecessary words. Efficient and front-loaded.

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

Completeness3/5

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

For a simple one-param tool, description is adequate but lacks preconditions and error handling context. Could include 'if not on watchlist, no-op or error'.

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% with a clear description. Description adds 'by reference number' but doesn't significantly extend schema info.

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?

Description clearly states verb 'Remove' and resource 'opportunity from the watchlist', distinguishing it from sibling 'watch_opportunity'.

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

Usage Guidelines2/5

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

No explicit guidance on when to use this tool vs alternatives like 'watch_opportunity' or prerequisites (e.g., must already be on watchlist). Implied but not stated.

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

watch_opportunityAInspect

Add a CanadaBuys or Alberta APC opportunity to your persistent watchlist, with an optional note.

ParametersJSON Schema
NameRequiredDescriptionDefault
noteNoOptional note, e.g. 'waiting on bonding quote'
referenceYesReference number to track
Behavior3/5

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

No annotations are provided, so the description must convey behavior. It mentions 'persistent watchlist' and 'optional note', but fails to disclose what happens on duplicate adds, if notes are editable, or any watchlist limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence of 14 words, highly concise with no redundant information.

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

Completeness4/5

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

For a simple add-to-list tool with two parameters and no output schema, the description is mostly complete. It omits success indication, but semantics are clear given sibling tools provide context.

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% and the description adds minimal extra meaning, only clarifying the note is optional. Baseline of 3 is appropriate as it does not enrich parameter understanding significantly.

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 description clearly specifies the action 'Add', the resource 'CanadaBuys or Alberta APC opportunity', and the destination 'persistent watchlist'. It distinguishes from siblings like list_watchlist and unwatch_opportunity.

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 description implies usage for tracking opportunities via watchlist, but does not explicitly state when to use or avoid, nor mention alternatives like unwatch_opportunity or list_watchlist.

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

Discussions

No comments yet. Be the first to start the discussion!

Try in Browser

Your Connectors

Sign in to create a connector for this server.