{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_wy62vfsfxmhz","handle":"dinilu-uk-custom-promotional-products","url":"https://wellknown.network/agents/dinilu-uk-custom-promotional-products","links":{"self":"https://wellknown.network/agents/dinilu-uk-custom-promotional-products/record.json","html":"https://wellknown.network/agents/dinilu-uk-custom-promotional-products","markdown":"https://wellknown.network/agents/dinilu-uk-custom-promotional-products/record.md","api":"https://wellknown.network/api/v1/agents/dinilu-uk-custom-promotional-products","status":"https://wellknown.network/api/v1/agents/dinilu-uk-custom-promotional-products/status","claim":"https://wellknown.network/agents/dinilu-uk-custom-promotional-products/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/dinilu-uk-custom-promotional-products/claim.json","badge":"https://wellknown.network/agents/dinilu-uk-custom-promotional-products/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/dinilu-uk-custom-promotional-products/history","tools":"https://wellknown.network/api/v1/agents/dinilu-uk-custom-promotional-products/tools"},"ard":{"identifier":"urn:air:dinilu.co.uk:server:dinilu-uk-custom-promotional-products","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"Dinilu UK — custom promotional products","summary":"Live prices, options and shipping quotes in GBP for custom-printed promotional products.","description":"Live prices, options and shipping quotes in GBP for custom-printed promotional products.","publisher":{"name":"uk.co.dinilu","url":null},"homepage":"https://dinilu.co.uk/about-us/developers","repository":null,"version":"1.0.0","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://dinilu.co.uk/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-09-21T15:25:13.333793Z","publishedAt":"2026-09-21T15:25:13.333793Z","registryName":"uk.co.dinilu/mcp"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"commerce.ecommerce","name":"E-commerce Operations","confidence":1,"provenance":"derived"},{"slug":"commerce.pricing","name":"Pricing & Quotes","confidence":0.859,"provenance":"derived"}],"categories":["commerce"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 5h ago.","lastOkAt":"2026-10-10T03:25:32.741Z","lastProbedAt":"2026-10-10T03:25:32.741Z","statusComputedAt":"2026-10-10T03:27:20.065Z","reliability30d":{"probes":64,"successRate":1,"p50Ms":37,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":64,"ok":64,"authBoundaryOk":0,"serviceOk":64,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-10T03:25:32.741Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":34,"error":null,"detail":{"tools":[{"name":"search_products","description":"Find products in this catalogue by free text and/or category. Returns mpn, title, page URL and category for each match. The mpn is what get_product and get_quot"},{"name":"get_product","description":"Get a product's configurable attributes and their options, plus its minimum order quantity and quantity step. Call this before get_quote: the attribute and opti"},{"name":"get_quote","description":"Price a specific configuration and quantity, with production time and shipping options. Indicative, excludes VAT and shipping, never binding. Read the returned "},{"name":"search","description":"Compatibility search for research clients that require a tool named \"search\". Returns only id, title and URL. Prefer search_products, which also filters by cate"},{"name":"fetch","description":"Compatibility fetch for research clients that require a tool named \"fetch\". Returns one product as readable text. It carries NO price: prices depend on quantity"}],"toolCount":5,"toolsHash":"09d7088f37a20c10674e068bf87bba011c19983372c7972255f9e85c396fc93b","serverName":"dinilu-dinilu.co.uk-en-GB","capabilities":["tools","resources","prompts"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T20:31:33.000Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":39,"error":null,"detail":{"tools":[{"name":"search_products","description":"Find products in this catalogue by free text and/or category. Returns mpn, title, page URL and category for each match. The mpn is what get_product and get_quot"},{"name":"get_product","description":"Get a product's configurable attributes and their options, plus its minimum order quantity and quantity step. Call this before get_quote: the attribute and opti"},{"name":"get_quote","description":"Price a specific configuration and quantity, with production time and shipping options. Indicative, excludes VAT and shipping, never binding. Read the returned "},{"name":"search","description":"Compatibility search for research clients that require a tool named \"search\". Returns only id, title and URL. Prefer search_products, which also filters by cate"},{"name":"fetch","description":"Compatibility fetch for research clients that require a tool named \"fetch\". Returns one product as readable text. It carries NO price: prices depend on quantity"}],"toolCount":5,"toolsHash":"09d7088f37a20c10674e068bf87bba011c19983372c7972255f9e85c396fc93b","serverName":"dinilu-dinilu.co.uk-en-GB","capabilities":["tools","resources","prompts"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T14:30:36.321Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":36,"error":null,"detail":{"tools":[{"name":"search_products","description":"Find products in this catalogue by free text and/or category. Returns mpn, title, page URL and category for each match. The mpn is what get_product and get_quot"},{"name":"get_product","description":"Get a product's configurable attributes and their options, plus its minimum order quantity and quantity step. Call this before get_quote: the attribute and opti"},{"name":"get_quote","description":"Price a specific configuration and quantity, with production time and shipping options. Indicative, excludes VAT and shipping, never binding. Read the returned "},{"name":"search","description":"Compatibility search for research clients that require a tool named \"search\". Returns only id, title and URL. Prefer search_products, which also filters by cate"},{"name":"fetch","description":"Compatibility fetch for research clients that require a tool named \"fetch\". Returns one product as readable text. It carries NO price: prices depend on quantity"}],"toolCount":5,"toolsHash":"09d7088f37a20c10674e068bf87bba011c19983372c7972255f9e85c396fc93b","serverName":"dinilu-dinilu.co.uk-en-GB","capabilities":["tools","resources","prompts"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T07:24:47.149Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":33,"error":null,"detail":{"tools":[{"name":"search_products","description":"Find products in this catalogue by free text and/or category. Returns mpn, title, page URL and category for each match. The mpn is what get_product and get_quot"},{"name":"get_product","description":"Get a product's configurable attributes and their options, plus its minimum order quantity and quantity step. Call this before get_quote: the attribute and opti"},{"name":"get_quote","description":"Price a specific configuration and quantity, with production time and shipping options. Indicative, excludes VAT and shipping, never binding. Read the returned "},{"name":"search","description":"Compatibility search for research clients that require a tool named \"search\". Returns only id, title and URL. Prefer search_products, which also filters by cate"},{"name":"fetch","description":"Compatibility fetch for research clients that require a tool named \"fetch\". Returns one product as readable text. It carries NO price: prices depend on quantity"}],"toolCount":5,"toolsHash":"09d7088f37a20c10674e068bf87bba011c19983372c7972255f9e85c396fc93b","serverName":"dinilu-dinilu.co.uk-en-GB","capabilities":["tools","resources","prompts"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T00:24:46.958Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":35,"error":null,"detail":{"tools":[{"name":"search_products","description":"Find products in this catalogue by free text and/or category. Returns mpn, title, page URL and category for each match. The mpn is what get_product and get_quot"},{"name":"get_product","description":"Get a product's configurable attributes and their options, plus its minimum order quantity and quantity step. Call this before get_quote: the attribute and opti"},{"name":"get_quote","description":"Price a specific configuration and quantity, with production time and shipping options. Indicative, excludes VAT and shipping, never binding. Read the returned "},{"name":"search","description":"Compatibility search for research clients that require a tool named \"search\". Returns only id, title and URL. Prefer search_products, which also filters by cate"},{"name":"fetch","description":"Compatibility fetch for research clients that require a tool named \"fetch\". Returns one product as readable text. It carries NO price: prices depend on quantity"}],"toolCount":5,"toolsHash":"09d7088f37a20c10674e068bf87bba011c19983372c7972255f9e85c396fc93b","serverName":"dinilu-dinilu.co.uk-en-GB","capabilities":["tools","resources","prompts"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T17:26:22.770Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":35,"error":null,"detail":{"tools":[{"name":"search_products","description":"Find products in this catalogue by free text and/or category. Returns mpn, title, page URL and category for each match. The mpn is what get_product and get_quot"},{"name":"get_product","description":"Get a product's configurable attributes and their options, plus its minimum order quantity and quantity step. Call this before get_quote: the attribute and opti"},{"name":"get_quote","description":"Price a specific configuration and quantity, with production time and shipping options. Indicative, excludes VAT and shipping, never binding. Read the returned "},{"name":"search","description":"Compatibility search for research clients that require a tool named \"search\". Returns only id, title and URL. Prefer search_products, which also filters by cate"},{"name":"fetch","description":"Compatibility fetch for research clients that require a tool named \"fetch\". Returns one product as readable text. It carries NO price: prices depend on quantity"}],"toolCount":5,"toolsHash":"09d7088f37a20c10674e068bf87bba011c19983372c7972255f9e85c396fc93b","serverName":"dinilu-dinilu.co.uk-en-GB","capabilities":["tools","resources","prompts"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T10:24:03.880Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":35,"error":null,"detail":{"tools":[{"name":"search_products","description":"Find products in this catalogue by free text and/or category. Returns mpn, title, page URL and category for each match. The mpn is what get_product and get_quot"},{"name":"get_product","description":"Get a product's configurable attributes and their options, plus its minimum order quantity and quantity step. Call this before get_quote: the attribute and opti"},{"name":"get_quote","description":"Price a specific configuration and quantity, with production time and shipping options. Indicative, excludes VAT and shipping, never binding. Read the returned "},{"name":"search","description":"Compatibility search for research clients that require a tool named \"search\". Returns only id, title and URL. Prefer search_products, which also filters by cate"},{"name":"fetch","description":"Compatibility fetch for research clients that require a tool named \"fetch\". Returns one product as readable text. It carries NO price: prices depend on quantity"}],"toolCount":5,"toolsHash":"09d7088f37a20c10674e068bf87bba011c19983372c7972255f9e85c396fc93b","serverName":"dinilu-dinilu.co.uk-en-GB","capabilities":["tools","resources","prompts"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T03:23:43.552Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":39,"error":null,"detail":{"tools":[{"name":"search_products","description":"Find products in this catalogue by free text and/or category. Returns mpn, title, page URL and category for each match. The mpn is what get_product and get_quot"},{"name":"get_product","description":"Get a product's configurable attributes and their options, plus its minimum order quantity and quantity step. Call this before get_quote: the attribute and opti"},{"name":"get_quote","description":"Price a specific configuration and quantity, with production time and shipping options. Indicative, excludes VAT and shipping, never binding. Read the returned "},{"name":"search","description":"Compatibility search for research clients that require a tool named \"search\". Returns only id, title and URL. Prefer search_products, which also filters by cate"},{"name":"fetch","description":"Compatibility fetch for research clients that require a tool named \"fetch\". Returns one product as readable text. It carries NO price: prices depend on quantity"}],"toolCount":5,"toolsHash":"09d7088f37a20c10674e068bf87bba011c19983372c7972255f9e85c396fc93b","serverName":"dinilu-dinilu.co.uk-en-GB","capabilities":["tools","resources","prompts"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-07T20:31:06.416Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":38,"error":null,"detail":{"tools":[{"name":"search_products","description":"Find products in this catalogue by free text and/or category. Returns mpn, title, page URL and category for each match. The mpn is what get_product and get_quot"},{"name":"get_product","description":"Get a product's configurable attributes and their options, plus its minimum order quantity and quantity step. Call this before get_quote: the attribute and opti"},{"name":"get_quote","description":"Price a specific configuration and quantity, with production time and shipping options. Indicative, excludes VAT and shipping, never binding. Read the returned "},{"name":"search","description":"Compatibility search for research clients that require a tool named \"search\". Returns only id, title and URL. Prefer search_products, which also filters by cate"},{"name":"fetch","description":"Compatibility fetch for research clients that require a tool named \"fetch\". Returns one product as readable text. It carries NO price: prices depend on quantity"}],"toolCount":5,"toolsHash":"09d7088f37a20c10674e068bf87bba011c19983372c7972255f9e85c396fc93b","serverName":"dinilu-dinilu.co.uk-en-GB","capabilities":["tools","resources","prompts"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-07T14:29:36.927Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":42,"error":null,"detail":{"tools":[{"name":"search_products","description":"Find products in this catalogue by free text and/or category. Returns mpn, title, page URL and category for each match. The mpn is what get_product and get_quot"},{"name":"get_product","description":"Get a product's configurable attributes and their options, plus its minimum order quantity and quantity step. Call this before get_quote: the attribute and opti"},{"name":"get_quote","description":"Price a specific configuration and quantity, with production time and shipping options. Indicative, excludes VAT and shipping, never binding. Read the returned "},{"name":"search","description":"Compatibility search for research clients that require a tool named \"search\". Returns only id, title and URL. Prefer search_products, which also filters by cate"},{"name":"fetch","description":"Compatibility fetch for research clients that require a tool named \"fetch\". Returns one product as readable text. It carries NO price: prices depend on quantity"}],"toolCount":5,"toolsHash":"09d7088f37a20c10674e068bf87bba011c19983372c7972255f9e85c396fc93b","serverName":"dinilu-dinilu.co.uk-en-GB","capabilities":["tools","resources","prompts"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}}],"tools":[{"name":"search_products","description":"Find products in this catalogue by free text and/or category. Returns mpn, title, page URL and category for each match. The mpn is what get_product and get_quot"},{"name":"get_product","description":"Get a product's configurable attributes and their options, plus its minimum order quantity and quantity step. Call this before get_quote: the attribute and opti"},{"name":"get_quote","description":"Price a specific configuration and quantity, with production time and shipping options. Indicative, excludes VAT and shipping, never binding. Read the returned "},{"name":"search","description":"Compatibility search for research clients that require a tool named \"search\". Returns only id, title and URL. Prefer search_products, which also filters by cate"},{"name":"fetch","description":"Compatibility fetch for research clients that require a tool named \"fetch\". Returns one product as readable text. It carries NO price: prices depend on quantity"}],"package":null,"toolSurface":{"id":"ts_ameg9kedqfa2","endpointId":"ep_vws5d9m56b2v","hash":"09d7088f37a20c10674e068bf87bba011c19983372c7972255f9e85c396fc93b","toolCount":5,"serverName":"dinilu-dinilu.co.uk-en-GB","serverVersion":"1.0.0","protocolVersion":"2025-06-18","firstSeenAt":"2026-09-22T15:30:24.488Z","lastSeenAt":"2026-10-10T03:25:32.733Z","observations":64,"toolNames":["search_products","get_product","get_quote","search","fetch"],"distinctSurfaces":1},"endpointFacts":[{"id":"ep_vws5d9m56b2v","url":"https://dinilu.co.uk/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-10-08T17:26:22.779Z","auth":{"observedAt":"2026-10-08T17:26:22.824Z","authRequired":false,"scheme":null,"resourceMetadata":null,"authorizationServer":null,"conformance":{"dpop":false,"rfc8414":false,"rfc9728":false,"pkceS256":false,"clientIdMetadataDocument":false,"dynamicClientRegistration":false}},"tls":{"observedAt":"2026-10-08T17:26:22.871Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"dinilu.co.uk","issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validFrom":"2026-10-07T06:17:32.000Z","validTo":"2027-01-05T06:17:31.000Z","daysToExpiry":86,"sanCount":2,"fingerprint256":"0A:E4:F4:A0:B9:10:39:50:F3:E0:45:C9:BF:DA:35:BE:D6:C6:90:29:7C:98:99:7F:91:60:63:85:9B:57:7E:26"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"uk.co.dinilu/mcp","url":"https://registry.modelcontextprotocol.io/v0/servers/uk.co.dinilu%2Fmcp","firstSeenAt":"2026-09-22T15:21:06.080Z","fetchedAt":"2026-10-08T20:19:14.972Z","normalizedAt":"2026-10-08T20:19:14.972Z"}]},"firstSeenAt":"2026-09-22T15:21:06.080Z","updatedAt":"2026-10-10T03:28:11.654Z"}