Skip to main content
Glama

MCP CPG Human in the Loop (HITL)

Server Details

Navigator for BPC Agentic Procurement

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
greencore-solutions/cpg-human-in-the-loop
GitHub Stars
0
Server Listing
MCP CPG Human in the Loop (HITL)

TDQS

A4.3/5.0

Scored across 4 tools

Disambiguation5/5

Each tool serves a distinct role: three create different types of tickets (RFQ, terms question, escalation) and one polls ticket status. The descriptions clearly delineate when to use each, leaving no real ambiguity.

Naming Consistency4/5

Most tools follow a verb_noun pattern (check_rfq_status, request_terms, submit_rfq), but 'escalate' is a bare verb that breaks the pattern slightly. The names remain readable and predictable overall.

Tool Count5/5

Four tools is an appropriate size for a HITL ticket server: three ticket-creation paths and one status/answer polling function. No tool feels redundant or missing at this scope.

Completeness5/5

The toolset covers the full human-in-the-loop lifecycle: create tickets of all relevant types and retrieve status/answers. There are no dead ends — every creation tool returns a ticket ID that check_rfq_status can poll.

Available Tools

4 tools
check_rfq_statusCheck ticket statusAInspect

Poll a ticket previously lodged on this MCP (RFQ, terms request, or escalation). Returns current status and, once a human has answered, the answer.

ParametersJSON Schema
NameRequiredDescriptionDefault
ticket_idYesTicket ID returned at submission, e.g. HITL-20260719-A1B2C3

TDQS

A4.2/5.0
Behavior4/5

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

The description states the tool polls and returns status, and that once a human has answered, the answer is returned. It also indicates that the ticket must have been previously lodged on this MCP, which is critical context. Since no annotations exist, this is a reasonable degree of disclosure, though it does not mention polling frequency or timeout behavior.

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

Conciseness5/5

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

Two sentences, concise and front-loaded with the purpose and key behavior. No fluff or redundancy.

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?

Given the single-parameter schema and absence of an output schema, the description is complete enough for an agent to call it. It explains return value and context but could mention polling behavior or errors; still, it's adequate for the tool's simplicity.

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?

The schema already provides a full description of the ticket_id parameter, including a pattern and example. The description does not add extra meaning beyond what the schema has, so a baseline of 3 is appropriate.

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

Purpose5/5

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

The description states a specific verb ('poll'), a resource ('ticket'), and its scope ('previously lodged on this MCP'), and lists the ticket types (RFQ, terms request, escalation), distinguishing it from the sibling submission tools. It is clear and specific.

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?

The description implies usage for tickets already submitted, but does not explicitly state when not to use it (e.g., before submission, or alternatives). It is clear enough for an agent to infer, but lacks explicit exclusions.

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

escalateEscalate to a human (ACM-451)AInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
contextYesWhat was attempted, what could not be resolved, and why
subjectYesOne-line summary of the matter
related_ticketNoOptional earlier ticket this relates to
requester_nameYesRequesting organization or agent operator
requester_contactYesReply channel: email or URL a human can answer to

TDQS

A4/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It does disclose the core behavior (escalating to human review), the emission of an ACM-451 event, and the return of a ticket ID for polling. However, it does not mention side effects (e.g., whether escalation is irreversible, if it blocks other operations, or what happens to the original context). It also doesn't state any permission or authentication requirements. The description is clear about the primary action but lacks depth about consequences.

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

Conciseness5/5

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

The description is two sentences, front-loaded with the core action and condition, followed by the output and next step. Every sentence earns its place: the first states what the tool does, the second explains the output and how to use it. There is no fluff or redundant phrasing, making it highly concise and well-structured.

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?

