Agent Access
Organic Web Checker runs as a native tool inside AI agents and automated compliance workflows — not just as a website.
🤖
Compliance checks as a native AI tool
Both the MCP server and REST API are live. Agents can discover tools automatically, submit checks, and receive structured JSON reports — no web UI required. Credits are deducted per check regardless of how the call is made.
✓ MCP Server Live
✓ REST API v1 Live
✓ API Key Auth Live
🔌 MCP Server
The MCP server lets Claude, Cursor, and other Model Context Protocol-compatible agents call OWC as a native tool. The agent discovers available tools automatically on connect — no hardcoded prompting required.
POST
/mcp
JSON-RPC 2.0 endpoint. Requires
X-API-Key header. Supports initialize, tools/list, and tools/call.Available tools
check_organic_compliance
Submit a compliance check. Required:
operation_name (OID name), website_url. Optional: force_fresh — bypass 24-hour OID cache. Returns a full compliance report as JSON.get_oid_certificate
Fetch raw OID certificate data for an operation. Required:
operation_name. Returns certifier, status, certified products, and cert scope. Fast after first fetch (24-hour cache).Connect from Claude Code — add to
~/.claude/settings.json{
"mcpServers": {
"organic-checker": {
"type": "http",
"url": "https://www.organicwebchecker.com/mcp",
"headers": {
"X-API-Key": "owc_live_YOUR_KEY_HERE"
}
}
}
}
Test with curl
curl -s -X POST https://www.organicwebchecker.com/mcp \
-H "Content-Type: application/json" \
-H "X-API-Key: owc_live_YOUR_KEY" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'
⚠ Compliance checks launch a Playwright browser to scrape the USDA OID — expect 30–90 seconds per check. Use
get_oid_certificate alone when you only need cert data (cache makes it fast after the first fetch).
⚡ REST API v1
For integrations that don’t use MCP. All endpoints under
/api/v1/ require a Bearer token or X-API-Key header. Rate limit: 60 checks per rolling hour per key.POST
/api/v1/check
Submit a check. Body:
operation_name, website_url. Returns {"job_id": "..."}. Deducts 1 credit.GET
/api/v1/check/<job_id>
Poll for results. Returns
status (pending | running | done | error) and full report JSON when done. Fields: flagged, caution, verified, marketing.Example
API_KEY="owc_live_YOUR_KEY"
# Submit
JOB=$(curl -s -X POST https://www.organicwebchecker.com/api/v1/check \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{"operation_name":"Green Hills Farm","website_url":"https://example.com"}' \
| jq -r '.job_id')
# Poll until done (check every 5s)
curl -s "https://www.organicwebchecker.com/api/v1/check/$JOB" \
-H "Authorization: Bearer $API_KEY" | jq '.status,.report'
🔑 API Keys
Generate and manage API keys from your account dashboard. Keys use the
owc_live_ prefix and are tied to your account credits — checks are deducted from the account that owns the key. Keys never expire unless revoked.🔒 Security
- ✓ API key authentication on all programmatic endpoints (
/mcp,/api/v1/) - ✓ Rate limiting — 60 checks per rolling hour per key
- ✓ Credit gating — each check deducts from the owning account; zero credits = 402 error
- ✓ Job ownership enforcement — keys can only read jobs belonging to their account
- ✓ Stripe webhook HMAC-SHA256 signature verification
- ✓ Input sanitization — operation name and URL validated before any processing
There is no formal agent identity standard yet. We follow current best practice: API keys + ownership enforcement. We will adopt emerging standards (e.g., OpenID for agents) as they mature.
⏭ Coming Soon
⇨ Webhooks
Push results to your URL the moment a check completes. HMAC-SHA256 signed POST — verify the signature server-side before processing. Configure a webhook URL from your account settings.
⇨ Batch endpoint
Submit an array of operations in a single
POST /api/v1/batch call. Returns an array of job IDs. Credits deducted atomically upfront — no partial runs.⇨ OpenAPI spec
Machine-readable YAML spec + Swagger UI at
/api/openapi.yaml. Enables auto-discovery in Zapier, Make.com, and IDE plugins without reading the docs manually.