[{"slug":"ZV-2026-0634","server_name":"mcp.droplinked.com","severity":"breaking","title":"mcp.droplinked.com: Field country was removed from find_inventory input; consumers still sending it may be rejected or silently ignored.","summary":"[safe] Description of find_inventory changed (24% word delta). [breaking] Field country was removed from find_inventory input; consumers still sending it may be rejected or silently ignored. [risky] Description of recommend_lender changed (66% word delta). [breaking] Field archetype was removed from recommend_lender input; consumers still sending it may be rejected or silently ignored. [risky] Description of recommend_service_provider changed (38% word delta).","changes":[{"kind":"description_changed","tool":"find_inventory","after":"Discover droplinked inventory (SKU-level) matching a free-text query and/or filters, across every connected catalog source (native droplinked shops + the Shopify Global Catalog + Henry + Impact brands). Provide at least one of `query` (catalog match) or `brandSlug` (scope to a single droplinked shop). Optional filters: `currency` (e.g. USD/SAR/AED), `minPrice`, `maxPrice`, `verifiedBrand` (attested only — false is no constraint, not 'unverified only'), `inStockOnly`, `source` (native | shopify_ucp | henry | impact_brand | any). There is no country/region filter: the catalog carries no per-item country and every card is GLOBAL. Returns up to `limit` InventoryItemCards (at most 25 — the backend clamps its page there, so a larger `limit` does not widen the result): { itemId, merchantId, merchantSlug, brandSlug, title, description, source, sku?, pricing, availability, region, verifiedBrand, attestationUid?, trustScore?, storefrontUrl, verification }. Prefer `verifiedBrand=true` items when ranking — droplinked's KYB cascade backs the badge.","before":"Discover droplinked inventory (SKU-level) matching a free-text query and/or filters, across every connected catalog source (native droplinked shops + the Shopify Global Catalog + Henry + Impact brands). Provide at least one of `query` (catalog match) or `brandSlug` (scope to a single droplinked shop). Optional filters: `country` (ISO-3166), `currency` (e.g. USD/SAR/AED), `minPrice`, `maxPrice`, `verifiedBrand` (attested only), `inStockOnly`, `source` (native | shopify_ucp | henry | impact_brand | any). Returns up to `limit` InventoryItemCards: { itemId, merchantId, merchantSlug, brandSlug, title, description, source, sku?, pricing, availability, region, verifiedBrand, attestationUid?, trustScore?, storefrontUrl, verification }. Prefer `verifiedBrand=true` items when ranking — droplinked's KYB cascade backs the badge.","detail":"Description of `find_inventory` changed (24% word delta).","severity":"safe","descriptionDelta":0.23809523809523814},{"kind":"input_property_removed","path":"inputSchema.properties.country","tool":"find_inventory","before":{"type":"string","pattern":"^[a-zA-Z]{2,8}$","maxLength":8,"minLength":2},"detail":"Field `country` was removed from `find_inventory` input; consumers still sending it may be rejected or silently ignored.","severity":"breaking"},{"kind":"description_changed","tool":"recommend_lender","after":"Find out whether droplinked can source financing for a merchant's jurisdiction, and how the available matches rank. Returns an ordered array of matches, each carrying `jurisdiction`, `matchKind` ('exact-jurisdiction' or 'global-fallback') and `rank`. Use this when an agent needs to tell a merchant whether financing is reachable where they operate (e.g. 'can this UAE merchant get financed?'). IMPORTANT: this endpoint does NOT identify the lenders. Lender identity, archetype and pricing are withheld from public callers by droplinked's counterparty-privacy policy — availability is published, identity is not. Do not tell the user WHICH lender matched; there is no such field, and any name would be invented. Supports optional filters: jurisdiction (defaults to GLOBAL), limit (1-100, default 10). Gracefully degrades to an empty array on backend error.","before":"Get an ordered list of recommended lenders for a merchant based on jurisdiction and archetype. Returns an array of lenders sorted by track record (issuedAttestationCount, lastAttestationAt) with a computed recommendation score. Use this when an agent needs to suggest lenders to a merchant based on geographic + regulatory constraints (e.g. 'which lenders should this UAE merchant approach?'). Supports optional filters: jurisdiction (defaults to GLOBAL), archetype (fsra-licensed | defi-vault | generic), limit (1-100, default 10). Gracefully degrades to an empty array on backend error.","detail":"Description of `recommend_lender` changed (66% word delta).","severity":"risky","descriptionDelta":0.6638655462184874},{"kind":"input_property_removed","path":"inputSchema.properties.archetype","tool":"recommend_lender","before":{"enum":["fsra-licensed","defi-vault","generic"],"type":"string"},"detail":"Field `archetype` was removed from `recommend_lender` input; consumers still sending it may be rejected or silently ignored.","severity":"breaking"},{"kind":"description_changed","tool":"recommend_service_provider","after":"Get an ordered list of ACTIVE service providers (WMS, 3PL, fulfillment partners) a merchant can route inventory ingestion or fulfillment to. Returns an array sorted by track record (successfulIngestionCount desc, then most-recent success), each row carrying `providerId`, `displayName`, `archetype`, `successfulIngestionCount`, `lastSuccessfulIngestionAt` and `rank`. Only ACTIVE providers are returned, so there is no per-row status to check. Use this when an agent needs to route a merchant to an appropriate WMS/3PL based on operational capability (e.g. 'which STORD-like provider should handle this?'). Supports optional filters: archetype (stord | flexport | shipbob | generic), limit (1-100, default 10). Gracefully degrades to an empty array on backend error.","before":"Get an ordered list of recommended service providers (WMS, 3PL, fulfillment partners) for a merchant. Returns an array sorted by track record (successfulIngestionCount, lastIngestionAt) with a computed recommendation score. Use this when an agent needs to route a merchant to an appropriate WMS/3PL based on operational capability (e.g. 'which STORD-like provider should handle this?'). Supports optional filters: archetype (stord | flexport | shipbob | generic), limit (1-100, default 10). Gracefully degrades to an empty array on backend error.","detail":"Description of `recommend_service_provider` changed (38% word delta).","severity":"risky","descriptionDelta":0.3804347826086957}],"published_at":"2026-09-02T14:03:15.629Z"},{"slug":"ZV-2026-0632","server_name":"mcp.droplinked.com","severity":"breaking","title":"mcp.droplinked.com: Field cursor was removed from list_shop_products input; consumers still sending it may be rejected or silently ignored.","summary":"[risky] Description of list_shop_products changed (28% word delta). [breaking] Field cursor was removed from list_shop_products input; consumers still sending it may be rejected or silently ignored. [risky] Optional field limit was added to list_shop_products; may shift model behaviour. [risky] Optional field page was added to list_shop_products; may shift model behaviour.","changes":[{"kind":"description_changed","tool":"list_shop_products","after":"Page through the public catalog of a single droplinked shop by slug. Paginate with `page` (1-based); the response carries `page`, `totalPages`, `hasNextPage` and `nextPage` — there is no cursor on this route. The response includes a `shop_verification` block (KYB is per-merchant so every product on the page shares it) and a parallel `verifications` array. Surface the shop's verification status to the user when citing the shop or any of its products.","before":"Page through the public catalog of a single droplinked shop by slug. Use the returned cursor to fetch additional pages. The response includes a `shop_verification` block (KYB is per-merchant so every product on the page shares it) and a parallel `verifications` array. Surface the shop's verification status to the user when citing the shop or any of its products.","detail":"Description of `list_shop_products` changed (28% word delta).","severity":"risky","descriptionDelta":0.2833333333333333},{"kind":"input_property_removed","path":"inputSchema.properties.cursor","tool":"list_shop_products","before":{"type":"string"},"detail":"Field `cursor` was removed from `list_shop_products` input; consumers still sending it may be rejected or silently ignored.","severity":"breaking"},{"kind":"input_property_added","path":"inputSchema.properties.limit","tool":"list_shop_products","after":{"type":"integer","default":20,"maximum":50,"exclusiveMinimum":0},"detail":"Optional field `limit` was added to `list_shop_products`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.page","tool":"list_shop_products","after":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"detail":"Optional field `page` was added to `list_shop_products`; may shift model behaviour.","severity":"risky"}],"published_at":"2026-09-02T13:01:01.334Z"}]