The tool has 5 parameters (4 required) and no output schema, so the description must clarify the return behavior. It does: it states a ticket ID is returned and directs polling via check_rfq_status. It also gives the event code (ACM-451). While it doesn't detail error handling or edge cases, for a simple escalation tool the description provides sufficient context to call it correctly and understand the outcome. The only minor gap is the absence of any mention of what to do if escalation fails, but that is not critical.

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 description coverage is 100%, meaning each parameter already has a description. The tool description does not add any extra meaning to parameters beyond what the schema provides. It only reiterates the overall purpose and output. Per the rubric, with high coverage, the baseline is 3, and the description adds no additional parameter-level insight, so a 3 is appropriate.

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

Purpose5/5

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

The description states a clear purpose: to hand a matter that cannot be resolved deterministically to human review. It specifies the verb (hand over), the resource (GSC Navigator human review), and the condition (cannot be resolved deterministically). It also mentions the output (ticket ID) and the ACM-451 event, which makes it distinct from other tools like submit_rfq or request_terms. This is a specific, actionable description that an agent can immediately understand.

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?

The description provides a clear when-to-use condition: only when a matter cannot be resolved deterministically. This implies that for resolvable matters, other tools (e.g., submit_rfq) should be used. It also directs the agent to poll via check_rfq_status after escalation, which is an explicit next step. However, it does not explicitly list alternatives or state when not to use it beyond the deterministic caveat, so it stops short of a 5.

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

request_termsRequest termsAInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
subjectYesOne-line summary of the question
questionYesThe question a human should answer
related_ticketNoOptional earlier ticket this relates to
requester_nameYesRequesting organization or agent operator
requester_contactYesReply channel: email or URL a human can answer to

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It clearly states that the question is lodged as a ticket, a human answers it, and a ticket ID is returned for polling. This conveys the asynchronous nature and the expected flow. It does not mention side effects like authentication, rate limits, or potential delays, but for a simple request tool, the core behavior is adequately disclosed.

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

Conciseness5/5

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

The description is two sentences long, front-loaded with the purpose, and contains no filler. It efficiently states what the tool does, the process, and the return value, all without redundancy. Every sentence earns its place.

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?

For a tool with 5 parameters, no output schema, and no annotations, the description is fairly complete. It explains the purpose, the asynchronous human-answered flow, and how to follow up via check_rfq_status. It does not address error handling or edge cases, but those are not critical for the core functionality. The description provides enough for an agent to invoke the tool correctly.

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 description coverage is 100%, meaning every parameter is already documented with a clear description. The tool description adds no additional semantic context beyond what the schema provides, such as usage examples or relationships between parameters. It does not compensate for the high schema coverage with extra insight, so a baseline of 3 is appropriate.

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

Purpose5/5

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

The description states a specific verb ('Ask') and resource (commercial or procedural question), and explicitly describes the outcome (ticket created, human answers, returns ticket ID). It distinguishes itself from siblings by framing the use case as a question rather than a formal submission or status check, which is sufficient for an agent to tell it apart.

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?

The description clearly indicates when to use this tool: for commercial or procedural questions that need a human answer. It also points to the companion tool 'check_rfq_status' for polling, which implies when to use that alternative. However, it does not explicitly state that this is not for formal RFQ submissions (submit_rfq) or escalation (escalate), leaving some ambiguity.

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

submit_rfqSubmit RFQAInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
gtinNoOptional GTIN reference (as resolved on the CPG Knowledge Graph)
marketNoOptional SM-ECO-10060 member code, e.g. FR, AU, MX
detailsYesFull request: product, volumes, timing, destination
subjectYesOne-line summary of the RFQ
quantityNoOptional quantity / volume expression
requester_nameYesRequesting organization or agent operator
requester_contactYesReply channel: email or URL a human can answer to

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations provided, the description carries the behavioral disclosure burden and does it well: it states that a human reviews every ticket, that no order is decided by this tool, and that it returns a ticket ID for polling. This gives the agent an accurate model of how the operation behaves beyond simply 'submitting'.

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

Conciseness5/5

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

The description is three tight sentences with no filler. The core action, human-review behavior, return value, and optional references are all front-loaded or clearly positioned, making it easy for an agent to scan and act.

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

