Skip to main content
Glama

Process bid documents

process_bid_room

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.

Input Schema

NameRequiredDescriptionDefault
profileNoInline 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.
referenceYesCanadaBuys or Alberta APC reference number
upload_tokenNoFor 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_attachmentsNoMaximum 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_contextNoOptional company capabilities or bid context. If omitted, the saved business profile is used.
apc_document_urlsNoFor 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.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.1/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds context well beyond the annotations: the concrete 145-second wall-clock bound, that large packages may time out, that timeouts must not be treated as completed analyses, the APC two-step upload handshake, privacy/processing locations, and the hosted sign-in plus active subscription requirement. For a non-read-only, open-world tool these are exactly the operational facts an agent needs before invoking.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with what the tool does and the E2B/Cohere pipeline, then the APC special case, then limits and auth. Sentences are dense but each carries distinct operational information; only the privacy-location sentence feels like boilerplate.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description must carry return-value expectations, and it partially does: it says what goes to Cohere and that the first APC call returns a private upload link, plus the timeout envelope. It never describes the shape of a successful result (evidence set, scorecard fields), which is the remaining gap for a six-parameter nested-object tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents all six parameters including upload_token, max_attachments and apc_document_urls. The description adds operational framing for the APC token flow but says nothing about max_attachments=0 notice-only reviews or profile-override behavior that the schema itself carries. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource: it processes a tender's attachments by sending them to E2B and Cohere Parse/Command A+ and returning extracted evidence, keyed by a CanadaBuys or APC reference. That is far more than a restatement of the name. It stops short of naming which sibling to use instead (analyze_contract_with_cohere, classify_tender), so differentiation is only implicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives concrete call conditions: call with a reference, and for Alberta APC expect a first call that returns a private upload link, then a second call with upload_token. It also gives retry guidance ('retry with fewer attachments') and warns a timeout is not a completed analysis. It does not state when to prefer this over analyze_contract_with_cohere or the other analysis siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.