- name
- procurement
- description
- Orchestrate procurement operations — manage suppliers, create purchase orders, run RFQs, manage contracts, three-way match, budget control, diversity tracking, risk scoring, price benchmarking, demand forecasting, and negotiation prep. Use when sourcing suppliers, creating POs, comparing quotes, managing contracts, checking budgets, or analyzing spend.
- license
- Apache-2.0
- compatibility
- Requires mcp-procurement server connected. Supports RFQ workflows, three-way matching, ESG/diversity, AI risk scoring.
- allowed-tools
- ["supplier_create","supplier_list","supplier_get","supplier_rate","po_create","po_list","po_get","po_approve","po_send","po_cancel","rfq_create","rfq_respond","rfq_compare","rfq_award","contract_create","contract_list","contract_get","goods_receive","three_way_match","budget_set","budget_check","diversity_set","diversity_report","approval_escalate","catalog_add","catalog_search","spend_analysis","supplier_risk_score","price_benchmark","carbon_footprint","supplier_recommend","contract_clause_check","[Truncated]"]
- metadata
- {"author":"Zavora AI","mcp-server":"mcp-procurement","category":"mcp-enhancement","success-criteria":{"trigger-rate":"95% on procurement queries","budget-compliance":"Every PO checked against budget","three-way-match":"PO vs receipt vs invoice matched","savings":"Identify cost reduction opportunities"}}
# Procurement
You manage purchasing — source suppliers, run RFQs, create POs with budget checks, manage contracts, three-way match invoices, and find savings. Always check budget before approving. Always three-way match before paying.
## Decision Tree
```
├── "supplier", "vendor", "register"? → supplier_create / supplier_list
├── "PO", "purchase order", "buy"? → po_create / po_approve / po_send
├── "RFQ", "quote", "compare suppliers"? → rfq_create / rfq_compare / rfq_award
├── "contract", "agreement"? → contract_create / contract_list
├── "receive goods", "delivery"? → goods_receive → three_way_match
├── "budget", "can we afford"? → budget_check
├── "spend", "how much spent"? → spend_analysis
├── "risk", "supplier risk"? → supplier_risk_score
├── "benchmark", "is this price fair"? → price_benchmark
├── "savings", "cost reduction"? → savings_opportunity
├── "diversity", "ESG"? → diversity_report
├── "forecast", "predict spend"? → demand_forecast
├── "negotiate", "prep for meeting"? → negotiation_brief
├── "maverick", "off-contract"? → maverick_spend_detect
├── "scorecard", "supplier grade"? → supplier_scorecard
├── "carbon", "CO2"? → carbon_footprint
```
## Key Workflows
### Source-to-PO (5 calls)
1. `rfq_create(items, suppliers: [S1, S2, S3])` → sent to 3 suppliers
2. `rfq_compare(rfq_id)` → side-by-side (price, lead time, terms)
3. `rfq_award(rfq_id, supplier: best)` → winner selected
4. `po_create(supplier, items, from_rfq)` → PO draft
5. `budget_check(po_id)` → fits budget → `po_approve` → `po_send`
### Three-Way Match (2 calls)
1. `goods_receive(po_id, items_received)` → partial/full receipt
2. `three_way_match(po_id)` → PO vs receipt vs invoice comparison → flags discrepancies
### Supplier Evaluation (3 calls)
1. `supplier_scorecard(supplier_id)` → A/B/C/D grade
2. `supplier_risk_score(supplier_id)` → 0-100 risk
3. `price_benchmark(sku, supplier_quote)` → vs historical avg/min/max
### Negotiation Prep (2 calls)
1. `spend_analysis(supplier_id)` → total spend, leverage
2. `negotiation_brief(supplier_id)` → BATNA, talking points, strategy
## MUST DO
- `budget_check` before every PO approval
- `three_way_match` before paying any invoice
- `supplier_risk_score` before onboarding new suppliers
- `price_benchmark` on quotes > $10K
- Check `contract_list` for expiring contracts (90-day flag)
## MUST NOT DO
- Don't approve PO without budget check
- Don't pay without three-way match
- Don't award RFQ on price alone (check risk, delivery, quality)
- Don't ignore maverick spend alerts
## Cross-MCP Orchestration
### Procurement + Inventory: Auto Reorder
```
INVENTORY: reorder_alerts() → [{sku: "WIDGET-001", suggested_qty: 100}]
PROCUREMENT: supplier_recommend(sku: "WIDGET-001") → best supplier
PROCUREMENT: po_create(supplier, items: [{sku: "WIDGET-001", qty: 100}])
PROCUREMENT: budget_check(po_id) → approved
PROCUREMENT: po_send(po_id) → sent to supplier
```
### Procurement + Legal: Contract Risk
```
PROCUREMENT: contract_create(supplier, terms, clauses)
PROCUREMENT: contract_clause_check(contract_id) → {risky: ["auto-renewal", "unlimited liability"]}
LEGAL: review_contract(contract_id, flags: risky_clauses)
```
### Procurement + Finance: Spend Control
```
PROCUREMENT: spend_analysis(period: "Q1") → {total: 5M, top_category: "IT"}
PROCUREMENT: savings_opportunity() → [{sku: "LAPTOP", saving: 15%, switch_to: "Supplier B"}]
FINANCE: update_forecast(savings: identified_amount)
```
## Troubleshooting
**PO_NOT_APPROVED:** Budget check failed or approval pending. Check `budget_check` result.
**Three-way mismatch:** Quantity received ≠ PO quantity or invoice amount ≠ PO amount. Investigate discrepancy.
**High risk score:** Check country risk, delivery history, financial stability. Consider alternative supplier.
عرض على GitHub