GAIP Supplier Watch Agent

Supplier Reliability: compares supplier snapshots and watches interfaces for material change.

사용해야 할까요

품질 및 안전성

A
설명 품질
100%
스키마 완전성
100%
이름 품질
77%
오염 위험
100%
권한 일치
100%
프로토콜 준수
100%

발견 사항 (1)

  • LOWTool 'gaip_compare_supplier_snapshots' name length outside 3-30 rangegaip_compare_supplier_snapshots에서

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~2,270토큰 (도구 정의)
~3.4 KB일반적인 응답 크기
중간 정도의 주의 영향 (128k 컨텍스트의 1.77%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

{
  "mcpServers": {
    "gaip-supplier-watch": {
      "url": "https://www.gaipagents.com/mcp/agents/supplier-watch"
    }
  }
}

원격 엔드포인트

https://www.gaipagents.com/mcp/agents/supplier-watchstreamable-http

할 수 있는 일

도구 목록

도구 (6)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
🟡gaip_compare_supplier_snapshots(continuity_handle, counterparty_id, current, data_classification, episode_id, ...)

Use this when asked what changed between two versions of an agent card, MCP server description or OpenAPI document ("did this API break?"). Pass `prior` and `current`. Returns each change as BREAKING / NON_BREAKING / INFO with migration notes and a receipt. Free, no account; records a GAIP receipt only. Inputs must be public and non-personal.

입력 스키마

{
  "type": "object",
  "properties": {
    "continuity_handle": {
      "additionalProperties": false,
      "description": "Optional: the continuity_handle from an earlier GAIP result; links this call to your earlier ones.",
      "properties": {
        "continuity_id": {
          "type": "string"
        },
        "token": {
          "type": "string"
        }
      },
      "required": [
        "continuity_id",
        "token"
      ],
      "type": "object"
    },
    "counterparty_id": {
      "description": "Name or URL of the agent/service. Optional.",
      "type": "string"
    },
    "current": {
      "description": "The later version, same kind as `prior`.",
      "type": "object"
    },
    "data_classification": {
      "default": "PUBLIC",
      "description": "PUBLIC (default) or NON_PERSONAL_PUBLIC. Never send personal data.",
      "enum": [
        "PUBLIC",
        "NON_PERSONAL_PUBLIC"
      ],
      "type": "string"
    },
    "episode_id": {
      "description": "Optional: your own id to group related calls.",
      "type": "string"
    },
    "independent_operator_id": {
      "description": "Optional: your operator id (recorded as a claim, not verified).",
      "type": "string"
    },
    "prior": {
      "description": "The earlier version: agent card, MCP server description, OpenAPI document or snapshot.",
      "type": "object"
    },
    "protocol": {
      "description": "Counterparty protocol. Inferred from metadata when omitted, otherwise MCP.",
      "enum": [
        "A2A",
        "MCP",
        "OPENAPI"
      ],
      "type": "string"
    },
    "synthetic": {
      "description": "Optional: true marks a test call.",
      "type": "boolean"
    },
    "task_class": {
      "default": "supplier_snapshot_comparison",
      "description": "Optional: short name of the task, e.g. weather_forecast.",
      "type": "string"
    }
  },
  "required": [
    "prior",
    "current"
  ],
  "additionalProperties": true,
  "examples": [
    {
      "counterparty_id": "example-weather-agent",
      "current": {
        "capabilities": {
          "streaming": true
        },
        "name": "Weather Agent",
        "protocolVersion": "0.3.0",
        "security": [
          {
            "bearer": []
          }
        ],
        "securitySchemes": {
          "bearer": {
            "scheme": "bearer",
            "type": "http"
          }
        },
        "skills": [
          {
            "id": "forecast",
            "name": "Forecast"
          }
        ],
        "url": "https://weather.example.com/v2/a2a",
        "version": "2.0.0"
      },
      "prior": {
        "capabilities": {
          "streaming": true
        },
        "name": "Weather Agent",
        "protocolVersion": "0.3.0",
        "skills": [
          {
            "id": "forecast",
            "name": "Forecast"
          },
          {
            "id": "alerts",
            "name": "Severe weather alerts"
          }
        ],
        "url": "https://weather.example.com/a2a",
        "version": "1.4.0"
      }
    }
  ]
}
🟡gaip_watch_register(continuity_handle, data_classification, interval_hours, kind, target_url, ...)

Use this when asked to keep an eye on an agent or MCP server ("tell me if it changes or goes down"). Pass the `continuity_handle` from any GAIP result, `kind` and `target_url`. GAIP re-checks every 24 hours (3 free watches), receipts each change and can call your webhook. Free, no account; records a GAIP receipt only. Inputs must be public and non-personal.

입력 스키마

{
  "type": "object",
  "properties": {
    "continuity_handle": {
      "description": "The continuity_handle from an earlier GAIP result; proves you own these watches.",
      "properties": {
        "continuity_id": {
          "type": "string"
        },
        "token": {
          "type": "string"
        }
      },
      "required": [
        "continuity_id",
        "token"
      ],
      "type": "object"
    },
    "data_classification": {
      "default": "PUBLIC",
      "description": "PUBLIC (default) or NON_PERSONAL_PUBLIC. Never send personal data.",
      "enum": [
        "PUBLIC",
        "NON_PERSONAL_PUBLIC"
      ],
      "type": "string"
    },
    "interval_hours": {
      "default": 24,
      "description": "Optional: hours between checks (24 minimum on the free tier).",
      "maximum": 168,
      "minimum": 24,
      "type": "integer"
    },
    "kind": {
      "description": "AGENT_READINESS (agent URL), SUPPLIER_CARD (published card) or DELIVERY_TERMS (terms_id).",
      "enum": [
        "AGENT_READINESS",
        "DELIVERY_TERMS",
        "SUPPLIER_CARD"
      ],
      "type": "string"
    },
    "target_url": {
      "description": "Public https URL (AGENT_READINESS, SUPPLIER_CARD). No query string.",
      "format": "uri",
      "maxLength": 2048,
      "type": "string"
    },
    "terms_id": {
      "description": "DELIVERY_TERMS: terms_id from witness_register_terms.",
      "type": "string"
    },
    "webhook_url": {
      "description": "Optional: your own public https endpoint for signed change events.",
      "format": "uri",
      "maxLength": 2048,
      "type": "string"
    }
  },
  "required": [
    "continuity_handle",
    "kind"
  ],
  "additionalProperties": false,
  "examples": [
    {
      "continuity_handle": {
        "continuity_id": "<continuity_handle.continuity_id returned by any GAIP tool>",
        "token": "<continuity_handle.token returned by any GAIP tool>"
      },
      "interval_hours": 24,
      "kind": "SUPPLIER_CARD",
      "target_url": "https://weather.example.com/.well-known/agent-card.json",
      "webhook_url": "https://hooks.example.com/gaip-watch"
    }
  ]
}
🟢gaip_watch_list(continuity_handle)

Use this when asked which agents or services you are watching. Pass your `continuity_handle`. Returns each watch's kind, target, last verdict, last and next check and webhook endpoint (never the secret). Free, read-only, no account; inputs must be public and non-personal.

입력 스키마

{
  "type": "object",
  "properties": {
    "continuity_handle": {
      "description": "The continuity_handle from an earlier GAIP result; proves you own these watches.",
      "properties": {
        "continuity_id": {
          "type": "string"
        },
        "token": {
          "type": "string"
        }
      },
      "required": [
        "continuity_id",
        "token"
      ],
      "type": "object"
    }
  },
  "required": [
    "continuity_handle"
  ],
  "additionalProperties": false,
  "examples": [
    {
      "continuity_handle": {
        "continuity_id": "<continuity_handle.continuity_id returned by any GAIP tool>",
        "token": "<continuity_handle.token returned by any GAIP tool>"
      }
    }
  ]
}
🔴gaip_watch_remove(continuity_handle, watch_id)

Use this when asked to stop watching an agent or service. Pass your `continuity_handle` and the `watch_id`. Its stored events are deleted; retained receipts stay verifiable. Free, no account; records a GAIP receipt only. Inputs must be public and non-personal.

입력 스키마

{
  "type": "object",
  "properties": {
    "continuity_handle": {
      "description": "The continuity_handle from an earlier GAIP result; proves you own these watches.",
      "properties": {
        "continuity_id": {
          "type": "string"
        },
        "token": {
          "type": "string"
        }
      },
      "required": [
        "continuity_id",
        "token"
      ],
      "type": "object"
    },
    "watch_id": {
      "description": "The watch_id returned by gaip_watch_register.",
      "type": "string"
    }
  },
  "required": [
    "continuity_handle",
    "watch_id"
  ],
  "additionalProperties": false,
  "examples": [
    {
      "continuity_handle": {
        "continuity_id": "<continuity_handle.continuity_id returned by any GAIP tool>",
        "token": "<continuity_handle.token returned by any GAIP tool>"
      },
      "watch_id": "<watch_id from gaip_watch_register>"
    }
  ]
}
🟢gaip_watch_events(continuity_handle, limit, watch_id)

Use this when asked what changed on a watched agent or service. Pass your `continuity_handle` and optionally a `watch_id`. Returns recent change events: verdict before and after, a change summary, the receipt and webhook delivery status. Free, read-only, no account; inputs must be public and non-personal.

입력 스키마

{
  "type": "object",
  "properties": {
    "continuity_handle": {
      "description": "The continuity_handle from an earlier GAIP result; proves you own these watches.",
      "properties": {
        "continuity_id": {
          "type": "string"
        },
        "token": {
          "type": "string"
        }
      },
      "required": [
        "continuity_id",
        "token"
      ],
      "type": "object"
    },
    "limit": {
      "description": "Optional: maximum events to return.",
      "maximum": 50,
      "minimum": 1,
      "type": "integer"
    },
    "watch_id": {
      "description": "The watch_id returned by gaip_watch_register.",
      "type": "string"
    }
  },
  "required": [
    "continuity_handle"
  ],
  "additionalProperties": false,
  "examples": [
    {
      "continuity_handle": {
        "continuity_id": "<continuity_handle.continuity_id returned by any GAIP tool>",
        "token": "<continuity_handle.token returned by any GAIP tool>"
      },
      "limit": 10,
      "watch_id": "<watch_id from gaip_watch_register>"
    }
  ]
}
🟢gaip_supplier_reliability(counterparty_id, data_classification, failure, failure_started_at, failures, ...)

Use this when a supplier agent or API you depend on started failing ("did something change on their side?"). Pass its `supplier_url` and the `failure`. Returns the diagnosis plus changes GAIP observed around then (correlated in time, not causation), with receipts. Free, read-only, no account; inputs must be public and non-personal.

입력 스키마

{
  "type": "object",
  "properties": {
    "counterparty_id": {
      "description": "Optional: name of the supplier.",
      "type": "string"
    },
    "data_classification": {
      "default": "PUBLIC",
      "description": "PUBLIC (default) or NON_PERSONAL_PUBLIC. Never send personal data.",
      "enum": [
        "PUBLIC",
        "NON_PERSONAL_PUBLIC"
      ],
      "type": "string"
    },
    "failure": {
      "description": "{code, detail?, http_status?} as for gaip_diagnose_integration_failure.",
      "type": "object"
    },
    "failure_started_at": {
      "description": "Optional: RFC 3339 time the failures started.",
      "format": "date-time",
      "type": "string"
    },
    "failures": {
      "description": "Optional: several failures, each {code, detail}.",
      "maxItems": 100,
      "minItems": 1,
      "type": "array"
    },
    "lookback_days": {
      "default": 14,
      "description": "Optional: days of GAIP observations to look back over.",
      "maximum": 30,
      "minimum": 1,
      "type": "integer"
    },
    "protocol": {
      "description": "A2A, MCP or OPENAPI. Inferred when omitted.",
      "enum": [
        "A2A",
        "MCP",
        "OPENAPI"
      ],
      "type": "string"
    },
    "supplier_url": {
      "description": "Public https URL of the supplier's agent card, MCP server or API.",
      "format": "uri",
      "maxLength": 2048,
      "type": "string"
    },
    "task_class": {
      "description": "Optional: short name of the task, e.g. weather_forecast.",
      "type": "string"
    }
  },
  "required": [
    "supplier_url"
  ],
  "additionalProperties": true,
  "examples": [
    {
      "failure": {
        "code": 404,
        "detail": "Not Found"
      },
      "failure_started_at": "2026-09-27T12:00:00Z",
      "supplier_url": "https://weather.example.com/.well-known/agent-card.json"
    }
  ]
}

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 6개