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.- Open claude.ai → Settings → Connectors → Custom Connectors.
- Click Add custom connector.
-
Paste the production MCP URL:
- Click Connect. Claude registers a client via RFC 7591 Dynamic Client Registration. No manual client_id/secret entry is needed.
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
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 GTIN00614141123452 (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.
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.
4.4 search_products — natural-language search
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):
CompareExpected behaviour: Claude calls00614141123452to<related GTIN>— list the differences in nutrition, size, and price.
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 ofExpected behaviour: Claude calls40.7128, -74.0060that carry00614141123452?
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 GTINExpected behaviour:00614141123452with lotLOT-2026-05and expiry2027-12-31.
-
Claude calls
generate_qr_urlwithout a token. -
Closient returns
403 Forbiddenwith aWWW-Authenticateheader pointing at the Closient OAuth authorization server. -
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 theqr:generatescope. -
Claude retries the call and reports the canonical Digital Link
URL — something like:
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
| Step | Tool | Expected outcome |
|---|---|---|
| 4.1 | validate_gtin | valid: true, normalized 14-digit GTIN |
| 4.2 | resolve_gtin | destination_url set, scope populated |
| 4.3 | lookup_product | Seeded brand, description, lot, expiry |
| 4.4 | search_products | At least one organic-food result |
| 4.5 | get_product_detail | Image, ingredients, nutrition panel |
| 4.6 | compare_products | Two-column diff with field-level flags |
| 4.7 | check_availability | Two NYC-area sample stores |
| 4.8 | generate_qr_url | GS1 Digital Link URL after OAuth approval |
6. Known limitations
These are intentional and out of scope for this submission:generate_qr_urlrequires 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_detailreturn 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_productsgeographic 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_urlis 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
| Symptom | Likely cause |
|---|---|
| Connector won’t register | Confirm 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 empty | Claude is talking to the SSE endpoint by mistake. Re-add with the URL above. |
| OAuth consent screen never appears | Your 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 Requests | The reviewer account should be rate-limit-exempt; if you see a 429, the staff flag may not have propagated. Email the contact below. |
| Anything else | Email 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:- Install the MCP Server — the public install page that your users will land on if Closient is accepted.
- MCP Quickstart — the public quickstart.
- Tool Reference — input/output schemas for every tool.
- MCP Authentication — the OAuth 2.1
step-up flow that gates
generate_qr_url. - MCP Tool Annotations — how Closient declares read/write/idempotency hints.
- MCP Error Contract — JSON-RPC + RFC 9457 error semantics.
- MCP Identity Propagation — agent vs. end-user actor in audit logs.