MCP Server

MCP CPG Human in the Loop (HITL)

io.github.greencore-solutions/cpg-human-in-the-loop
Business & Operations Communication Public & reachable MCP 2025-11-25

What this MCP does

Submits RFQs, terms questions, and escalations for human review, then polls the resulting ticket status.

check_rfq_status
Check ticket status
Poll a ticket previously lodged on this MCP (RFQ, terms request, or escalation). Returns current status and, once a human has answered, the answer.
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ticket_id'], 'properties': {'ticket_id': {'type': 'string', 'pattern': '^HITL-\\d{8}-[A-F0-9]{6}$', 'description': 'Ticket ID returned at submission, e.g. HITL-20260719-A1B2C3'}}}
escalate
Escalate to a human (ACM-451)
Hand a matter that cannot be resolved deterministically to GSC Navigator human review. Emits ACM-451 ESCALATE. Returns a ticket ID for polling via check_rfq_status.
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['subject', 'context', 'requester_name', 'requester_contact'], 'properties': {'context': {'type': 'string', 'maxLength': 8000, 'minLength': 3, 'description': 'What was attempted, what could not be resolved, and why'}, 'subject': {'type': 'string', 'maxLength': 300, 'minLength': 3, 'description': 'One-line summary of the matter'}, 'related_ticket': {'type': 'string', 'pattern': '^HITL-\\d{8}-[A-F0-9]{6}$', 'description': 'Optional earlier ticket this relates to'}, 'requester_name': {'type': 'string', 'maxLength': 200, 'description': 'Requesting organization or agent operator'}, 'requester_contact': {'type': 'string', 'maxLength': 300, 'description': 'Reply channel: email or URL a human can answer to'}}}
request_terms
Request terms
Ask a commercial or procedural question — terms, conditions, eligibility context, process. The question is lodged as a ticket and a human answers it. Returns a ticket ID for polling via check_rfq_status.
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['subject', 'question', 'requester_name', 'requester_contact'], 'properties': {'subject': {'type': 'string', 'maxLength': 300, 'minLength': 3, 'description': 'One-line summary of the question'}, 'question': {'type': 'string', 'maxLength': 8000, 'minLength': 3, 'description': 'The question a human should answer'}, 'related_ticket': {'type': 'string', 'pattern': '^HITL-\\d{8}-[A-F0-9]{6}$', 'description': 'Optional earlier ticket this relates to'}, 'requester_name': {'type': 'string', 'maxLength': 200, 'description': 'Requesting organization or agent operator'}, 'requester_contact': {'type': 'string', 'maxLength': 300, 'description': 'Reply channel: email or URL a human can answer to'}}}
submit_rfq
Submit RFQ
Lodge a request-for-quotation with GreenCore Solutions Corp. A human reviews and answers every ticket — no order is decided by this tool. Returns a ticket ID for polling via check_rfq_status. Optionally reference a GTIN resolved on mcp.cpgknowledgegraph.ai and an SM-ECO-10060 market code.
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['subject', 'details', 'requester_name', 'requester_contact'], 'properties': {'gtin': {'type': 'string', 'maxLength': 14, 'description': 'Optional GTIN reference (as resolved on the CPG Knowledge Graph)'}, 'market': {'type': 'string', 'maxLength': 8, 'description': 'Optional SM-ECO-10060 member code, e.g. FR, AU, MX'}, 'details': {'type': 'string', 'maxLength': 8000, 'minLength': 3, 'description': 'Full request: product, volumes, timing, destination'}, 'subject': {'type': 'string', 'maxLength': 300, 'minLength': 3, 'description': 'One-line summary of the RFQ'}, 'quantity': {'type': 'string', 'maxLength': 200, 'description': 'Optional quantity / volume expression'}, 'requester_name': {'type': 'string', 'maxLength': 200, 'description': 'Requesting organization or agent operator'}, 'requester_contact': {'type': 'string', 'maxLength': 300, 'description': 'Reply channel: email or URL a human can answer to'}}}
Changed
escalate
Sept. 19, 2026, 2:42 a.m.
Changed
request_terms
Sept. 19, 2026, 2:42 a.m.
Changed
check_rfq_status
Sept. 19, 2026, 2:42 a.m.
Changed
submit_rfq
Sept. 19, 2026, 2:42 a.m.
Added
escalate
Sept. 17, 2026, 12:42 p.m.
Added
request_terms
Sept. 17, 2026, 12:42 p.m.
Added
check_rfq_status
Sept. 17, 2026, 12:42 p.m.
Added
submit_rfq
Sept. 17, 2026, 12:42 p.m.