WorkspaceAlberta
FreeNot checkedMCP server for Canadian procurement intelligence, enabling unified search of federal and Alberta tender opportunities, deadline tracking, profile-based matching
About
MCP server for Canadian procurement intelligence, enabling unified search of federal and Alberta tender opportunities, deadline tracking, profile-based matching, daily briefs, and AI-assisted bid analysis.
README
Canadian industrial war production, via Library and Archives Canada.
Getting Started
The hosted MCP server is live and free for browsing — no install, no account, no API key. Point any MCP-capable assistant at it:
https://elbowsupknivesout.warreandvavasour.com/mcp
Cursor, Claude Code, and other HTTP-native clients — add to your MCP config:
{
"mcpServers": {
"workspacealberta": {
"url": "https://elbowsupknivesout.warreandvavasour.com/mcp"
}
}
}
Claude Desktop (no native HTTP transport) — bridge with mcp-remote:
{
"mcpServers": {
"workspacealberta": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://elbowsupknivesout.warreandvavasour.com/mcp"]
}
}
}
Then ask it something a real owner would ask:
- "I run a CWB welding shop in Red Deer — what government work fits my shop right now?"
- "What closes this week? I don't want to miss anything."
- "Give me my morning brief — what fits us, and what's closing soon?"
Run it locally instead (the whole server is pure Python):
python -m pip install -r requirements.txt
python mcp-servers/canadabuys/server.py
Smoke test: python -m unittest tests.test_canadabuys_mcp_smoke. Client config variants live in mcp.json.example; full tool and REST reference in docs/mcp-tool-reference.md.
Canadian AI Security Is Canadian National Security
WorkspaceAlberta is a Canadian procurement intelligence workspace. It connects public tender data to the people who can actually do the work: fabricators, mills, contractors, shops, manufacturers, and the small teams that keep the real economy moving.
The direction is explicit:
- Canadian demand signals: CanadaBuys and Alberta Purchasing Connection in one search surface.
- Canadian AI company: Cohere as the first sovereign-model route.
- Canadian open source model: Command A+
command-a-plus-05-2026, with the W4A4 Hugging Face route available throughCohereLabs/command-a-plus-05-2026-w4a4. - Canadian tools: practical MCP wiring for the procurement sources Canadian firms already need to watch.
- Canadian compute path: designed so sensitive public-sector and industrial workflows can move toward Canadian infrastructure, including Canadian chips and data-centre capacity where those options are available.
The point is not nationalism as decoration. The point is operational independence.
If Canadian companies are going to bid Canadian work, understand Canadian supply chains, and protect Canadian industrial capacity, then the AI layer underneath that work matters.
The Last Mile of Work
AI promised 5X productivity. Most small businesses got a chatbot that writes mediocre marketing copy.
The model is not the whole bottleneck. The connection is.
Wiring up the places where the work lives usually costs money, time, and technical patience a small business does not have. Government tender databases are a perfect example: the work is public, the demand is real, but the discovery process is still awkward enough that good companies miss good opportunities.
WorkspaceAlberta solves the last mile by giving an AI assistant the wiring it needs to search, compare, summarize, and brief public procurement opportunities from inside the workspace where the owner is already working.
The High Level Bridge under construction, Edmonton, c. 1909 — Alberta steel, riveted by hand. City of Edmonton Archives, EA-500-4 (public domain).
What This Actually Does
WorkspaceAlberta is an MCP-first workspace for Canadian procurement.
It now brings together:
- CanadaBuys for federal tender notices
- Alberta Purchasing Connection for Alberta public-sector opportunities
- Cohere Command A+ for optional tender analysis and fit review
- A daily bid brief that summarizes the market, best-fit matches, and deadlines from both sources
Welder at Robin Nodwell Ltd., Calgary, 1963 — from the Provincial Archives of Alberta series "What Alberta Makes Makes Alberta" (PA3324, no known copyright restrictions).
The assistant can:
- search national and Alberta opportunities together
- inspect a posting by reference number
- list what is closing soon
- match opportunities against a saved business profile
- generate a free daily brief for the owner or estimator
- use Cohere Command A+ to review tender fit, risks, requirements, and next actions
This is meant to answer practical questions:
- What work is open right now?
- Which opportunities fit what we actually do?
- What closes soon?
- What should we read first?
- What should we ignore?
The Custom Procurement MCP Server
The custom MCP server is the product.
It is a deployed working endpoint that knows the live public procurement pipeline exposed by CanadaBuys and Alberta Purchasing Connection. It can serve that pipeline back to users through an AI assistant based on what they do, where they work, what they can supply, and what deadlines matter.
The core tools are:
search_opportunitiesfor unified federal and Alberta searchget_opportunity_detailsfor a single posting by reference numberlist_deadlinesfor what is closing soonfind_matching_opportunitiesfor profile-based rankingdaily_bid_brieffor the daily owner/operator summaryanalyze_contract_with_coherefor optional Cohere Command A+ tender reviewprocess_bid_roomfor live E2B attachment extraction and Cohere tool-assisted bid reviewwatch_opportunity/list_watchlistfor a persistent tracking list with closing-date countdownsbid_no_bid_scorecardfor a fast deterministic go/caution/no-go read on any reference
The full tool and REST reference lives in docs/mcp-tool-reference.md; the architecture walkthrough is docs/architecture.md.
MCP is the first-class interface because this is meant to be used by agents. The same procurement core also exposes REST/OpenAPI so other AI tools can hook into the same contract intelligence without needing native MCP support.
Underneath the endpoint is pure Python procurement logic. The data processing, filtering, matching, deadline ranking, and brief generation do not require an LLM. The model layer is added only where judgment helps: risk review, requirements explanation, and bid/no-bid reasoning.
E2B sandboxes are the isolated compute layer for heavier bid-room work: opening tender packages, parsing attachments, extracting compliance requirements, and returning structured bid artifacts without putting unknown user files inside the always-on MCP service. Cohere Command A+ runs inside the short-lived sandbox with read-only evidence tools over the extracted documents. The build plan lives in docs/e2b-bid-room-plan.md, and the business-owner operating diagram lives in docs/bid-room-operating-diagram.md.
Machinist at Canada Oil Tool Manufacturing, Calgary, 1963 — precision work for the energy sector. Provincial Archives of Alberta, PA3318/2 (no known copyright restrictions).
Why This Matters
Get 50% of the population 10% better. Every year. That is generational growth.
Not 10 developers 500% better. That is happening. But it does not scale to the economy.
"How do I save 5 hours a week?" "How do I save $700 a month?"
Those are the real questions. This is how you answer them.
Alberta's steel, lumber, and metals industries represent over 2,500 companies with a combined economic impact exceeding $37 billion annually.
| Sector | Companies | Economic Impact | Jobs Supported |
|---|---|---|---|
| Forestry & Wood Products | 676+ businesses, 40 major mills | $14 billion | 41,400 |
| Fabricated Metal Products | 1,871 establishments | $23.4B manufacturing sector | 16,600 |
| Primary & Machinery Manufacturing | 200+ facilities | Included above | 12,000+ |
What Alberta makes makes Alberta — the pour at Foothills Steel Foundry, Calgary, 1963. Provincial Archives of Alberta, PA3315.1–.3 (no known copyright restrictions).
Behind every one of these companies are dozens of systems that need to talk to each other just to get anything done: quoting software, inventory spreadsheets, accounting packages, project trackers, supplier portals, and government tender databases.
Any tool that helps a fabricator create demand, a mill manufacture more efficiently, or a contractor cut costs has multiplier effects across the entire province:
- $4 billion in forest product exports alone
- $1.6 billion in annual wages paid to forestry workers
- 70 communities across Alberta that depend directly on these industries
- $988 million in tax revenue flowing back to the province
Walter's Saw Mill (1908) and the Alberta Lumber Co.'s Factory (1908), Edmonton — value-added Alberta manufacturing, first edition. City of Edmonton Archives, EA-500-205 and EA-500-290 (public domain).
More contracts won. More jobs kept. More skill developed. More value staying here at home.
Technical Notes
MCP server:
- mcp-servers/canadabuys/server.py
- mcp-servers/canadabuys/server_http.py for hosted StreamableHTTP MCP plus REST/OpenAPI
- procurement_core/service.py for the shared Python procurement core
- procurement_core/e2b_bid_room.py for live E2B bid-room sandbox processing
Smoke test:
- tests/test_canadabuys_mcp_smoke.py
- tests/test_procurement_http_app.py
python scripts/e2b_bid_room_smoke.pyfor a live E2B sandbox test
Configuration:
- AGENTS.md for Codex/OpenClaw guidance
- mcp-servers/canadabuys/README.md for server tools and environment variables
- docs/setup-productization-track.md for the combined WorkspaceAlberta + private
wvsetupsetup track - docs/codex-setup.md for local setup notes
- docs/workspace-alberta-hermes-install.md for the branded Hermes / Raspberry Pi setup draft
Data and model sources:
- CanadaBuys open tender notices
- Alberta Purchasing Connection public opportunity API
- Cohere Command A+ via Cohere API
- CohereLabs Command A+ W4A4 on Hugging Face: https://huggingface.co/CohereLabs/command-a-plus-05-2026-w4a4
Image source notes live in docs/imagery-sources.md.
The museum wall. Top row: crucible pour, Stelco, Hamilton, 1957 (Herb Taylor / Library and Archives Canada, CC BY 2.0); Norwood Foundry crew, Edmonton, 1935 (Provincial Archives of Alberta, A6237); Bawden Machine Co. blacksmith shop, Toronto, c. 1918 (LAC, CC BY 2.0); machinist, Alberta Foundry & Machine Shop, Medicine Hat, c. 1940s (PAA, A10335). Bottom row: grading lumber by hand (Nicholas Morant / LAC, CC BY 4.0); mill interior, Maberly, Ontario, c. 1870 (LAC, CC BY 2.0); Manitoba Bridge & Iron Works, Winnipeg, c. 1914–18 (LAC, CC BY 2.0); Alberta Foundry & Machine Co. lineup, Medicine Hat, c. 1915 (PAA, A10587).
The OPERA Analytics Server
The country is traveling west. Domestic travel to the western provinces is scaling, and the properties hosting those travelers run on systems like OPERA Cloud.
The Warre & Vavasour tourism thesis: in an extreme-AI world, people crave the analog. Real places, real adventures. The premium goes to authentic, place-bound experiences — and AI is invisible wiring, not the product.
The wiring problem looks exactly like procurement's last mile. A hotel's own data lives inside OPERA Cloud, and getting it out for analysis usually means expensive middleware or manual exports. Front-desk managers, revenue people, and owners can't use what they can't reach.
So the repo ships a second MCP server: mcp-servers/opera-analytics/server.py, a read-only analytics data tap for OPERA Cloud Reporting & Analytics Data APIs. A property's own user signs in as themselves — OAuth2 password grant, with credentials from the hotel's own OPERA Cloud Developer Portal. No partner program, no middleware vendor.
It covers 75 analytics subject areas — guest/deposit/AR ledgers, transactions, reservation statistics and pace, managers report, history and forecast, rate codes, profiles, blocks, catering events, housekeeping inventory — through 9 tools:
opera_auth_statusto check the sessionlist_subject_areas/describe_subject_areato see what data existsrun_graphql_query/query_subject_areato pull itexport_to_csv/sync_subject_areato land it locallylist_local_tables/query_local_datato work with what's synced
Data lands in local CSV files and a DuckDB database the team can open in Excel or Power BI, or ask questions about in plain language through any MCP-capable assistant. Read-only by design. Set OPERA_MOCK=1 to try it offline with no credentials; smoke test: python -m unittest tests.test_opera_analytics_smoke. Server docs live in mcp-servers/opera-analytics/README.md.
Tools employees can actually use, from the systems they already have. The same pattern as the procurement work: take an awkward system of record, give people their own data back, charge for outcomes not visibility.
Data sources: Statistics Canada, Innovation Canada, Alberta Forest Products Association, Job Bank Canada
Install WorkspaceAlberta in Claude Desktop, Claude Code & Cursor
unyly install workspacealbertaInstalls into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.
First time? Get the CLI: curl -fsSL https://unyly.org/install | sh
Or configure manually
Run in your terminal:
claude mcp add workspacealberta -- npx -y @warreandvavasour/workspace-albertaStep-by-step: how to install WorkspaceAlberta
FAQ
Is WorkspaceAlberta MCP free?
Yes, WorkspaceAlberta MCP is free — one-click install via Unyly at no cost.
Does WorkspaceAlberta need an API key?
No, WorkspaceAlberta runs without API keys or environment variables.
Is WorkspaceAlberta hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install WorkspaceAlberta in Claude Desktop, Claude Code or Cursor?
Open WorkspaceAlberta on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
Fetch
Web content fetching and conversion for efficient LLM usage.
AWS KB Retrieval
Retrieval from AWS Knowledge Base using Bedrock Agent Runtime.
by modelcontextprotocolSpring AI MCP Server
Provides auto-configuration for setting up an MCP server in Spring Boot applications.
llm-analysis-assistant
A very streamlined mcp client that supports calling and monitoring stdio/sse/streamableHttp, and can also view request responses through the /logs page. It also
by xuzexin-hzCompare WorkspaceAlberta with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All ai MCPs
