workspace-alberta

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

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
89%
Integridad del esquema
77%
Calidad de los nombres
95%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Hallazgos (4)

  • LOWTool 'refresh_data' description lacks action verben refresh_data
  • LOWTool 'get_my_profile' description lacks action verben get_my_profile
  • LOWTool 'get_alberta_opportunity_details' name length outside 3-30 rangeen get_alberta_opportunity_details
  • LOWTool 'summarize_alberta_opportunities' name length outside 3-30 rangeen summarize_alberta_opportunities

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~4,180Tokens (definiciones de herramientas)
~1.4 KBTamaño de respuesta típico
Impacto significativo en la atención (3.27% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

{
  "mcpServers": {
    "workspace-alberta": {
      "command": "npx",
      "args": [
        "@warreandvavasour/workspace-alberta"
      ]
    }
  }
}

Paquetes ejecutables

npm@warreandvavasour/workspace-alberta0.1.1stdio

Puntos de conexión remotos

https://elbowsupknivesout.warreandvavasour.com/mcpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (26)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢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.

Esquema de entrada

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
🟢search_contracts(keywords, province, limit)

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

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "reference": {
      "type": "string",
      "description": "Reference or solicitation number"
    }
  },
  "required": [
    "reference"
  ]
}
🟢list_upcoming_deadlines(days, province)

List contracts with upcoming closing deadlines.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "type": "object",
  "properties": {}
}
⚪refresh_data

Refresh contract data from CanadaBuys.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "type": "object",
  "properties": {}
}
🟢search_opportunities(keywords, source, province, category, limit)

Search CanadaBuys and Alberta Purchasing Connection together.

Esquema de entrada

{
  "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
    }
  }
}

Esquema de salida

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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
    }
  }
}

Esquema de salida

{
  "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.

Esquema de entrada

{
  "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"
        }
      }
    }
  }
}

Esquema de salida

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "type": "object",
  "properties": {}
}
🔴unwatch_opportunity(reference)

Remove an opportunity from the watchlist by reference number.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "reference": {
      "type": "string",
      "description": "CanadaBuys or Alberta APC reference number"
    }
  },
  "required": [
    "reference"
  ]
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada26 herramientas
verificadoversión no registrada25 herramientas
verificadoversión no registrada25 herramientas