Evaluate packages, containers, MCP servers, agent skills and plugins for provenance, permissions and runtime risk.
- Product and pricing
- Developer documentation
- Create a free account
- OpenAPI contract
- Postman collection
The public demo statically analyzes the supplied metadata with the production scanner and policy engine. It never installs or executes the component.
curl -sS -X POST https://agentsupplytrust-api.com/v1/demo/scan \
-H 'content-type: application/json' \
-d '{"kind":"mcp_server","name":"acme-mcp","version":"2.1.0","provenance":{"signed":true,"publisherVerified":true,"sourceRepo":"https://github.com/acme/mcp"},"permissions":["tool.invoke"]}'The response explains the policy decision and quotes the observed evidence:
{
"verdict": {
"decision": "allow",
"reasons": [],
"policyVersion": "default-v1",
"componentDigest": "sha256:30c6a33c07624b0d65e26610f34752553d12ae5355154fb089d94e1223a8c448",
"riskScore": 0
},
"scan": {
"riskScore": 0,
"severityCounts": {"critical": 0, "high": 0, "medium": 0, "low": 0},
"findings": []
},
"requestId": "req_example"
}That is the first useful result: verdict.decision is the enforcement answer;
scan.findings provides the auditable reasons and exact observed evidence.
curl -sS -X POST https://agentsupplytrust-api.com/v1/keys \
-H 'content-type: application/json' \
-d '{"email":"you@example.com","source":{"source":"github","medium":"developer","campaign":"agent-supply-trust-github","content":"readme"}}'
curl -sS -X POST https://agentsupplytrust-api.com/v1/keys/claim \
-H 'content-type: application/json' \
-d '{"token":"PASTE_ONE_TIME_TOKEN_FROM_EMAIL"}'
export KEY='PASTE_API_KEY_FROM_CLAIM_RESPONSE'Ask for an authenticated, auditable policy verdict:
curl -sS -X POST https://agentsupplytrust-api.com/v1/verdicts \
-H "Authorization: Bearer $KEY" \
-H 'content-type: application/json' \
-d '{"component":{"kind":"mcp_server","name":"acme-mcp","version":"2.1.0","provenance":{"signed":true,"publisherVerified":true,"sourceRepo":"https://github.com/acme/mcp"},"permissions":["tool.invoke"]}}'- Python SDK — currently reads the legacy
compatibility variable
SUPPLY_CHAIN_TRUST_API_KEY - TypeScript SDK
The legacy filename and environment variable remain supported so existing integrations do not break; the public product name is Agent Supply Trust. The OpenAPI document is the authoritative operation and schema contract.
The runnable Postman collection includes the public demo, the no-key checkout path, key bootstrap, and API-key product operations. It intentionally excludes the provider-only billing webhook and browser-session subscription, invoice, and payment routes: those require a signed hub request or the dashboard's HttpOnly session and CSRF controls, and a bearer API key cannot run them. The OpenAPI document linked above remains the reference for those operations.
401: setKEYto the value returned once by/v1/keys/claim.400 invalid_request: provide a supportedkindplus non-emptynameandversion; permissions must use the documented enum. A client-side schema tool may label the same input problem422before send.429: wait forRetry-Afterwhen present, then retry with backoff.
Errors use a stable error.code and request ID. Share only the request ID with
support, never private component instructions, an API key or claim token.
The key request above uses the stable tuple
github / developer / agent-supply-trust-github / readme. The Postman
collection and SDKs carry their own source metadata. Attribution compares
qualified activation and retained use; it does not claim that this channel
already performs.