agenttoolworks

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

Give an email address on the signup page and you get a working key plus 100 free credits. No password and no card. Keys look like atw_live_... and go in an Authorization: Bearer header.

The key is shown once, because we store only a hash of it. One key covers VerifyDesk, JobsRadar and InvoiceForge on one shared credit balance.

Step 2

Connect your agent

Claude Code

terminal
claude mcp add --transport http verifydesk \
  https://verifydesk.agenttoolworks.com/mcp \
  --header "Authorization: Bearer atw_live_your_key"

Claude Desktop, Cursor, Windsurf

Same shape in each client's MCP config file.

mcp config
{
  "mcpServers": {
    "verifydesk": {
      "type": "http",
      "url": "https://verifydesk.agenttoolworks.com/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:

httpworks today
curl -X POST https://verifydesk.agenttoolworks.com/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" }
    }
  }'

All three endpoints

One key works on all of them against one credit balance, so adding a second server costs nothing but a line of config. The walkthrough above uses VerifyDesk; substitute the URL and the local name and everything else is identical.

ServerEndpoint
verifydeskhttps://verifydesk.agenttoolworks.com/mcp
jobsradarhttps://jobsradar.agenttoolworks.com/mcp
invoiceforgehttps://invoiceforge.agenttoolworks.com/mcp

The older *.workers.dev hostnames still answer and will keep answering, so anything already configured against one keeps working. New setups should use these.

Credits

One prepaid balance covers every tool, on every server. A standard call costs 1 credit, a light read costs 0.2, and get_usage is free. Credits never expire.

Billing settles after the call, not before, so a call that fails on our side costs you nothing. There is no charge to reverse and therefore no reversal that can go wrong. The failed call still appears in your usage with a cost of zero, so you can see it happened.

ToolCredits
verify_company1
verify_vat0.2
validate_iban0.2
screen_sanctions1
enrich_company1
get_usagefree

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.

error response
{
  "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.