get_supplier_rfq
Read an approved RFQ and its normalized buyer line items. Requires a supplier API key.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| match_id | Yes |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| rfq | Yes |
Read an approved RFQ and its normalized buyer line items. Requires a supplier API key.
| Name | Required | Description | Default |
|---|---|---|---|
| match_id | Yes |
| Name | Required | Description | Default |
|---|---|---|---|
| rfq | Yes |
Changes observed during successful MCP inspections.
Output schema / properties / rfq / properties / artifactsRemoved value: -{
- "items": {
- "additionalProperties": {},
- "properties": {
- "artifact_type": {
- "type": "string"
- },
- "checksum_sha256": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- },
- "data_classification": {
- "type": "string"
- },
- "disclosure_status": {
- "type": "string"
- },
- "id": {
- "minLength": 1,
- "type": "string"
- },
- "media_type": {
- "type": "string"
- },
- "original_filename": {
- "type": "string"
- },
- "project_id": {
- "minLength": 1,
- "type": "string"
- },
- "purpose": {
- "type": "string"
- },
- "scan_status": {
- "type": "string"
- },
- "size_bytes": {
- "anyOf": [
- {
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- },
- {
- "type": "null"
- }
- ]
- }
- },
- "required": [
- "id",
- "original_filename",
- "media_type",
- "artifact_type",
- "purpose",
- "data_classification",
- "scan_status"
- ],
- "type": "object"
- },
- "type": "array"
-}Output schema / properties / rfq / properties / categoryRemoved value: -{
- "type": "string"
-}Output schema / properties / rfq / properties / demand_laneRemoved value: -{
- "type": "string"
-}Output schema / properties / rfq / properties / dispatchesRemoved value: -{
- "items": {
- "additionalProperties": {},
- "properties": {
- "channel": {
- "type": "string"
- },
- "id": {
- "minLength": 1,
- "type": "string"
- },
- "status": {
- "type": "string"
- },
- "supplier_id": {
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "id",
- "supplier_id",
- "channel",
- "status"
- ],
- "type": "object"
- },
- "type": "array"
-}Output schema / properties / rfq / properties / expires_atAdded value: +{
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+}Output schema / properties / rfq / properties / idRemoved value: -{
- "minLength": 1,
- "type": "string"
-}Output schema / properties / rfq / properties / itemsRemoved value: -{
- "items": {
- "additionalProperties": {},
- "properties": {
- "description": {
- "type": "string"
- },
- "id": {
- "minLength": 1,
- "type": "string"
- },
- "quantity": {
- "type": "number"
- },
- "unit": {
- "type": "string"
- }
- },
- "required": [
- "id",
- "description",
- "quantity",
- "unit"
- ],
- "type": "object"
- },
- "type": "array"
-}Output schema / properties / rfq / properties / match_idAdded value: +{
+ "minLength": 1,
+ "type": "string"
+}Output schema / properties / rfq / properties / matchesRemoved value: -{
- "items": {
- "additionalProperties": {},
- "properties": {
- "id": {
- "minLength": 1,
- "type": "string"
- },
- "match_reasons": {
- "items": {},
- "type": "array"
- },
- "status": {
- "type": "string"
- },
- "supplier_id": {
- "minLength": 1,
- "type": "string"
- },
- "supplier_name": {
- "type": "string"
- }
- },
- "required": [
- "id",
- "supplier_id",
- "status"
- ],
- "type": "object"
- },
- "type": "array"
-}Output schema / properties / rfq / properties / messagesAdded value: +{
+ "items": {
+ "additionalProperties": {},
+ "properties": {
+ "body": {
+ "type": "string"
+ },
+ "id": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "message_type": {
+ "type": "string"
+ },
+ "sender_type": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "sender_type",
+ "message_type",
+ "body"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+}Output schema / properties / rfq / properties / permitted_artifactsAdded value: +{
+ "items": {
+ "additionalProperties": {},
+ "properties": {
+ "artifact_type": {
+ "type": "string"
+ },
+ "content_url": {
+ "type": "string"
+ },
+ "id": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "media_type": {
+ "type": "string"
+ },
+ "original_filename": {
+ "type": "string"
+ },
+ "purpose": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "original_filename",
+ "media_type",
+ "artifact_type",
+ "purpose",
+ "content_url"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+}Output schema / properties / rfq / properties / project_idRemoved value: -{
- "anyOf": [
- {
- "minLength": 1,
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
-}Output schema / properties / rfq / properties / quotesAdded value: +{
+ "items": {
+ "additionalProperties": {},
+ "properties": {
+ "currency": {
+ "type": "string"
+ },
+ "id": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "status": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "status",
+ "currency"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+}Output schema / properties / rfq / properties / requestAdded value: +{
+ "additionalProperties": {},
+ "properties": {
+ "category": {
+ "type": "string"
+ },
+ "id": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "items": {
+ "items": {
+ "additionalProperties": {},
+ "properties": {
+ "description": {
+ "type": "string"
+ },
+ "id": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "quantity": {
+ "type": "number"
+ },
+ "unit": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "description",
+ "quantity",
+ "unit"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "workflow_status": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "category",
+ "workflow_status",
+ "items"
+ ],
+ "type": "object"
+}Output schema / properties / rfq / properties / response_actionsAdded value: +{
+ "additionalProperties": false,
+ "properties": {
+ "clarify": {
+ "type": "string"
+ },
+ "decline": {
+ "type": "string"
+ },
+ "quote": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "clarify",
+ "quote",
+ "decline"
+ ],
+ "type": "object"
+}Output schema / properties / rfq / properties / statusRemoved value: -{
- "type": "string"
-}Output schema / properties / rfq / properties / supplierAdded value: +{
+ "additionalProperties": {},
+ "properties": {
+ "id": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "name"
+ ],
+ "type": "object"
+}Output schema / properties / rfq / properties / workflow_statusRemoved value: -{
- "type": "string"
-}Output schema / properties / rfq / requiredPrevious value: -[
- "id",
- "category",
- "status"
-]New value: +[
+ "supplier",
+ "match_id",
+ "request",
+ "permitted_artifacts",
+ "messages",
+ "quotes",
+ "response_actions"
+]Output schema / properties / sourcing_requestRemoved value: -{
- "additionalProperties": {},
- "properties": {
- "artifacts": {
- "items": {
- "additionalProperties": {},
- "properties": {
- "artifact_type": {
- "type": "string"
- },
- "checksum_sha256": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- },
- "data_classification": {
- "type": "string"
- },
- "disclosure_status": {
- "type": "string"
- },
- "id": {
- "minLength": 1,
- "type": "string"
- },
- "media_type": {
- "type": "string"
- },
- "original_filename": {
- "type": "string"
- },
- "project_id": {
- "minLength": 1,
- "type": "string"
- },
- "purpose": {
- "type": "string"
- },
- "scan_status": {
- "type": "string"
- },
- "size_bytes": {
- "anyOf": [
- {
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- },
- {
- "type": "null"
- }
- ]
- }
- },
- "required": [
- "id",
- "original_filename",
- "media_type",
- "artifact_type",
- "purpose",
- "data_classification",
- "scan_status"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "category": {
- "type": "string"
- },
- "demand_lane": {
- "type": "string"
- },
- "dispatches": {
- "items": {
- "additionalProperties": {},
- "properties": {
- "channel": {
- "type": "string"
- },
- "id": {
- "minLength": 1,
- "type": "string"
- },
- "status": {
- "type": "string"
- },
- "supplier_id": {
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "id",
- "supplier_id",
- "channel",
- "status"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "id": {
- "minLength": 1,
- "type": "string"
- },
- "items": {
- "items": {
- "additionalProperties": {},
- "properties": {
- "description": {
- "type": "string"
- },
- "id": {
- "minLength": 1,
- "type": "string"
- },
- "quantity": {
- "type": "number"
- },
- "unit": {
- "type": "string"
- }
- },
- "required": [
- "id",
- "description",
- "quantity",
- "unit"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "matches": {
- "items": {
- "additionalProperties": {},
- "properties": {
- "id": {
- "minLength": 1,
- "type": "string"
- },
- "match_reasons": {
- "items": {},
- "type": "array"
- },
- "status": {
- "type": "string"
- },
- "supplier_id": {
- "minLength": 1,
- "type": "string"
- },
- "supplier_name": {
- "type": "string"
- }
- },
- "required": [
- "id",
- "supplier_id",
- "status"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "project_id": {
- "anyOf": [
- {
- "minLength": 1,
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- },
- "status": {
- "type": "string"
- },
- "workflow_status": {
- "type": "string"
- }
- },
- "required": [
- "id",
- "category",
- "status"
- ],
- "type": "object"
-}Output schema / requiredAdded value: +[
+ "rfq"
+]Output schema / (root)Previous value: -nullNew value: +{
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "additionalProperties": {},
+ "properties": {
+ "rfq": {
+ "additionalProperties": {},
+ "properties": {
+ "artifacts": {
+ "items": {
+ "additionalProperties": {},
+ "properties": {
+ "artifact_type": {
+ "type": "string"
+ },
+ "checksum_sha256": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "data_classification": {
+ "type": "string"
+ },
+ "disclosure_status": {
+ "type": "string"
+ },
+ "id": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "media_type": {
+ "type": "string"
+ },
+ "original_filename": {
+ "type": "string"
+ },
+ "project_id": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "purpose": {
+ "type": "string"
+ },
+ "scan_status": {
+ "type": "string"
+ },
+ "size_bytes": {
+ "anyOf": [
+ {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [
+ "id",
+ "original_filename",
+ "media_type",
+ "artifact_type",
+ "purpose",
+ "data_classification",
+ "scan_status"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "category": {
+ "type": "string"
+ },
+ "demand_lane": {
+ "type": "string"
+ },
+ "dispatches": {
+ "items": {
+ "additionalProperties": {},
+ "properties": {
+ "channel": {
+ "type": "string"
+ },
+ "id": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "status": {
+ "type": "string"
+ },
+ "supplier_id": {
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "supplier_id",
+ "channel",
+ "status"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "id": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "items": {
+ "items": {
+ "additionalProperties": {},
+ "properties": {
+ "description": {
+ "type": "string"
+ },
+ "id": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "quantity": {
+ "type": "number"
+ },
+ "unit": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "description",
+ "quantity",
+ "unit"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "matches": {
+ "items": {
+ "additionalProperties": {},
+ "properties": {
+ "id": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "match_reasons": {
+ "items": {},
+ "type": "array"
+ },
+ "status": {
+ "type": "string"
+ },
+ "supplier_id": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "supplier_name": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "supplier_id",
+ "status"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "project_id": {
+ "anyOf": [
+ {
+ "minLength": 1,
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "status": {
+ "type": "string"
+ },
+ "workflow_status": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "category",
+ "status"
+ ],
+ "type": "object"
+ },
+ "sourcing_request": {
+ "additionalProperties": {},
+ "properties": {
+ "artifacts": {
+ "items": {
+ "additionalProperties": {},
+ "properties": {
+ "artifact_type": {
+ "type": "string"
+ },
+ "checksum_sha256": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "data_classification": {
+ "type": "string"
+ },
+ "disclosure_status": {
+ "type": "string"
+ },
+ "id": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "media_type": {
+ "type": "string"
+ },
+ "original_filename": {
+ "type": "string"
+ },
+ "project_id": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "purpose": {
+ "type": "string"
+ },
+ "scan_status": {
+ "type": "string"
+ },
+ "size_bytes": {
+ "anyOf": [
+ {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [
+ "id",
+ "original_filename",
+ "media_type",
+ "artifact_type",
+ "purpose",
+ "data_classification",
+ "scan_status"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "category": {
+ "type": "string"
+ },
+ "demand_lane": {
+ "type": "string"
+ },
+ "dispatches": {
+ "items": {
+ "additionalProperties": {},
+ "properties": {
+ "channel": {
+ "type": "string"
+ },
+ "id": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "status": {
+ "type": "string"
+ },
+ "supplier_id": {
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "supplier_id",
+ "channel",
+ "status"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "id": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "items": {
+ "items": {
+ "additionalProperties": {},
+ "properties": {
+ "description": {
+ "type": "string"
+ },
+ "id": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "quantity": {
+ "type": "number"
+ },
+ "unit": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "description",
+ "quantity",
+ "unit"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "matches": {
+ "items": {
+ "additionalProperties": {},
+ "properties": {
+ "id": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "match_reasons": {
+ "items": {},
+ "type": "array"
+ },
+ "status": {
+ "type": "string"
+ },
+ "supplier_id": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "supplier_name": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "supplier_id",
+ "status"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "project_id": {
+ "anyOf": [
+ {
+ "minLength": 1,
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "status": {
+ "type": "string"
+ },
+ "workflow_status": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "category",
+ "status"
+ ],
+ "type": "object"
+ }
+ },
+ "type": "object"
+}Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, and non-destructive behavior. The description adds the authentication requirement (supplier API key) and the restriction to approved RFQs, plus the note about normalized buyer line items. These are useful behavioral details beyond the annotations, and there is no contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences, front-loaded with the core action and then the key prerequisite. Every word contributes value, with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple nature (one parameter, no nested objects), the presence of an output schema, and strong annotations covering safety, the description is adequate. It covers the purpose, scope (approved RFQ), and authentication requirement. It omits error handling or pagination, but for a simple read operation, this is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema only provides the parameter name (match_id) and pattern, with no description (0% coverage). The description adds meaning by implying that match_id identifies an approved RFQ, and the requirement for a supplier API key introduces an additional constraint not present in the schema. This is adequate for a single-parameter tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Read') and the resource ('an approved RFQ and its normalized buyer line items'), which is specific and distinguishes it from sibling tools like list_supplier_rfqs (which lists multiple RFQs) and decline_supplier_rfq (which modifies an RFQ).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage: it should be used when a specific RFQ (identified by match_id) needs to be read, and it requires a supplier API key. It does not explicitly contrast with list_supplier_rfqs, but the context is clear enough. No explicit exclusions are given, but the scope to 'approved' RFQs provides a conditional.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.