Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.closient.com/llms.txt

Use this file to discover all available pages before exploring further.

This page is written for Anthropic’s Connectors Directory review team. It assumes you have a Claude account and ~30 minutes. The reviewer credentials and the OAuth client_id referenced below are shared with you privately in the submission form — not on this page.

1. What Closient is (90 seconds of context)

Closient is a GS1 Digital Link resolver and product catalog. Brands register GTINs (the numbers behind every barcode), attach catalog data, and Closient turns any 2D barcode scan or HTTPS resolution request into a structured product response — name, brand, batch, lot, expiry, recall status, nearest stores carrying it. The Closient MCP server exposes that catalog and resolver to any MCP-compatible agent. The intended user is anyone whose work intersects the physical-goods supply chain: brand operators generating QR codes, retail-tech engineers building scanner apps, compliance analysts checking recall lists, and AI agents answering “is this barcode legitimate / what is this product / where can I buy it” questions. The MCP server is hosted by Closient — there is nothing to install locally.

2. Add the connector in Claude

You can validate the connector from any first-class Claude surface. We recommend claude.ai because it exercises the full OAuth round-trip via the web flow.
  1. Open claude.aiSettings → Connectors → Custom Connectors.
  2. Click Add custom connector.
  3. Paste the production MCP URL:
    https://www.closient.com/mcp/http
    
  4. Click Connect. Claude registers a client via RFC 7591 Dynamic Client Registration. No manual client_id/secret entry is needed.
The connector should appear with eight tools listed. Discovery (tools/list) is unauthenticated, so this step succeeds without signing in. You will be prompted to sign in only when you exercise the one authenticated tool (generate_qr_url) in Section 5. If the connector fails to register, see Troubleshooting at the bottom of this page.

3. Reviewer credentials

The submission form contains the following privately:
  • Closient account email — the seeded reviewer mailbox
  • Closient account password
  • Email-confirmation status — already confirmed; no inbox round-trip needed
  • OAuth fallback client_id and client_secret — only needed if Dynamic Client Registration is disabled in your reviewer harness
You do not need to share or rotate these credentials — the account is exclusively for Anthropic review and is reset between submission cycles. The account has staff flags that disable marketing emails and exempt it from the standard rate limits, so a 30-minute review window comfortably exercises every tool.

4. Sample prompts — exercise each tool

Run these in order from a single Claude chat with the Closient connector enabled. Approximate runtime: 15 minutes including OAuth. The seeded sample product for this account is GTIN 00614141123452 (a real GS1 test code, owned by the GS1 US prefix range used for samples). Resolver rules, lot/expiry metadata, and a pre-generated QR code are seeded against this GTIN.

4.1 validate_gtin — structural check

Prompt:
Use the Closient MCP server to validate GTIN 00614141123452.
Expected behaviour: Claude calls validate_gtin. The response reports the GTIN is valid, normalized to its 14-digit form, and the check digit verifies.
{
  "valid": true,
  "normalized": "00614141123452",
  "length": 14
}
Negative case:
Validate 00000000000001.
Expected: valid: false with a check-digit-mismatch reason.

4.2 resolve_gtin — apply resolver rules

Prompt:
Resolve GTIN 00614141123452 using Closient. Tell me what page a scanner would land on and which rule scope matched.
Expected behaviour: Claude calls resolve_gtin. The response contains a destination_url, the matched scope (one of PRODUCT, BRAND, ORGANIZATION, GLOBAL), and fallback_applied: false. The seeded resolver rule on this GTIN points at a sample product page on www.closient.com.

4.3 lookup_product — structured catalog row

Prompt:
Look up product details for 00614141123452 and summarize the brand, description, and any developer metadata.
Expected behaviour: Claude calls lookup_product and surfaces the seeded record — sample brand name, three-sentence description, ingredient list (this seed is a food-category product), and a developer_metadata block with a lot and expiry set. Prompt:
Search Closient for “organic oat milk” and show me the top three products with brand and GTIN.
Expected behaviour: Claude calls search_products. The seeded catalog contains at least one match (the sample is a food-category product). Top results are returned with brand, GTIN, and a short description. The reviewer account is exempt from per-IP search rate limits, so repeated queries during the review window do not 429. Optional geo boost:
Same query, near 40.7128, -74.0060 within 25 km.
Closient adds proximity boosting against seeded store-location data within a 50 km radius.

4.5 get_product_detail — rich record

