workspace-alberta
Canadian procurement intelligence: CanadaBuys and Alberta tenders, ranked for your shop.
我该使用它吗
质量与安全性
发现(4)
- LOW在 refresh_data 中
- LOW在 get_my_profile 中
- LOW在 get_alberta_opportunity_details 中
- LOW在 summarize_alberta_opportunities 中
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"workspace-alberta": {
"command": "npx",
"args": [
"@warreandvavasour/workspace-alberta"
]
}
}
}可运行的软件包
0.1.1stdio远程端点
https://elbowsupknivesout.warreandvavasour.com/mcpstreamable-http它能做什么
工具清单
工具(26)
🟢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.
输入模式
{
"type": "object",
"properties": {},
"additionalProperties": false
}🟢search_contracts(keywords, province, limit)
Search Canadian federal government contracts. Filter by keywords, province, or status.
输入模式
{
"type": "object",
"properties": {
"keywords": {
"type": "string",
"description": "Search keywords (e.g., 'steel', 'construction', 'IT services')"
},
"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)
Get full details of a contract by reference or solicitation number.
输入模式
{
"type": "object",
"properties": {
"reference": {
"type": "string",
"description": "Reference or solicitation number"
}
},
"required": [
"reference"
]
}🟢list_upcoming_deadlines(days, province)
List contracts with upcoming closing deadlines.
输入模式
{
"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
Get a summary of available contracts.
输入模式
{
"type": "object",
"properties": {}
}⚪refresh_data
Refresh contract data from CanadaBuys.
输入模式
{
"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.
输入模式
{
"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)
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.
输入模式
{
"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 industries such as steel, lumber, aluminum, construction"
}
}
}
}
}🟢get_my_profile
View your current business profile that's being used to match contracts.
输入模式
{
"type": "object",
"properties": {}
}🟢search_opportunities(keywords, source, province, category, limit)
Search CanadaBuys and Alberta Purchasing Connection together.
输入模式
{
"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 such as services, goods, construction, steel, lumber"
},
"limit": {
"type": "integer",
"description": "Maximum combined results (default 20, max 50)",
"default": 20
}
}
}输出模式
{
"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"
},
"region": {
"type": "string"
},
"solicitation": {
"type": "string"
}
}
}
}
}
}🟢get_opportunity_details(reference)
Get details for a federal CanadaBuys or Alberta APC opportunity by reference number.
输入模式
{
"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.
输入模式
{
"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
}
}
}输出模式
{
"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"
},
"region": {
"type": "string"
},
"solicitation": {
"type": "string"
}
}
}
}
}
}🟢find_matching_opportunities(days, limit, profile)
Rank CanadaBuys and Alberta APC opportunities against a business profile. Pass an inline `profile` to describe the business per call.
输入模式
{
"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 industries such as steel, lumber, aluminum, construction"
}
}
}
}
}输出模式
{
"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"
},
"region": {
"type": "string"
},
"solicitation": {
"type": "string"
},
"score": {
"type": "integer"
},
"days_until": {
"type": [
"integer",
"null"
]
},
"reasons": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
}
}
}🟢daily_bid_brief(days, limit, profile)
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.
输入模式
{
"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 industries such as steel, lumber, aluminum, construction"
}
}
}
}
}🟢search_alberta_opportunities(keywords, category, status, limit)
Search Alberta Purchasing Connection opportunities from Alberta public-sector buyers.
输入模式
{
"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.
输入模式
{
"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.
输入模式
{
"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.
输入模式
{
"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.
输入模式
{
"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 industries such as steel, lumber, aluminum, construction"
}
}
}
}
}🟢process_bid_room(reference, business_context, max_attachments, timeout_seconds, command_timeout_seconds, ...)
Use an E2B sandbox to process tender attachments: Cohere Parse turns PDF/image files into markdown, then Command A+ reviews the evidence inside the sandbox.
输入模式
{
"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 direct attachments to process (default 5, max 5)",
"default": 5
},
"timeout_seconds": {
"type": "integer",
"description": "E2B sandbox timeout in seconds (default 900)",
"default": 900
},
"command_timeout_seconds": {
"type": "integer",
"description": "Sandbox command timeout in seconds (default 420)",
"default": 420
},
"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 industries such as steel, lumber, aluminum, construction"
}
}
}
},
"required": [
"reference"
]
}🟢check_cohere_status
Check whether the optional Cohere Command A+ model integration is configured. Does not call the model.
输入模式
{
"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.
输入模式
{
"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 industries such as steel, lumber, aluminum, construction"
}
}
}
},
"required": [
"reference"
]
}🟡watch_opportunity(reference, note)
Add a CanadaBuys or Alberta APC opportunity to your persistent watchlist, with an optional note.
输入模式
{
"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.
输入模式
{
"type": "object",
"properties": {}
}🔴unwatch_opportunity(reference)
Remove an opportunity from the watchlist by reference number.
输入模式
{
"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: profile fit, runway to closing, region match, and a go/caution/no-go verdict with reasons. No model call.
输入模式
{
"type": "object",
"properties": {
"reference": {
"type": "string",
"description": "CanadaBuys or Alberta APC reference number"
}
},
"required": [
"reference"
]
}社区
证据