Docs
From zero to a verified company in three steps.
VerifyDesk is a remote MCP server over Streamable HTTP. Any MCP client can reach it, and so can plain HTTP if you would rather not use MCP at all.
Step 1
Get an API key
Keys look like atw_live_... and go in an Authorization: Bearer header. Accounts open with the public launch; until then the endpoint below is live and the responses on this page are real captures from it.
Step 2
Connect your agent
Claude Code
claude mcp add --transport http verifydesk \ https://atw-verifydesk.sory-kouyate-84e.workers.dev/mcp \ --header "Authorization: Bearer atw_live_your_key"
Claude Desktop, Cursor, Windsurf
Same shape in each client's MCP config file.
{
"mcpServers": {
"verifydesk": {
"type": "http",
"url": "https://atw-verifydesk.sory-kouyate-84e.workers.dev/mcp",
"headers": {
"Authorization": "Bearer atw_live_your_key"
}
}
}
}Step 3
Call a tool
Ask your agent to verify a company, or call the endpoint directly:
curl -X POST https://atw-verifydesk.sory-kouyate-84e.workers.dev/mcp \
-H "Authorization: Bearer atw_live_your_key" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "verify_company",
"arguments": { "country": "FR", "query": "552032534" }
}
}'Credits
One prepaid balance covers every tool. A standard call costs 1 credit, a light read costs 0.2, and get_usage is free. If a call fails on our side, the credit is refunded automatically. Credits never expire.
| Tool | Credits |
|---|---|
| verify_company | 1 |
| verify_vat | 0.2 |
| validate_iban | 0.2 |
| screen_sanctions | 1 |
| enrich_company | 1 |
| get_usage | free |
When something goes wrong
Errors are written for the agent that has to recover from them: what happened, and what to try next. No stack traces, ever. Every release runs a scenario suite that fails the build if an error message stops being actionable.
{
"content": [{
"type": "text",
"text": "No FR company found for '999999999'. Check the spelling or
registration number; for FR use SIREN (9 digits) or SIRET (14 digits)."
}],
"isError": true
}Rate limit: 60 calls per minute per key by default. Exceeding it returns HTTP 429 with a Retry-After header rather than a silent failure.