MCP CPG Human in the Loop (HITL)

Navigator for BPC Agentic Procurement

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
100%
Naming quality
90%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~887Tokens (tool definitions)
~2.0 KBTypical response size
Moderate attention impact (0.69% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "cpg-human-in-the-loop": {
      "url": "https://mcp.cpghumanintheloop.ai/mcp"
    }
  }
}

Remote endpoints

https://mcp.cpghumanintheloop.ai/mcpstreamable-http

What it can do

Tool inventory

Tools (4)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟡submit_rfq(subject, details, gtin, market, quantity, ...)

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",
  "properties": {
    "subject": {
      "type": "string",
      "minLength": 3,
      "maxLength": 300,
      "description": "One-line summary of the RFQ"
    },
    "details": {
      "type": "string",
      "minLength": 3,
      "maxLength": 8000,
      "description": "Full request: product, volumes, timing, destination"
    },
    "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"
    },
    "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"
    }
  },
  "required": [
    "subject",
    "details",
    "requester_name",
    "requester_contact"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢check_rfq_status(ticket_id)

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",
  "properties": {
    "ticket_id": {
      "type": "string",
      "pattern": "^HITL-\\d{8}-[A-F0-9]{6}$",
      "description": "Ticket ID returned at submission, e.g. HITL-20260719-A1B2C3"
    }
  },
  "required": [
    "ticket_id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢request_terms(subject, question, related_ticket, requester_name, requester_contact)

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",
  "properties": {
    "subject": {
      "type": "string",
      "minLength": 3,
      "maxLength": 300,
      "description": "One-line summary of the question"
    },
    "question": {
      "type": "string",
      "minLength": 3,
      "maxLength": 8000,
      "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"
    }
  },
  "required": [
    "subject",
    "question",
    "requester_name",
    "requester_contact"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢escalate(subject, context, related_ticket, requester_name, requester_contact)

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",
  "properties": {
    "subject": {
      "type": "string",
      "minLength": 3,
      "maxLength": 300,
      "description": "One-line summary of the matter"
    },
    "context": {
      "type": "string",
      "minLength": 3,
      "maxLength": 8000,
      "description": "What was attempted, what could not be resolved, and why"
    },
    "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"
    }
  },
  "required": [
    "subject",
    "context",
    "requester_name",
    "requester_contact"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded4 tools
verifiedversion not recorded4 tools
verifiedversion not recorded4 tools