The Closient MCP server lets any AI agent that speaks the Model Context Protocol call Closient directly — validate GTINs, resolve them to product pages, look up catalog data, search by natural language, compare products, find nearby availability, and (with auth) generate Digital Link URLs for QR codes. The server is hosted by Closient — you do not install or run anything locally. Pointing your MCP client at the server URL is enough.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.
| Value | |
|---|---|
| Server URL (Streamable HTTP) | https://www.closient.com/mcp/http |
| Server URL (legacy SSE) | https://www.closient.com/mcp/sse |
| Health probe | https://www.closient.com/mcp/health |
| Authorization Server metadata | /.well-known/oauth-authorization-server |
| Protected Resource metadata | /.well-known/oauth-protected-resource |
Tier 1 — first-class clients
These clients ship MCP support out of the box. Pick the matching tab and follow the snippet — no extra packages, no local server, no JSON hand-editing.- Claude Code
- Claude Desktop
- Claude.ai
- Cursor
- VS Code
Run once from a terminal:That’s it.
claude mcp list should now show closient and the tools
become available to any Claude Code session in this workspace.To remove later: claude mcp remove closient.Tier 2 — Windsurf
Windsurf reads amcp_config.json file in the project root (or the
global ~/.codeium/windsurf/mcp_config.json). Add:
Tier 3 — generic JSON config
Any MCP-compatible client (Cline, Zed, Trae, Continue, custom agents built on the MCP Python or TypeScript SDKs, etc.) can connect with the generic Streamable HTTP entry below. Paste it into whatever configuration format the client uses for MCP servers.What you get
Once installed, the client discovers the following tools (no auth required for discovery):| Tool | Auth | Use case |
|---|---|---|
ping | none | Health probe — returns pong. |
validate_gtin | none | Check a GTIN’s structure and check digit. |
resolve_gtin | none | Apply the resolver-rule hierarchy and return the destination URL. |
lookup_product | none | Look up structured product data by GTIN. |
search_products | none | Natural-language search across the catalog, optionally with geo boosting. |
get_product_detail | none | Rich product record — attributes, images, ingredients, nutrition. |
compare_products | none | Side-by-side comparison of 2-5 products. |
check_availability | none | Find nearby physical stores carrying a GTIN. |
generate_qr_url | OAuth | Build the canonical Digital Link URL to encode in a 2D barcode. |
Authentication
The first eight tools above work immediately — no token, no setup.generate_qr_url requires an OAuth 2.1 bearer token with the
qr:generate scope. When you (or your agent) call it without a
token, Closient returns 403 Forbidden with a WWW-Authenticate
header that tells the MCP client where to start the OAuth flow. Most
first-class MCP hosts (Claude Desktop, Cursor, VS Code) handle the
prompt-and-retry transparently — see
Authentication for the full flow.
Verifying the connection
After installing, ask your AI tool something like:Use the Closient MCP server to validate GTIN 00614141123452.The agent should call
validate_gtin and report the GTIN is valid
(it’s a real GS1 test code). If you get a “no MCP server named
closient” error, restart the client — most hosts only pick up new
server configs on launch.
A direct sanity check from a terminal:
200 OK response means the hosted server is reachable from your
network.
Troubleshooting
| Symptom | Likely cause |
|---|---|
| Client can’t connect | Corporate proxy or firewall blocking closient.com. Try curl https://www.closient.com/mcp/health from the same host. |
tools/list returns empty | Client is configured for transport: stdio instead of http. Closient is a remote server only. |
generate_qr_url always returns 403 | Token missing the qr:generate scope. Re-run the OAuth flow and accept the consent screen — older tokens issued without the scope must be refreshed. |
| OAuth pop-up never appears | Client doesn’t honour the WWW-Authenticate header (some self-built MCP clients). Mint a token manually via OAuth Authentication and pass it in Authorization: Bearer <token>. |
| 401 instead of 403 | Token is expired. Access tokens last 24 h, refresh tokens 90 d. |
Reference
- Tool Reference — input/output schemas for every tool.
- Authentication — OAuth 2.1 step-up flow.
- MCP Error Contract — how failures surface over JSON-RPC.
- MCP Identity Propagation — agent vs. end-user actor in audit logs.
- MCP Tool Annotations —
readOnlyHint/destructiveHintsemantics. - Model Context Protocol spec — the underlying open standard.