Completeness5/5

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

For a submission tool with no output schema, the description appropriately discloses the return value (ticket ID) and how to use it (poll via check_rfq_status). Combined with the fully documented schema, the agent has enough context to invoke this tool correctly and understand its result.

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 input schema already documents all seven parameters well. The description adds only minor reinforcement about the optional GTIN and SM-ECO-10060 market code, which slightly complements the schema but does not materially improve parameter understanding.

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

Purpose5/5

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

The description states a specific action ('Lodge a request-for-quotation') against a named organization (GreenCore Solutions Corp.) and clearly distinguishes this from related tools by noting it does not decide orders and returns a ticket for polling via check_rfq_status. The purpose is unambiguous and the tool's role in the quote workflow is clear.

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?

The description gives clear operational context: this is for requesting a quotation, a human will review it, and results are polled through check_rfq_status. It does not explicitly state when to use request_terms or escalate instead, so it stops short of full alternative routing, but the main usage context is evident.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 4 tool updates
    • Changedcheck_rfq_status1 field changed
      • removedInput schema / additionalProperties
        Removed value: -false
    • Changedescalate1 field changed
      • removedInput schema / additionalProperties
        Removed value: -false
    • Changedrequest_terms1 field changed
      • removedInput schema / additionalProperties
        Removed value: -false
    • Changedsubmit_rfq1 field changed
      • removedInput schema / additionalProperties
        Removed value: -false
  2. 3 tool updates
    • Changedescalate1 field changed
      • removedInput schema / properties / agent_card
        Removed value: -{
        -  "description": "Optional: your A2A agent card URL or hostname — verified at task acceptance (JWS over RFC 8785). VERIFIED handshakes enter the guest book at gsc-handshake.ai by name.",
        -  "maxLength": 300,
        -  "type": "string"
        -}
    • Changedrequest_terms1 field changed
      • removedInput schema / properties / agent_card
        Removed value: -{
        -  "description": "Optional: your A2A agent card URL or hostname — verified at task acceptance (JWS over RFC 8785). VERIFIED handshakes enter the guest book at gsc-handshake.ai by name.",
        -  "maxLength": 300,
        -  "type": "string"
        -}
    • Changedsubmit_rfq1 field changed
      • removedInput schema / properties / agent_card
        Removed value: -{
        -  "description": "Optional: your A2A agent card URL or hostname — verified at task acceptance (JWS over RFC 8785). VERIFIED handshakes enter the guest book at gsc-handshake.ai by name.",
        -  "maxLength": 300,
        -  "type": "string"
        -}
  3. 3 tool updates
    • Changedescalate1 field changed
      • addedInput schema / properties / agent_card
        Added value: +{
        +  "description": "Optional: your A2A agent card URL or hostname — verified at task acceptance (JWS over RFC 8785). VERIFIED handshakes enter the guest book at gsc-handshake.ai by name.",
        +  "maxLength": 300,
        +  "type": "string"
        +}
    • Changedrequest_terms1 field changed
      • addedInput schema / properties / agent_card
        Added value: +{
        +  "description": "Optional: your A2A agent card URL or hostname — verified at task acceptance (JWS over RFC 8785). VERIFIED handshakes enter the guest book at gsc-handshake.ai by name.",
        +  "maxLength": 300,
        +  "type": "string"
        +}
    • Changedsubmit_rfq1 field changed
      • addedInput schema / properties / agent_card
        Added value: +{
        +  "description": "Optional: your A2A agent card URL or hostname — verified at task acceptance (JWS over RFC 8785). VERIFIED handshakes enter the guest book at gsc-handshake.ai by name.",
        +  "maxLength": 300,
        +  "type": "string"
        +}
  4. 4 tool updates
    • First observedcheck_rfq_status
    • First observedescalate
    • First observedrequest_terms
    • First observedsubmit_rfq

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.