workspaceAlberta MCP
A remote MCP server that searches federal (CanadaBuys) and provincial (Alberta Purchasing Connection) government tenders. It allows AI agents to find open opportunities, list closing deadlines, rank postings against business profiles, and generate daily bid briefs. Pro features include reading tender attachments and generating bid/no-bid scorecards.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://elbowsupknivesout.warreandvavasour.com/mcpWhat its tools do
29 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.
Read-only (23)
get_server_guidesearch_contractsget_contract_detailslist_upcoming_deadlinessummarize_contractsfind_opportunitiesget_my_profilesearch_opportunitiesget_opportunity_detailslist_deadlinesfind_matching_opportunitiesdaily_bid_brieffind_business_fitsearch_alberta_opportunitiesget_alberta_opportunity_detailslist_alberta_deadlinessummarize_alberta_opportunitiesfind_alberta_opportunitiescheck_cohere_statusanalyze_contract_with_coherematch_industrial_support_programslist_watchlistbid_no_bid_scorecard
Checks and signals
Each line is separate evidence, not a trust score.
- Passed Endpoint answered the live check ·
- Passed Official MCP Registry namespace is tied to warreandvavasour.com ·
- Passed Endpoint is on the registry namespace domain ·
- Availability 1 of 1 checks passed in 30 days
What you can do with it
- Search for tenders closing in the next 30 days
- List open tenders by trade category
- Generate a daily bid brief for a business
- Analyze tender documents for fit and requirements
Source and maintenance
- Maintenance checked
Protocol and capabilities
- Server
- canadabuys 1.3.0
- MCP protocol negotiated in check
- 2025-11-25
- Tools
- 29 advertised
- Resources
- Not advertised
- Resource templates
- Not advertised
- Prompts
- Not advertised
{
"tools": {
"listChanged": false
}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
29 advertised
get_server_guide — Read the WorkspaceAlberta 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.
{
"type": "object",
"properties": {},
"additionalProperties": false
}{
"title": "Read the WorkspaceAlberta guide",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}search_contracts — Search federal contracts
Legacy: federal CanadaBuys only. Filter by keywords or province. Prefer search_opportunities for combined CanadaBuys and Alberta APC results.
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"default": 10,
"description": "Maximum results (default 10)"
},
"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')"
}
}
}{
"title": "Search federal contracts",
"readOnlyHint": true,
"openWorldHint": true,
"destructiveHint": false
}get_contract_details — Get federal contract details
Legacy: federal CanadaBuys details only, by reference or solicitation number. Prefer get_opportunity_details for federal or Alberta APC tenders.
{
"type": "object",
"required": [
"reference"
],
"properties": {
"reference": {
"type": "string",
"description": "Reference or solicitation number"
}
}
}{
"title": "Get federal contract details",
"readOnlyHint": true,
"openWorldHint": true,
"destructiveHint": false
}list_upcoming_deadlines — List federal contract deadlines
Legacy: federal CanadaBuys closing deadlines only. Prefer list_deadlines for combined CanadaBuys and Alberta APC results.
{
"type": "object",
"properties": {
"days": {
"type": "integer",
"default": 30,
"description": "Show contracts closing within N days (default 30)"
},
"province": {
"type": "string",
"description": "Filter by province"
}
}
}{
"title": "List federal contract deadlines",
"readOnlyHint": true,
"openWorldHint": true,
"destructiveHint": false
}summarize_contracts — Summarize federal contracts
Legacy: summarize federal CanadaBuys contracts only. For combined discovery use search_opportunities or daily_bid_brief; this summary excludes Alberta APC.
{
"type": "object",
"properties": {}
}{
"title": "Summarize federal contracts",
"readOnlyHint": true,
"openWorldHint": true,
"destructiveHint": false
}refresh_data — Refresh federal contract data
Refresh contract data from CanadaBuys.
{
"type": "object",
"properties": {}
}{
"title": "Refresh federal contract data",
"readOnlyHint": false,
"openWorldHint": true,
"destructiveHint": false
}set_business_profile — Save my business profile
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.
{
"type": "object",
"required": [
"description"
],
"properties": {
"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."
},
"company_name": {
"type": "string",
"description": "Your company name"
}
}
}{
"title": "Save my business profile",
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": true
}find_opportunities — Find federal opportunities for my business
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.
{
"type": "object",
"properties": {
"days": {
"type": "integer",
"default": 60,
"description": "Only show contracts closing within N days (default: 60)"
},
"limit": {
"type": "integer",
"default": 15,
"description": "Maximum opportunities to return (default: 15)"
},
"profile": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "Where the business is located, e.g. 'Edmonton, Alberta'"
},
"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."
},
"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"
},
"company_name": {
"type": "string",
"description": "Company name"
}
},
"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."
}
}
}{
"title": "Find federal opportunities for my business",
"readOnlyHint": true,
"openWorldHint": true,
"destructiveHint": false
}get_my_profile — View my business profile
View your current business profile that's being used to match contracts. Hosted: sign-in required; no paid subscription needed.
{
"type": "object",
"properties": {}
}{
"title": "View my business profile",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}search_opportunities — Search procurement opportunities
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.
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"default": 20,
"description": "Maximum combined results (default 20, max 50)"
},
"source": {
"type": "string",
"default": "all",
"description": "all, federal, or alberta"
},
"profile": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "Where the business is located, e.g. 'Edmonton, Alberta'"
},
"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."
},
"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"
},
"company_name": {
"type": "string",
"description": "Company name"
}
},
"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."
},
"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."
},
"keywords": {
"type": "string",
"description": "Search words or phrase"
},
"location": {
"type": "string",
"description": "Where the business works, such as Red Deer, Alberta."
},
"province": {
"type": "string",
"description": "Optional province or delivery region filter"
},
"description": {
"type": "string",
"description": "What the business does, in plain language. When set, fit classification runs before keyword ranking."
},
"company_name": {
"type": "string",
"description": "Optional company name."
}
}
}{
"type": "object",
"properties": {
"kind": {
"type": "string"
},
"count": {
"type": "integer"
},
"warnings": {
"type": "array",
"items": {
"type": "string"
}
},
"opportunities": {
"type": "array",
"items": {
"type": "object",
"properties": {
"gsin": {
"type": "string",
"description": "GSIN code from CanadaBuys, when published"
},
"buyer": {
"type": "string"
},
"title": {
"type": "string"
},
"region": {
"type": "string"
},
"source": {
"type": "string"
},
"unspsc": {
"type": "string",
"description": "UNSPSC code or codes from the source, when published"
},
"closing": {
"type": "string",
"description": "Closing value exactly as the source published it"
},
"category": {
"type": "string"
},
"closes_at": {
"type": "string",
"description": "Closing time as ISO 8601 in Alberta time with UTC offset; empty when unknown"
},
"reference": {
"type": "string"
},
"solicitation": {
"type": "string"
},
"gsin_description": {
"type": "string"
},
"trade_agreements": {
"type": "string"
},
"domestic_policies": {
"type": "array",
"items": {
"type": "string"
},
"description": "Buy Canadian and domestic-preference flags read from the notice"
},
"procurement_method": {
"type": "string"
},
"selection_criteria": {
"type": "string"
},
"unspsc_description": {
"type": "string"
}
}
}
}
}
}{
"title": "Search procurement opportunities",
"readOnlyHint": true,
"openWorldHint": true,
"destructiveHint": false
}get_opportunity_details — Get procurement opportunity details
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.
{
"type": "object",
"required": [
"reference"
],
"properties": {
"reference": {
"type": "string",
"description": "Reference number, such as AB-2026-03908 or a CanadaBuys reference"
}
}
}{
"title": "Get procurement opportunity details",
"readOnlyHint": true,
"openWorldHint": true,
"destructiveHint": false
}list_deadlines — List procurement deadlines
List CanadaBuys and Alberta APC opportunities closing soon.
{
"type": "object",
"properties": {
"days": {
"type": "integer",
"default": 30,
"description": "Show opportunities closing within N days (default 30)"
},
"limit": {
"type": "integer",
"default": 20,
"description": "Maximum combined results (default 20, max 50)"
},
"source": {
"type": "string",
"default": "all",
"description": "all, federal, or alberta"
},
"category": {
"type": "string",
"description": "Optional category filter"
},
"province": {
"type": "string",
"description": "Optional province or delivery region filter"
}
}
}{
"type": "object",
"properties": {
"kind": {
"type": "string"
},
"count": {
"type": "integer"
},
"warnings": {
"type": "array",
"items": {
"type": "string"
}
},
"opportunities": {
"type": "array",
"items": {
"type": "object",
"properties": {
"gsin": {
"type": "string",
"description": "GSIN code from CanadaBuys, when published"
},
"buyer": {
"type": "string"
},
"title": {
"type": "string"
},
"region": {
"type": "string"
},
"source": {
"type": "string"
},
"unspsc": {
"type": "string",
"description": "UNSPSC code or codes from the source, when published"
},
"closing": {
"type": "string",
"description": "Closing value exactly as the source published it"
},
"category": {
"type": "string"
},
"closes_at": {
"type": "string",
"description": "Closing time as ISO 8601 in Alberta time with UTC offset; empty when unknown"
},
"reference": {
"type": "string"
},
"solicitation": {
"type": "string"
},
"gsin_description": {
"type": "string"
},
"trade_agreements": {
"type": "string"
},
"domestic_policies": {
"type": "array",
"items": {
"type": "string"
},
"description": "Buy Canadian and domestic-preference flags read from the notice"
},
"procurement_method": {
"type": "string"
},
"selection_criteria": {
"type": "string"
},
"unspsc_description": {
"type": "string"
}
}
}
}
}
}{
"title": "List procurement deadlines",
"readOnlyHint": true,
"openWorldHint": true,
"destructiveHint": false
}find_matching_opportunities — Match procurement opportunities to my business
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.
{
"type": "object",
"properties": {
"days": {
"type": "integer",
"default": 60,
"description": "Only show opportunities closing within N days (default 60)"
},
"limit": {
"type": "integer",
"default": 15,
"description": "Maximum opportunities to return (default 15, max 30)"
},
"profile": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "Where the business is located, e.g. 'Edmonton, Alberta'"
},
"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."
},
"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"
},
"company_name": {
"type": "string",
"description": "Company name"
}
},
"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."
}
}
}{
"type": "object",
"properties": {
"kind": {
"type": "string"
},
"count": {
"type": "integer"
},
"matches": {
"type": "array",
"items": {
"type": "object",
"properties": {
"gsin": {
"type": "string",
"description": "GSIN code from CanadaBuys, when published"
},
"buyer": {
"type": "string"
},
"score": {
"type": "integer"
},
"title": {
"type": "string"
},
"region": {
"type": "string"
},
"source": {
"type": "string"
},
"unspsc": {
"type": "string",
"description": "UNSPSC code or codes from the source, when published"
},
"closing": {
"type": "string",
"description": "Closing value exactly as the source published it"
},
"reasons": {
"type": "array",
"items": {
"type": "string"
}
},
"category": {
"type": "string"
},
"closes_at": {
"type": "string",
"description": "Closing time as ISO 8601 in Alberta time with UTC offset; empty when unknown"
},
"reference": {
"type": "string"
},
"days_until": {
"type": [
"integer",
"null"
],
"description": "Calendar days to the closing date in Alberta time; 0 means it closes today"
},
"solicitation": {
"type": "string"
},
"gsin_description": {
"type": "string"
},
"trade_agreements": {
"type": "string"
},
"domestic_policies": {
"type": "array",
"items": {
"type": "string"
},
"description": "Buy Canadian and domestic-preference flags read from the notice"
},
"procurement_method": {
"type": "string"
},
"selection_criteria": {
"type": "string"
},
"unspsc_description": {
"type": "string"
}
}
}
},
"warnings": {
"type": "array",
"items": {
"type": "string"
}
}
}
}{
"title": "Match procurement opportunities to my business",
"readOnlyHint": true,
"openWorldHint": true,
"destructiveHint": false
}daily_bid_brief — Get my daily bid brief
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.
{
"type": "object",
"properties": {
"days": {
"type": "integer",
"default": 14,
"description": "Look ahead this many days for matches and deadlines (default 14)"
},
"limit": {
"type": "integer",
"default": 5,
"description": "Maximum items per section (default 5, max 10)"
},
"profile": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "Where the business is located, e.g. 'Edmonton, Alberta'"
},
"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."
},
"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"
},
"company_name": {
"type": "string",
"description": "Company name"
}
},
"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."
}
}
}{
"title": "Get my daily bid brief",
"readOnlyHint": true,
"openWorldHint": true,
"destructiveHint": false
}find_business_fit — Find contracts for a business description
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.
{
"type": "object",
"required": [
"description"
],
"properties": {
"days": {
"type": "integer",
"default": 120,
"description": "Only show notices closing within N days (default 120, max 365)"
},
"limit": {
"type": "integer",
"default": 15,
"description": "Maximum results (default 15, max 50)"
},
"source": {
"type": "string",
"default": "all",
"description": "all, federal, or alberta"
},
"profile": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "Where the business is located, e.g. 'Edmonton, Alberta'"
},
"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."
},
"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"
},
"company_name": {
"type": "string",
"description": "Company name"
}
},
"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."
},
"category": {
"type": "string",
"description": "Optional category filter"
},
"location": {
"type": "string",
"description": "Where the business works, such as Red Deer, Alberta."
},
"province": {
"type": "string",
"description": "Optional province or delivery region filter"
},
"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."
},
"company_name": {
"type": "string",
"description": "Optional company name for the heading."
}
}
}{
"type": "object",
"properties": {
"kind": {
"type": "string"
},
"count": {
"type": "integer"
},
"warnings": {
"type": "array",
"items": {
"type": "string"
}
},
"opportunities": {
"type": "array",
"items": {
"type": "object",
"properties": {
"gsin": {
"type": "string",
"description": "GSIN code from CanadaBuys, when published"
},
"buyer": {
"type": "string"
},
"title": {
"type": "string"
},
"region": {
"type": "string"
},
"source": {
"type": "string"
},
"unspsc": {
"type": "string",
"description": "UNSPSC code or codes from the source, when published"
},
"closing": {
"type": "string",
"description": "Closing value exactly as the source published it"
},
"category": {
"type": "string"
},
"closes_at": {
"type": "string",
"description": "Closing time as ISO 8601 in Alberta time with UTC offset; empty when unknown"
},
"reference": {
"type": "string"
},
"solicitation": {
"type": "string"
},
"gsin_description": {
"type": "string"
},
"trade_agreements": {
"type": "string"
},
"domestic_policies": {
"type": "array",
"items": {
"type": "string"
},
"description": "Buy Canadian and domestic-preference flags read from the notice"
},
"procurement_method": {
"type": "string"
},
"selection_criteria": {
"type": "string"
},
"unspsc_description": {
"type": "string"
}
}
}
}
}
}{
"title": "Find contracts for a business description",
"readOnlyHint": true,
"openWorldHint": true,
"destructiveHint": false
}search_alberta_opportunities — Search Alberta procurement opportunities
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.
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"default": 10,
"description": "Maximum results (default 10, max 50)"
},
"status": {
"type": "string",
"default": "OPEN",
"description": "APC status code (default OPEN)"
},
"category": {
"type": "string",
"description": "Optional category: services, goods, or construction"
},
"keywords": {
"type": "string",
"description": "Search words or phrase"
}
}
}{
"title": "Search Alberta procurement opportunities",
"readOnlyHint": true,
"openWorldHint": true,
"destructiveHint": false
}get_alberta_opportunity_details — Get Alberta procurement opportunity details
Get full Alberta Purchasing Connection details by reference number, such as AB-2026-03908.
{
"type": "object",
"required": [
"reference"
],
"properties": {
"reference": {
"type": "string",
"description": "APC reference number"
}
}
}{
"title": "Get Alberta procurement opportunity details",
"readOnlyHint": true,
"openWorldHint": true,
"destructiveHint": false
}list_alberta_deadlines — List Alberta procurement deadlines
List open Alberta Purchasing Connection opportunities closing soon.
{
"type": "object",
"properties": {
"days": {
"type": "integer",
"default": 30,
"description": "Show opportunities closing within N days (default 30)"
},
"limit": {
"type": "integer",
"default": 20,
"description": "Maximum results (default 20, max 50)"
},
"category": {
"type": "string",
"description": "Optional category: services, goods, or construction"
}
}
}{
"title": "List Alberta procurement deadlines",
"readOnlyHint": true,
"openWorldHint": true,
"destructiveHint": false
}summarize_alberta_opportunities — Summarize Alberta procurement opportunities
Summarize current open Alberta Purchasing Connection opportunities by category.
{
"type": "object",
"properties": {}
}{
"title": "Summarize Alberta procurement opportunities",
"readOnlyHint": true,
"openWorldHint": true,
"destructiveHint": false
}find_alberta_opportunities — Find Alberta opportunities for my business
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.
{
"type": "object",
"properties": {
"days": {
"type": "integer",
"default": 60,
"description": "Only show opportunities closing within N days (default: 60)"
},
"limit": {
"type": "integer",
"default": 15,
"description": "Maximum opportunities to return (default: 15)"
},
"profile": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "Where the business is located, e.g. 'Edmonton, Alberta'"
},
"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."
},
"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"
},
"company_name": {
"type": "string",
"description": "Company name"
}
},
"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."
}
}
}{
"title": "Find Alberta opportunities for my business",
"readOnlyHint": true,
"openWorldHint": true,
"destructiveHint": false
}process_bid_room — Process bid documents
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.
{
"type": "object",
"required": [
"reference"
],
"properties": {
"profile": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "Where the business is located, e.g. 'Edmonton, Alberta'"
},
"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."
},
"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"
},
"company_name": {
"type": "string",
"description": "Company name"
}
},
"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."
},
"reference": {
"type": "string",
"description": "CanadaBuys or Alberta APC reference number"
},
"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."
},
"max_attachments": {
"type": "integer",
"default": 5,
"maximum": 5,
"minimum": 0,
"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."
},
"business_context": {
"type": "string",
"description": "Optional company capabilities or bid context. If omitted, the saved business profile is used."
},
"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.",
"maxProperties": 5,
"additionalProperties": {
"type": "string",
"format": "uri"
}
}
},
"additionalProperties": false
}{
"title": "Process bid documents",
"readOnlyHint": false,
"openWorldHint": true,
"destructiveHint": false
}classify_tender — List the bidder requirements in a tender
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.
{
"type": "object",
"required": [
"reference"
],
"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."
}
},
"additionalProperties": false
}{
"title": "List the bidder requirements in a tender",
"readOnlyHint": false,
"openWorldHint": true,
"destructiveHint": false
}check_cohere_status — Check Cohere analysis availability
Check whether the optional Cohere Command A+ model integration is configured. Does not call the model.
{
"type": "object",
"properties": {}
}{
"title": "Check Cohere analysis availability",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}analyze_contract_with_cohere — Analyze a contract with Cohere
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.
{
"type": "object",
"required": [
"reference"
],
"properties": {
"profile": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "Where the business is located, e.g. 'Edmonton, Alberta'"
},
"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."
},
"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"
},
"company_name": {
"type": "string",
"description": "Company name"
}
},
"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."
},
"question": {
"type": "string",
"description": "Optional specific question to ask about the tender"
},
"reference": {
"type": "string",
"description": "Reference or solicitation number for the tender to analyze"
},
"max_tokens": {
"type": "integer",
"default": 1200,
"description": "Maximum model response tokens (default 1200, max 2000)"
},
"business_context": {
"type": "string",
"description": "Optional company capabilities or bid context. If omitted, the saved business profile is used."
}
}
}{
"title": "Analyze a contract with Cohere",
"readOnlyHint": true,
"openWorldHint": true,
"destructiveHint": false
}match_industrial_support_programs — Match industrial and tariff support
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.
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"default": 12,
"description": "Maximum programs in the applies section (default 12, max 20)."
},
"profile": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "Where the business is located, e.g. 'Edmonton, Alberta'"
},
"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."
},
"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"
},
"company_name": {
"type": "string",
"description": "Company name"
}
},
"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."
},
"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."
},
"description": {
"type": "string",
"description": "What the business does. Any sector, in the business's own words."
},
"company_name": {
"type": "string",
"description": "Optional company name for the heading."
}
}
}{
"title": "Match industrial and tariff support",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}watch_opportunity — Add an opportunity to my watchlist
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.
{
"type": "object",
"required": [
"reference"
],
"properties": {
"note": {
"type": "string",
"description": "Optional note, e.g. 'waiting on bonding quote'"
},
"reference": {
"type": "string",
"description": "Reference number to track"
}
}
}{
"title": "Add an opportunity to my watchlist",
"readOnlyHint": false,
"openWorldHint": true,
"destructiveHint": false
}list_watchlist — View my opportunity watchlist
List watched opportunities sorted by closing date, with days remaining and notes. Hosted: sign-in and an active workspaceAlberta Pro subscription required.
{
"type": "object",
"properties": {}
}{
"title": "View my opportunity watchlist",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}unwatch_opportunity — Remove an opportunity from my watchlist
Remove an opportunity from the watchlist by reference number. Hosted: sign-in and an active workspaceAlberta Pro subscription required.
{
"type": "object",
"required": [
"reference"
],
"properties": {
"reference": {
"type": "string",
"description": "Reference number to stop tracking"
}
}
}{
"title": "Remove an opportunity from my watchlist",
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": true
}bid_no_bid_scorecard — Assess whether to bid
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.
{
"type": "object",
"required": [
"reference"
],
"properties": {
"reference": {
"type": "string",
"description": "CanadaBuys or Alberta APC reference number"
}
}
}{
"title": "Assess whether to bid",
"readOnlyHint": true,
"openWorldHint": true,
"destructiveHint": false
}Prompts
Not advertised
Resources
Not advertised
90-day uptime
A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.
- 2026-11-07: 1 of 1 checks answered
30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 597 ms
- 95th percentile latency
- 597 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 597 ms · metadata changed · 29 tool(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http workspacealberta-mcp https://elbowsupknivesout.warreandvavasour.com/mcpCodex
codex mcp add workspacealberta-mcp --url https://elbowsupknivesout.warreandvavasour.com/mcpCursor
{
"mcpServers": {
"workspacealberta-mcp": {
"url": "https://elbowsupknivesout.warreandvavasour.com/mcp"
}
}
}Cline
{
"mcpServers": {
"workspacealberta-mcp": {
"type": "streamableHttp",
"url": "https://elbowsupknivesout.warreandvavasour.com/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"workspacealberta-mcp": {
"type": "http",
"url": "https://elbowsupknivesout.warreandvavasour.com/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http workspacealberta-mcp https://elbowsupknivesout.warreandvavasour.com/mcpClaude Desktop
https://elbowsupknivesout.warreandvavasour.com/mcpWindsurf
{
"mcpServers": {
"workspacealberta-mcp": {
"serverUrl": "https://elbowsupknivesout.warreandvavasour.com/mcp"
}
}
}Let your agent find its tools
Find servers like workspaceAlberta MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.
Other data and analytics servers
Do you run workspaceAlberta MCP?
Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.