workspaceAlberta
Search every CanadaBuys and Alberta Purchasing Connection tender. Free briefs; Pro bid-room tools.
Sollte ich dies verwenden
Qualität und Sicherheit
Befunde (5)
- LOWin refresh_data
- LOWin get_my_profile
- LOWin get_alberta_opportunity_details
- LOWin summarize_alberta_opportunities
- LOWin match_industrial_support_programs
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"workspacealberta": {
"url": "https://elbowsupknivesout.warreandvavasour.com/mcp"
}
}
}Remote-Endpunkte
https://elbowsupknivesout.warreandvavasour.com/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (29)
🟢get_server_guide
Start here when connecting an agent: explains what workspaceAlberta does, the search-to-bid-review workflow, handoff fields, data boundaries and unsupported actions. No model or network call.
Eingabe-Schema
{
"type": "object",
"properties": {},
"additionalProperties": false
}🟢search_contracts(keywords, province, limit)
Legacy: federal CanadaBuys only. Filter by keywords or province. Prefer search_opportunities for combined CanadaBuys and Alberta APC results.
Eingabe-Schema
{
"type": "object",
"properties": {
"keywords": {
"type": "string",
"description": "Search keywords for any sector, such as software, training, steel, healthcare, or logistics"
},
"province": {
"type": "string",
"description": "Filter by province (e.g., 'Alberta', 'Ontario', 'Quebec')"
},
"limit": {
"type": "integer",
"description": "Maximum results (default 10)",
"default": 10
}
}
}🟢get_contract_details(reference)
Legacy: federal CanadaBuys details only, by reference or solicitation number. Prefer get_opportunity_details for federal or Alberta APC tenders.
Eingabe-Schema
{
"type": "object",
"properties": {
"reference": {
"type": "string",
"description": "Reference or solicitation number"
}
},
"required": [
"reference"
]
}🟢list_upcoming_deadlines(days, province)
Legacy: federal CanadaBuys closing deadlines only. Prefer list_deadlines for combined CanadaBuys and Alberta APC results.
Eingabe-Schema
{
"type": "object",
"properties": {
"days": {
"type": "integer",
"description": "Show contracts closing within N days (default 30)",
"default": 30
},
"province": {
"type": "string",
"description": "Filter by province"
}
}
}🟢summarize_contracts
Legacy: summarize federal CanadaBuys contracts only. For combined discovery use search_opportunities or daily_bid_brief; this summary excludes Alberta APC.
Eingabe-Schema
{
"type": "object",
"properties": {}
}⚪refresh_data
Refresh contract data from CanadaBuys.
Eingabe-Schema
{
"type": "object",
"properties": {}
}🔴set_business_profile(company_name, location, description)
Tell me about your business. I'll save your profile and use it to find matching government contracts. Hosted: sign-in required; no paid subscription needed.
Eingabe-Schema
{
"type": "object",
"properties": {
"company_name": {
"type": "string",
"description": "Your company name"
},
"location": {
"type": "string",
"description": "Where you're located (e.g., 'Edmonton, Alberta')"
},
"description": {
"type": "string",
"description": "What does your business do? Describe your products, services, and capabilities."
}
},
"required": [
"description"
]
}🟢find_opportunities(days, limit, profile)
Legacy: rank federal CanadaBuys contracts only against your business profile. Prefer find_matching_opportunities for combined CanadaBuys and Alberta APC matches. Anonymous hosted callers must pass an inline profile.
Eingabe-Schema
{
"type": "object",
"properties": {
"days": {
"type": "integer",
"description": "Only show contracts closing within N days (default: 60)",
"default": 60
},
"limit": {
"type": "integer",
"description": "Maximum opportunities to return (default: 15)",
"default": 15
},
"profile": {
"type": "object",
"description": "Inline 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.",
"properties": {
"company_name": {
"type": "string",
"description": "Company name"
},
"location": {
"type": "string",
"description": "Where the business is located, e.g. 'Edmonton, Alberta'"
},
"description": {
"type": "string",
"description": "What the business does: products, services, capabilities"
},
"capabilities": {
"type": "array",
"items": {
"type": "string"
},
"description": "Optional explicit capability keywords; derived from description when omitted"
},
"industries": {
"type": "array",
"items": {
"type": "string"
},
"description": "Optional sector labels for any business. Steel, lumber, aluminum, and construction still work. So do software, healthcare, energy, mining, training, or your own wording. Labels rank matches. They do not hide other contracts."
}
}
}
}
}🟢get_my_profile
View your current business profile that's being used to match contracts. Hosted: sign-in required; no paid subscription needed.
Eingabe-Schema
{
"type": "object",
"properties": {}
}🟢search_opportunities(keywords, source, province, category, limit, ...)
Search every open CanadaBuys and Alberta Purchasing Connection notice for any business. Results are not limited to steel, lumber, aluminum, or construction. Pass description or profile to rank by a TypeSafe Jev supply-fit classification (yes, partial, or no) after a commodity-code prefilter. Keyword-only searches stay lexical. When configured, search terms or business capabilities may be sent to Cohere to select commodity filters. See /privacy. When a business description is present and TypeSafe is configured, notice text and that description are sent to TypeSafe for supply-fit classification. See /privacy.
Eingabe-Schema
{
"type": "object",
"properties": {
"keywords": {
"type": "string",
"description": "Search words or phrase"
},
"source": {
"type": "string",
"description": "all, federal, or alberta",
"default": "all"
},
"province": {
"type": "string",
"description": "Optional province or delivery region filter"
},
"category": {
"type": "string",
"description": "Optional category or sector words. Federal search treats this as free text across the full notice, including UNSPSC and GSIN descriptions. Alberta maps services, goods, and construction to APC codes and still searches other words."
},
"limit": {
"type": "integer",
"description": "Maximum combined results (default 20, max 50)",
"default": 20
},
"description": {
"type": "string",
"description": "What the business does, in plain language. When set, fit classification runs before keyword ranking."
},
"location": {
"type": "string",
"description": "Where the business works, such as Red Deer, Alberta."
},
"company_name": {
"type": "string",
"description": "Optional company name."
},
"profile": {
"type": "object",
"description": "Inline 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.",
"properties": {
"company_name": {
"type": "string",
"description": "Company name"
},
"location": {
"type": "string",
"description": "Where the business is located, e.g. 'Edmonton, Alberta'"
},
"description": {
"type": "string",
"description": "What the business does: products, services, capabilities"
},
"capabilities": {
"type": "array",
"items": {
"type": "string"
},
"description": "Optional explicit capability keywords; derived from description when omitted"
},
"industries": {
"type": "array",
"items": {
"type": "string"
},
"description": "Optional sector labels for any business. Steel, lumber, aluminum, and construction still work. So do software, healthcare, energy, mining, training, or your own wording. Labels rank matches. They do not hide other contracts."
}
}
}
}
}Ausgabe-Schema
{
"type": "object",
"properties": {
"kind": {
"type": "string"
},
"count": {
"type": "integer"
},
"warnings": {
"type": "array",
"items": {
"type": "string"
}
},
"opportunities": {
"type": "array",
"items": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"source": {
"type": "string"
},
"reference": {
"type": "string"
},
"buyer": {
"type": "string"
},
"category": {
"type": "string"
},
"closing": {
"type": "string",
"description": "Closing value exactly as the source published it"
},
"closes_at": {
"type": "string",
"description": "Closing time as ISO 8601 in Alberta time with UTC offset; empty when unknown"
},
"region": {
"type": "string"
},
"solicitation": {
"type": "string"
},
"unspsc": {
"type": "string",
"description": "UNSPSC code or codes from the source, when published"
},
"unspsc_description": {
"type": "string"
},
"gsin": {
"type": "string",
"description": "GSIN code from CanadaBuys, when published"
},
"gsin_description": {
"type": "string"
},
"trade_agreements": {
"type": "string"
},
"procurement_method": {
"type": "string"
},
"selection_criteria": {
"type": "string"
},
"domestic_policies": {
"type": "array",
"items": {
"type": "string"
},
"description": "Buy Canadian and domestic-preference flags read from the notice"
}
}
}
}
}
}🟢get_opportunity_details(reference)
Get details for any federal CanadaBuys or Alberta APC opportunity by reference number, including UNSPSC, GSIN, trade agreements, and Buy Canadian flags when the source published them.
Eingabe-Schema
{
"type": "object",
"properties": {
"reference": {
"type": "string",
"description": "Reference number, such as AB-2026-03908 or a CanadaBuys reference"
}
},
"required": [
"reference"
]
}🟢list_deadlines(days, source, province, category, limit)
List CanadaBuys and Alberta APC opportunities closing soon.
Eingabe-Schema
{
"type": "object",
"properties": {
"days": {
"type": "integer",
"description": "Show opportunities closing within N days (default 30)",
"default": 30
},
"source": {
"type": "string",
"description": "all, federal, or alberta",
"default": "all"
},
"province": {
"type": "string",
"description": "Optional province or delivery region filter"
},
"category": {
"type": "string",
"description": "Optional category filter"
},
"limit": {
"type": "integer",
"description": "Maximum combined results (default 20, max 50)",
"default": 20
}
}
}Ausgabe-Schema
{
"type": "object",
"properties": {
"kind": {
"type": "string"
},
"count": {
"type": "integer"
},
"warnings": {
"type": "array",
"items": {
"type": "string"
}
},
"opportunities": {
"type": "array",
"items": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"source": {
"type": "string"
},
"reference": {
"type": "string"
},
"buyer": {
"type": "string"
},
"category": {
"type": "string"
},
"closing": {
"type": "string",
"description": "Closing value exactly as the source published it"
},
"closes_at": {
"type": "string",
"description": "Closing time as ISO 8601 in Alberta time with UTC offset; empty when unknown"
},
"region": {
"type": "string"
},
"solicitation": {
"type": "string"
},
"unspsc": {
"type": "string",
"description": "UNSPSC code or codes from the source, when published"
},
"unspsc_description": {
"type": "string"
},
"gsin": {
"type": "string",
"description": "GSIN code from CanadaBuys, when published"
},
"gsin_description": {
"type": "string"
},
"trade_agreements": {
"type": "string"
},
"procurement_method": {
"type": "string"
},
"selection_criteria": {
"type": "string"
},
"domestic_policies": {
"type": "array",
"items": {
"type": "string"
},
"description": "Buy Canadian and domestic-preference flags read from the notice"
}
}
}
}
}
}🟢find_matching_opportunities(days, limit, profile)
Rank CanadaBuys and Alberta APC opportunities for any business profile, in any sector. Pass an inline `profile` to describe the business per call. A description is classified with TypeSafe Jev (yes, partial, or no, and goods supply, services, training, or subcontract) after a commodity-code prefilter; keyword score and Buy Canadian bonuses break ties. Steel, lumber, aluminum, and construction remain valid labels. When configured, search terms or business capabilities may be sent to Cohere to select commodity filters. See /privacy. When a business description is present and TypeSafe is configured, notice text and that description are sent to TypeSafe for supply-fit classification. See /privacy.
Eingabe-Schema
{
"type": "object",
"properties": {
"days": {
"type": "integer",
"description": "Only show opportunities closing within N days (default 60)",
"default": 60
},
"limit": {
"type": "integer",
"description": "Maximum opportunities to return (default 15, max 30)",
"default": 15
},
"profile": {
"type": "object",
"description": "Inline 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.",
"properties": {
"company_name": {
"type": "string",
"description": "Company name"
},
"location": {
"type": "string",
"description": "Where the business is located, e.g. 'Edmonton, Alberta'"
},
"description": {
"type": "string",
"description": "What the business does: products, services, capabilities"
},
"capabilities": {
"type": "array",
"items": {
"type": "string"
},
"description": "Optional explicit capability keywords; derived from description when omitted"
},
"industries": {
"type": "array",
"items": {
"type": "string"
},
"description": "Optional sector labels for any business. Steel, lumber, aluminum, and construction still work. So do software, healthcare, energy, mining, training, or your own wording. Labels rank matches. They do not hide other contracts."
}
}
}
}
}Ausgabe-Schema
{
"type": "object",
"properties": {
"kind": {
"type": "string"
},
"count": {
"type": "integer"
},
"warnings": {
"type": "array",
"items": {
"type": "string"
}
},
"matches": {
"type": "array",
"items": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"source": {
"type": "string"
},
"reference": {
"type": "string"
},
"buyer": {
"type": "string"
},
"category": {
"type": "string"
},
"closing": {
"type": "string",
"description": "Closing value exactly as the source published it"
},
"closes_at": {
"type": "string",
"description": "Closing time as ISO 8601 in Alberta time with UTC offset; empty when unknown"
},
"region": {
"type": "string"
},
"solicitation": {
"type": "string"
},
"unspsc": {
"type": "string",
"description": "UNSPSC code or codes from the source, when published"
},
"unspsc_description": {
"type": "string"
},
"gsin": {
"type": "string",
"description": "GSIN code from CanadaBuys, when published"
},
"gsin_description": {
"type": "string"
},
"trade_agreements": {
"type": "string"
},
"procurement_method": {
"type": "string"
},
"selection_criteria": {
"type": "string"
},
"domestic_policies": {
"type": "array",
"items": {
"type": "string"
},
"description": "Buy Canadian and domestic-preference flags read from the notice"
},
"score": {
"type": "integer"
},
"days_until": {
"type": [
"integer",
"null"
],
"description": "Calendar days to the closing date in Alberta time; 0 means it closes today"
},
"reasons": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
}
}
}🟢daily_bid_brief(days, limit, profile)
Generate a free daily bid brief from the full CanadaBuys and Alberta APC catalogues for any business. Pass an inline `profile` to describe the business per call. Best fits start with the same TypeSafe Jev supply classification as find_business_fit. Domestic-preference flags are included when a matched notice carries them. When configured, search terms or business capabilities may be sent to Cohere to select commodity filters. See /privacy. When a business description is present and TypeSafe is configured, notice text and that description are sent to TypeSafe for supply-fit classification. See /privacy.
Eingabe-Schema
{
"type": "object",
"properties": {
"days": {
"type": "integer",
"description": "Look ahead this many days for matches and deadlines (default 14)",
"default": 14
},
"limit": {
"type": "integer",
"description": "Maximum items per section (default 5, max 10)",
"default": 5
},
"profile": {
"type": "object",
"description": "Inline 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.",
"properties": {
"company_name": {
"type": "string",
"description": "Company name"
},
"location": {
"type": "string",
"description": "Where the business is located, e.g. 'Edmonton, Alberta'"
},
"description": {
"type": "string",
"description": "What the business does: products, services, capabilities"
},
"capabilities": {
"type": "array",
"items": {
"type": "string"
},
"description": "Optional explicit capability keywords; derived from description when omitted"
},
"industries": {
"type": "array",
"items": {
"type": "string"
},
"description": "Optional sector labels for any business. Steel, lumber, aluminum, and construction still work. So do software, healthcare, energy, mining, training, or your own wording. Labels rank matches. They do not hide other contracts."
}
}
}
}
}🟢find_business_fit(description, location, company_name, source, province, ...)
Rank open CanadaBuys and Alberta Purchasing Connection notices for a free-text business description. A commodity-code and term prefilter cuts the catalogues to a short candidate list, then TypeSafe Jev classifies each notice: could this business supply it (yes, partial, or no) and as which capability (goods supply, services, training, or subcontract). Yes and partial results are ordered by that verdict, then by the existing keyword score and Buy Canadian bonus. If Jev is not configured or rejects the key, keyword ranking is used and the result says so. The description and a short notice summary are sent to TypeSafe when classification runs. See /privacy. workspaceAlberta does not submit a bid or decide eligibility. When a business description is present and TypeSafe is configured, notice text and that description are sent to TypeSafe for supply-fit classification. See /privacy.
Eingabe-Schema
{
"type": "object",
"properties": {
"description": {
"type": "string",
"description": "What the business does, in its own words. Example: a bakery in Red Deer that bakes at scale and teaches culinary skills."
},
"location": {
"type": "string",
"description": "Where the business works, such as Red Deer, Alberta."
},
"company_name": {
"type": "string",
"description": "Optional company name for the heading."
},
"source": {
"type": "string",
"description": "all, federal, or alberta",
"default": "all"
},
"province": {
"type": "string",
"description": "Optional province or delivery region filter"
},
"category": {
"type": "string",
"description": "Optional category filter"
},
"days": {
"type": "integer",
"description": "Only show notices closing within N days (default 120, max 365)",
"default": 120
},
"limit": {
"type": "integer",
"description": "Maximum results (default 15, max 50)",
"default": 15
},
"profile": {
"type": "object",
"description": "Inline 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.",
"properties": {
"company_name": {
"type": "string",
"description": "Company name"
},
"location": {
"type": "string",
"description": "Where the business is located, e.g. 'Edmonton, Alberta'"
},
"description": {
"type": "string",
"description": "What the business does: products, services, capabilities"
},
"capabilities": {
"type": "array",
"items": {
"type": "string"
},
"description": "Optional explicit capability keywords; derived from description when omitted"
},
"industries": {
"type": "array",
"items": {
"type": "string"
},
"description": "Optional sector labels for any business. Steel, lumber, aluminum, and construction still work. So do software, healthcare, energy, mining, training, or your own wording. Labels rank matches. They do not hide other contracts."
}
}
}
},
"required": [
"description"
]
}Ausgabe-Schema
{
"type": "object",
"properties": {
"kind": {
"type": "string"
},
"count": {
"type": "integer"
},
"warnings": {
"type": "array",
"items": {
"type": "string"
}
},
"opportunities": {
"type": "array",
"items": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"source": {
"type": "string"
},
"reference": {
"type": "string"
},
"buyer": {
"type": "string"
},
"category": {
"type": "string"
},
"closing": {
"type": "string",
"description": "Closing value exactly as the source published it"
},
"closes_at": {
"type": "string",
"description": "Closing time as ISO 8601 in Alberta time with UTC offset; empty when unknown"
},
"region": {
"type": "string"
},
"solicitation": {
"type": "string"
},
"unspsc": {
"type": "string",
"description": "UNSPSC code or codes from the source, when published"
},
"unspsc_description": {
"type": "string"
},
"gsin": {
"type": "string",
"description": "GSIN code from CanadaBuys, when published"
},
"gsin_description": {
"type": "string"
},
"trade_agreements": {
"type": "string"
},
"procurement_method": {
"type": "string"
},
"selection_criteria": {
"type": "string"
},
"domestic_policies": {
"type": "array",
"items": {
"type": "string"
},
"description": "Buy Canadian and domestic-preference flags read from the notice"
}
}
}
}
}
}🟢search_alberta_opportunities(keywords, category, status, limit)
Search Alberta Purchasing Connection opportunities from Alberta public-sector buyers. When configured, search terms or business capabilities may be sent to Cohere to select commodity filters. See /privacy.
Eingabe-Schema
{
"type": "object",
"properties": {
"keywords": {
"type": "string",
"description": "Search words or phrase"
},
"category": {
"type": "string",
"description": "Optional category: services, goods, or construction"
},
"status": {
"type": "string",
"description": "APC status code (default OPEN)",
"default": "OPEN"
},
"limit": {
"type": "integer",
"description": "Maximum results (default 10, max 50)",
"default": 10
}
}
}🟢get_alberta_opportunity_details(reference)
Get full Alberta Purchasing Connection details by reference number, such as AB-2026-03908.
Eingabe-Schema
{
"type": "object",
"properties": {
"reference": {
"type": "string",
"description": "APC reference number"
}
},
"required": [
"reference"
]
}🟢list_alberta_deadlines(days, category, limit)
List open Alberta Purchasing Connection opportunities closing soon.
Eingabe-Schema
{
"type": "object",
"properties": {
"days": {
"type": "integer",
"description": "Show opportunities closing within N days (default 30)",
"default": 30
},
"category": {
"type": "string",
"description": "Optional category: services, goods, or construction"
},
"limit": {
"type": "integer",
"description": "Maximum results (default 20, max 50)",
"default": 20
}
}
}🟢summarize_alberta_opportunities
Summarize current open Alberta Purchasing Connection opportunities by category.
Eingabe-Schema
{
"type": "object",
"properties": {}
}🟢find_alberta_opportunities(days, limit, profile)
Find Alberta Purchasing Connection opportunities that match your business profile. Pass an inline `profile` to describe the business per call. When configured, search terms or business capabilities may be sent to Cohere to select commodity filters. See /privacy.
Eingabe-Schema
{
"type": "object",
"properties": {
"days": {
"type": "integer",
"description": "Only show opportunities closing within N days (default: 60)",
"default": 60
},
"limit": {
"type": "integer",
"description": "Maximum opportunities to return (default: 15)",
"default": 15
},
"profile": {
"type": "object",
"description": "Inline 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.",
"properties": {
"company_name": {
"type": "string",
"description": "Company name"
},
"location": {
"type": "string",
"description": "Where the business is located, e.g. 'Edmonton, Alberta'"
},
"description": {
"type": "string",
"description": "What the business does: products, services, capabilities"
},
"capabilities": {
"type": "array",
"items": {
"type": "string"
},
"description": "Optional explicit capability keywords; derived from description when omitted"
},
"industries": {
"type": "array",
"items": {
"type": "string"
},
"description": "Optional sector labels for any business. Steel, lumber, aluminum, and construction still work. So do software, healthcare, energy, mining, training, or your own wording. Labels rank matches. They do not hide other contracts."
}
}
}
}
}🟡process_bid_room(reference, business_context, max_attachments, apc_document_urls, upload_token, ...)
Process tender attachments in E2B: sends documents and business context to E2B, PDF page images/images and extracted evidence to Cohere Parse and Command A+. See /privacy for processing locations. For Alberta APC postings, the first call returns a private upload link: the user downloads the documents with their own APC supplier account and uploads them, then you call again with upload_token. Returns within 145 seconds including setup; large packages may time out. Retry with fewer attachments; a timeout is not a completed analysis. Hosted: sign-in and an active workspaceAlberta Pro subscription required.
Eingabe-Schema
{
"type": "object",
"properties": {
"reference": {
"type": "string",
"description": "CanadaBuys or Alberta APC reference number"
},
"business_context": {
"type": "string",
"description": "Optional company capabilities or bid context. If omitted, the saved business profile is used."
},
"max_attachments": {
"type": "integer",
"description": "Maximum procurement files to process (default 5, max 5). Use 0 explicitly for a notice-only review; missing/gated documents do not count as complete coverage.",
"default": 5,
"minimum": 0,
"maximum": 5
},
"apc_document_urls": {
"type": "object",
"description": "For APC only: map document IDs from get_opportunity_details to already authorized, publicly accessible HTTPS copies. This tool never signs in to APC, registers supplier interest, subscribes notifications, or accepts authenticated download URLs. Copies are sent to E2B and their contents to Cohere.",
"additionalProperties": {
"type": "string",
"format": "uri"
},
"maxProperties": 5
},
"upload_token": {
"type": "string",
"description": "For APC only: the upload_token from an earlier process_bid_room result. APC releases documents only to the user's own signed-in supplier account, so the first call returns a private upload link; after the user uploads the files they downloaded from APC, call again with this token to process them."
},
"profile": {
"type": "object",
"description": "Inline 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.",
"properties": {
"company_name": {
"type": "string",
"description": "Company name"
},
"location": {
"type": "string",
"description": "Where the business is located, e.g. 'Edmonton, Alberta'"
},
"description": {
"type": "string",
"description": "What the business does: products, services, capabilities"
},
"capabilities": {
"type": "array",
"items": {
"type": "string"
},
"description": "Optional explicit capability keywords; derived from description when omitted"
},
"industries": {
"type": "array",
"items": {
"type": "string"
},
"description": "Optional sector labels for any business. Steel, lumber, aluminum, and construction still work. So do software, healthcare, energy, mining, training, or your own wording. Labels rank matches. They do not hide other contracts."
}
}
}
},
"required": [
"reference"
],
"additionalProperties": false
}🔴classify_tender(reference, upload_token)
List what a bidder must supply for one tender: splits the tender PDFs into clauses, classifies each clause and page with TypeSafe AI's Jev classifier, and groups the results into one requirement per kind (for example key personnel, mandatory site visit, bid bond), with a mandatory flag, the WorkspaceAlberta connector that would collect it, lead time, page numbers and short evidence quotes. Clause and page text is sent to TypeSafe AI (api.typesafe.ai) for classification; WorkspaceAlberta stores nothing beyond the existing private upload bucket for APC files. PDFs only (PDFs inside ZIPs are read); up to 800 pages and 8,000 clauses per call. CanadaBuys: reads the public tender attachments. Alberta APC: the first call returns a private upload link (the same upload flow as process_bid_room); the user downloads the documents with their own APC supplier account and uploads them, then you call again with upload_token. The link expires as before (2 hours). This tool does not delete the uploads, so process_bid_room can use the same upload_token afterwards. Returns markdown followed by the full result as JSON (schema wa.tender_requirements.v1, with tender closing time and posting link). Returns within 140 seconds; a result cut short by a limit is labelled partial. Results are classifier outputs: verify them against the official posting and amendments. Hosted: sign-in and an active workspaceAlberta Pro subscription required.
Eingabe-Schema
{
"type": "object",
"properties": {
"reference": {
"type": "string",
"description": "CanadaBuys or Alberta APC reference number"
},
"upload_token": {
"type": "string",
"description": "For APC only: the upload_token from an earlier classify_tender or process_bid_room result, after the user has uploaded the documents they downloaded from APC."
}
},
"required": [
"reference"
],
"additionalProperties": false
}🟢check_cohere_status
Check whether the optional Cohere Command A+ model integration is configured. Does not call the model.
Eingabe-Schema
{
"type": "object",
"properties": {}
}🟢analyze_contract_with_cohere(reference, business_context, question, max_tokens, profile)
Use Cohere Command A+ to review a CanadaBuys tender and explain fit, risks, and next steps. Hosted: sign-in and an active workspaceAlberta Pro subscription required.
Eingabe-Schema
{
"type": "object",
"properties": {
"reference": {
"type": "string",
"description": "Reference or solicitation number for the tender to analyze"
},
"business_context": {
"type": "string",
"description": "Optional company capabilities or bid context. If omitted, the saved business profile is used."
},
"question": {
"type": "string",
"description": "Optional specific question to ask about the tender"
},
"max_tokens": {
"type": "integer",
"description": "Maximum model response tokens (default 1200, max 2000)",
"default": 1200
},
"profile": {
"type": "object",
"description": "Inline 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.",
"properties": {
"company_name": {
"type": "string",
"description": "Company name"
},
"location": {
"type": "string",
"description": "Where the business is located, e.g. 'Edmonton, Alberta'"
},
"description": {
"type": "string",
"description": "What the business does: products, services, capabilities"
},
"capabilities": {
"type": "array",
"items": {
"type": "string"
},
"description": "Optional explicit capability keywords; derived from description when omitted"
},
"industries": {
"type": "array",
"items": {
"type": "string"
},
"description": "Optional sector labels for any business. Steel, lumber, aluminum, and construction still work. So do software, healthcare, energy, mining, training, or your own wording. Labels rank matches. They do not hide other contracts."
}
}
}
},
"required": [
"reference"
]
}🟢match_industrial_support_programs(description, industry, location, company_name, limit, ...)
Read-only catalog of industrial and tariff support for any Canadian business, including the October 2026 $8.72 billion federal-provincial package and national programs an Alberta firm can ask about: PrairiesCan Regional Tariff Response Initiative, the Strategic Response Fund, the Canada Strong Diversification Fund, BDC Pivot to Grow and its metals envelope, NRCan First and Last Mile Fund, the Critical Minerals Accelerator, and the PSPC Buy Canadian Policy Framework. Ontario-only streams are labeled so an Alberta firm can see they do not apply. workspaceAlberta does not apply for funding or decide eligibility.
Eingabe-Schema
{
"type": "object",
"properties": {
"description": {
"type": "string",
"description": "What the business does. Any sector, in the business's own words."
},
"industry": {
"type": "string",
"description": "Optional sector label, such as software, healthcare, steel, or critical minerals."
},
"location": {
"type": "string",
"description": "Where the business is located, such as Edmonton, Alberta. Empty assumes Alberta."
},
"company_name": {
"type": "string",
"description": "Optional company name for the heading."
},
"limit": {
"type": "integer",
"description": "Maximum programs in the applies section (default 12, max 20).",
"default": 12
},
"profile": {
"type": "object",
"description": "Inline 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.",
"properties": {
"company_name": {
"type": "string",
"description": "Company name"
},
"location": {
"type": "string",
"description": "Where the business is located, e.g. 'Edmonton, Alberta'"
},
"description": {
"type": "string",
"description": "What the business does: products, services, capabilities"
},
"capabilities": {
"type": "array",
"items": {
"type": "string"
},
"description": "Optional explicit capability keywords; derived from description when omitted"
},
"industries": {
"type": "array",
"items": {
"type": "string"
},
"description": "Optional sector labels for any business. Steel, lumber, aluminum, and construction still work. So do software, healthcare, energy, mining, training, or your own wording. Labels rank matches. They do not hide other contracts."
}
}
}
}
}🟡watch_opportunity(reference, note)
Add a CanadaBuys or Alberta APC opportunity to your persistent watchlist, with an optional note. Hosted: sign-in and an active workspaceAlberta Pro subscription required.
Eingabe-Schema
{
"type": "object",
"properties": {
"reference": {
"type": "string",
"description": "Reference number to track"
},
"note": {
"type": "string",
"description": "Optional note, e.g. 'waiting on bonding quote'"
}
},
"required": [
"reference"
]
}🟢list_watchlist
List watched opportunities sorted by closing date, with days remaining and notes. Hosted: sign-in and an active workspaceAlberta Pro subscription required.
Eingabe-Schema
{
"type": "object",
"properties": {}
}🔴unwatch_opportunity(reference)
Remove an opportunity from the watchlist by reference number. Hosted: sign-in and an active workspaceAlberta Pro subscription required.
Eingabe-Schema
{
"type": "object",
"properties": {
"reference": {
"type": "string",
"description": "Reference number to stop tracking"
}
},
"required": [
"reference"
]
}🟢bid_no_bid_scorecard(reference)
Fast deterministic bid/no-bid checklist for one opportunity in any sector: profile fit, runway to closing, region match, Buy Canadian or other domestic-preference flags, and a go/caution/no-go verdict with reasons. No model call. Hosted: sign-in and an active workspaceAlberta Pro subscription required.
Eingabe-Schema
{
"type": "object",
"properties": {
"reference": {
"type": "string",
"description": "CanadaBuys or Alberta APC reference number"
}
},
"required": [
"reference"
]
}Community
Nachweis