# Getting started

These docs cover the two developer surfaces for MC4P: the Verification API
and Verify MCP.

## Fetch a certificate

```bash
curl https://api.mintall.ai/api/v1/mc4p/products/$PRODUCT_ID/certificate
```

You get a JSON-LD document describing the product, its certified images, and a
`proof` block holding an RS256 JWT. See [Certificates](/api/certificates).

## Verify it

```bash
curl -X POST https://api.mintall.ai/api/v1/mc4p/products/$PRODUCT_ID/verify \
  -H "Content-Type: application/json" \
  -d '{ "productUrl": "https://merchant.example/products/pendant" }'
```

The response is a `status` plus the individual checks behind it. Or skip the
round trip: fetch the [public keys](/api/verifying#verify-offline-with-jwks)
once and check the signature yourself. See [Verifying](/api/verifying).

Only have a product URL? [Page checks](/api/page-checks) take one and tell you what is
on the page.

**Three states, not two:** A certificate can come back with or without a `proof` block, and verification
  can come back `verified`, `failed`, or `unverified`. `unverified` is not a
  failure: the request carried no signed claim. See [the three
  verdicts](/api/verifying#the-three-verdicts).

## Verify MCP

The same verification, exposed as an MCP tool:

```bash
claude mcp add --transport http verify-mintall https://verify-mcp.mintall.ai/mcp
```

[Connect your client](/mcp) covers Claude Code, Claude Desktop, ChatGPT,
Codex, Cursor, VS Code, and the MCP SDKs. [The verify tool](/mcp/tool) has the
arguments and the result shape.