Prompt:
Get the full product detail for 00614141123452 — include attributes, images, ingredients, and nutrition.
Expected behaviour: Claude calls get_product_detail and returns the full structured record. The seed includes one product image (hosted on media.closient.com), an ingredient list, and a basic nutrition panel.

4.6 compare_products — side-by-side

The seeded account contains two additional products related to the primary sample (different sizes / variants). GTINs are listed on the seeded product’s detail page. Prompt (substitute the second GTIN from the previous step’s response):
Compare 00614141123452 to <related GTIN> — list the differences in nutrition, size, and price.
Expected behaviour: Claude calls compare_products and produces a two-column comparison. Field-level differences are flagged.

4.7 check_availability — nearby stores

Prompt:
Are there any stores within 25 km of 40.7128, -74.0060 that carry 00614141123452?
Expected behaviour: Claude calls check_availability. The seed includes two sample store locations within 25 km of New York for this GTIN. The response lists store name, address, and approximate distance.

4.8 generate_qr_url — authenticated

This is the one tool that requires OAuth. It is also the differentiator vs. generic GS1 lookups, so please do exercise it. Prompt:
Use Closient to generate a canonical GS1 Digital Link URL for GTIN 00614141123452 with lot LOT-2026-05 and expiry 2027-12-31.
Expected behaviour:
  1. Claude calls generate_qr_url without a token.
  2. Closient returns 403 Forbidden with a WWW-Authenticate header pointing at the Closient OAuth authorization server.
  3. Claude shows you an OAuth consent screen at https://www.closient.com/o/authorize/. The reviewer account is already signed in from the connector setup; you only need to click Approve for the qr:generate scope.
  4. Claude retries the call and reports the canonical Digital Link URL — something like:
    https://id.closient.com/01/00614141123452/10/LOT-2026-05/?17=271231
    
The URL is conformant with the GS1 Digital Link 1.4.1 grammar — plug it into any GS1-conformant resolver (including Closient’s own public resolver) and you’ll be redirected to the same destination that resolve_gtin returned in step 4.2. A pre-generated QR code for this exact URL is attached to the seeded product record so you can verify the output round-trips through a barcode scanner if you have one handy.

5. Expected results summary

StepToolExpected outcome
4.1validate_gtinvalid: true, normalized 14-digit GTIN
4.2resolve_gtindestination_url set, scope populated
4.3lookup_productSeeded brand, description, lot, expiry
4.4search_productsAt least one organic-food result
4.5get_product_detailImage, ingredients, nutrition panel
4.6compare_productsTwo-column diff with field-level flags
4.7check_availabilityTwo NYC-area sample stores
4.8generate_qr_urlGS1 Digital Link URL after OAuth approval
All eight prompts should complete successfully in under 15 minutes of wall-clock time, including the OAuth round-trip.

6. Known limitations

These are intentional and out of scope for this submission:
  • generate_qr_url requires a paid Closient plan in production. The reviewer account is a staff-flagged exception with the same capability set as a paid Pro account — you will not hit a paywall.
  • Image attachments on get_product_detail return signed URLs with a 15-minute expiry. If you let the response sit for longer and then click the URL, you may need to re-call the tool.
  • search_products geographic boosting only applies inside the US right now. International coordinates return non-geo-boosted results.
  • Tool annotations (readOnlyHint, destructiveHint, idempotentHint) are populated for all eight tools — see MCP Tool Annotations for the semantics. generate_qr_url is annotated as a writeable, non-destructive operation; the other seven are read-only.
  • Audit logging. Reviewer-session activity is captured to a staff-only audit log for our own learning — there is no PII beyond the seeded account’s own metadata.

7. Troubleshooting

SymptomLikely cause
Connector won’t registerConfirm the URL is https://www.closient.com/mcp/http (note the /http suffix — the bare /mcp is a legacy SSE endpoint and rejects Streamable HTTP clients).
tools/list is emptyClaude is talking to the SSE endpoint by mistake. Re-add with the URL above.
OAuth consent screen never appearsYour reviewer harness may not honour WWW-Authenticate. Use the fallback OAuth client_id / client_secret from the submission form to mint a token manually — see MCP Authentication.
429 Too Many RequestsThe reviewer account should be rate-limit-exempt; if you see a 429, the staff flag may not have propagated. Email the contact below.
Anything elseEmail the contact in Section 8.

8. Contact

For any question that blocks the review, email christian@closient.com. Expected response time during a review window: under 4 hours during US/EU business hours, under 24 hours otherwise. The submission packet for cross-reference: Thank you for reviewing.