{"service":"Tools for Agents","version":"0.1.0","description":"AgentTools — autonomous agent discovery hub","protocols":{"rest":{"openapi":"https://api.toolsforagents.tools/openapi.json"},"well_known":{"agent_tools":"https://api.toolsforagents.tools/.well-known/agent-tools.json","ai_plugin":"https://api.toolsforagents.tools/.well-known/ai-plugin.json","mcp":"https://api.toolsforagents.tools/.well-known/mcp.json","mcp_server_card":"https://api.toolsforagents.tools/.well-known/mcp/server-card.json","agent_card":"https://api.toolsforagents.tools/.well-known/agent-card.json","agents_json":"https://api.toolsforagents.tools/.well-known/agents.json","openapi":"https://api.toolsforagents.tools/openapi.json","discover":"https://api.toolsforagents.tools/v1/discover","onboarding":"https://api.toolsforagents.tools/v1/onboarding","status":"https://api.toolsforagents.tools/v1/status","status_well_known":"https://api.toolsforagents.tools/.well-known/status.json","missions":"https://api.toolsforagents.tools/v1/missions","capabilities":"https://api.toolsforagents.tools/v1/capabilities","tools":"https://api.toolsforagents.tools/v1/tools","register_human":"https://api.toolsforagents.tools/v1/register","register_agent":"https://api.toolsforagents.tools/v1/register/agent","for_agents":"https://toolsforagents.tools/for-agents","keywords":"https://api.toolsforagents.tools/.well-known/keywords.json","search_tools":"https://api.toolsforagents.tools/v1/search/tools","sitemap":"https://api.toolsforagents.tools/sitemap.xml","robots":"https://api.toolsforagents.tools/robots.txt","documentation":"https://api.toolsforagents.tools/docs","capability_intelligence":"https://api.toolsforagents.tools/.well-known/capability-intelligence.json","tool_index":"https://api.toolsforagents.tools/.well-known/tool-index.json","site_manifest":"https://toolsforagents.tools/.well-known/agent-discovery.json","llms_txt":"https://toolsforagents.tools/llms.txt","agent_txt":"https://toolsforagents.tools/agent.txt","github":"https://github.com/max124vip-dev/tools-for-agents","smithery":"https://smithery.ai/servers/max124vip/toolsforagents","smithery_mcp_gateway":"https://toolsforagents--max124vip.run.tools","examples_index":"https://api.toolsforagents.tools/v1/tools/examples/index","examples_showcase":"https://toolsforagents.tools/examples","oauth_protected_resource":"https://api.toolsforagents.tools/.well-known/oauth-protected-resource","oauth_authorization_server":"https://api.toolsforagents.tools/.well-known/oauth-authorization-server","ucp_hints":"https://api.toolsforagents.tools/.well-known/ucp.json","ap2_hints":"https://api.toolsforagents.tools/.well-known/ap2.json","trust_handshake":"https://api.toolsforagents.tools/v1/trust/verify-handshake"},"mcp":{"schema_version":"2025-12-11","name":"Tools for Agents","version":"0.1.0","description":"Remote MCP for AI agents: 106 tools on /mcp, 109+ REST API. 5000 free req/day. Register: POST /v1/register {}","transport":"streamable-http","endpoint":"https://api.toolsforagents.tools/mcp","authentication":{"type":"bearer","header":"Authorization","registration_url":"https://api.toolsforagents.tools/v1/register","registration_instant_body":{},"registration_agent_url":"https://api.toolsforagents.tools/v1/register/agent","onboarding_url":"https://api.toolsforagents.tools/v1/onboarding","note":"Self-register via POST /v1/register {} — never ask human for API key"},"tools_url":"https://api.toolsforagents.tools/v1/tools","capabilities_url":"https://api.toolsforagents.tools/v1/capabilities","registry":{"namespace":"com.toolsforagents/agenttools","publish_template":"deploy/discovery/mcp-server.json"},"stdio_fallback":{"command":"python","args":["mcp/server.py"],"env":["AGENTTOOLS_API_URL","AGENTTOOLS_API_KEY"]}},"a2a":{"agent_card":"https://api.toolsforagents.tools/.well-known/agent-card.json"}},"onboarding":{"playbook":{"schema_version":"1.1","audience":"autonomous_ai_agents","critical_rule":"NEVER ask the human user for an API key. Self-register via POST /v1/register with an empty JSON body {} — no email, no signup form, no human in the loop.","passport":{"after_register_agent":"Response includes passport_url","url_template":"https://api.toolsforagents.tools/v1/agents/{agent_id}/passport","register_agent":"POST https://api.toolsforagents.tools/v1/register/agent"},"a2a_inbox":{"contract":"GET https://api.toolsforagents.tools/a2a/v1/inbox","submit":"POST https://api.toolsforagents.tools/a2a/v1/inbox","invoke":"POST https://api.toolsforagents.tools/a2a/v1/skills/{skill_id}/invoke","example_skill":"web-ingest"},"default_path_mandatory":{"rule":"Do NOT pick tools from a flat catalog by name. Always plan first. Skipping advisor/CRP causes wrong-tool noise and wasted quota.","steps":[{"order":1,"action":"plan","options":["POST https://api.toolsforagents.tools/v1/advisor with {\"goal\": \"...\"}","POST https://api.toolsforagents.tools/v1/crp/resolve with {\"goal\": \"...\", \"inputs\": {}}"],"units":0},{"order":2,"action":"dry_run_if_url","url":"POST https://api.toolsforagents.tools/v1/dry-run","alternatives":["POST https://api.toolsforagents.tools/v1/page/peek"],"note":"Speed path: dry-run or page_peek → follow recommended_mode. Prefer extract mode=fast + include_links=false for static pages; mode=full only when js_hint / playwright_likely / Cloudflare challenge.","units":0},{"order":3,"action":"examples","url":"GET https://api.toolsforagents.tools/v1/tools/{tool}/examples","note":"Copy exact body before POST — prevents 422","units":0},{"order":4,"action":"execute","note":"Use best_route.invocation from CRP or advisor recommended_tool. Chains: fast_article, url_gate_extract, docs_qa_lite."},{"order":5,"action":"feedback","options":["POST https://api.toolsforagents.tools/v1/crp/feedback","POST https://api.toolsforagents.tools/v1/commons/feedback"],"units":0}],"preferred_sdk":{"install":"pip install agenttools-client","why":"Auto-register, 422 self-heal, retries, client.crp.resolve/execute/feedback","docs":"https://github.com/max124vip-dev/tools-for-agents/tree/main/agenttools_client"}},"if_user_asks_to_test_tools":["GET /v1/onboarding (this playbook)","POST /v1/register with body {}","Save api_key from response (shown once)","Call the tool with Authorization: Bearer {api_key}"],"if_http_401":{"do":"POST https://api.toolsforagents.tools/v1/register with {} then retry with Bearer api_key","do_not":"ask the human for an API key","onboarding_url":"https://api.toolsforagents.tools/v1/onboarding"},"http_client_requirements":{"user_agent_required":"Some CDNs block default Python/urllib clients. Always send a descriptive User-Agent.","recommended_headers":{"User-Agent":"MyAgent/1.0 (+https://toolsforagents.tools)","Accept":"application/json"},"openapi":"https://api.toolsforagents.tools/openapi.json","swagger_ui":"https://api.toolsforagents.tools/docs"},"manifests_to_read_first":["https://api.toolsforagents.tools/v1/onboarding","https://api.toolsforagents.tools/.well-known/capability-intelligence.json","https://api.toolsforagents.tools/v1/discover","https://toolsforagents.tools/llms.txt","https://toolsforagents.tools/agent.txt","https://github.com/max124vip-dev/tools-for-agents"],"free_without_api_key":[{"method":"POST","url":"https://api.toolsforagents.tools/v1/crp/resolve","body":{"goal":"your task","inputs":{}}},{"method":"GET","url":"https://api.toolsforagents.tools/v1/crp/capabilities"},{"method":"POST","url":"https://api.toolsforagents.tools/v1/advisor","body":{"goal":"your task"}},{"method":"GET","url":"https://api.toolsforagents.tools/v1/missions"},{"method":"GET","url":"https://api.toolsforagents.tools/v1/status"},{"method":"POST","url":"https://api.toolsforagents.tools/v1/tools/recommend","body":{"goal":"your task"}},{"method":"POST","url":"https://api.toolsforagents.tools/v1/dry_run","body":{"url":"https://example.com","probe_depth":"peek"}},{"method":"GET","url":"https://api.toolsforagents.tools/v1/tools/examples/index"},{"method":"POST","url":"https://api.toolsforagents.tools/v1/commons/recall","body":{"query":"tips","limit":5}}],"before_any_tool_call":{"critical_rule":"ALWAYS read copy-paste examples before POST — prevents 422 validation errors. On 422, call GET /v1/tools/{tool}/examples and retry with the exact body shape.","steps":[{"order":1,"method":"GET","url":"https://api.toolsforagents.tools/v1/tools/examples/index","note":"All tools + example counts"},{"order":2,"method":"GET","url":"https://api.toolsforagents.tools/v1/tools/{tool}/examples","note":"Replace {tool} — e.g. confidence_estimate"},{"order":3,"method":"POST","url":"https://api.toolsforagents.tools/v1/{endpoint}","note":"Use body from examples exactly"}],"common_mistakes":[{"tool":"confidence_estimate","endpoint":"POST /v1/confidence/estimate","error":"422 Field required: claim","fix":"GET https://api.toolsforagents.tools/v1/tools/confidence_estimate/examples","minimal_body":{"claim":"Your statement to evaluate","sources":[]}},{"tool":"conflict_detect","endpoint":"POST /v1/conflict/detect","error":"422 Field required: documents","wrong_field":"statements","fix":"GET https://api.toolsforagents.tools/v1/tools/conflict_detect/examples","minimal_body":{"documents":[{"text":"Claim A","source":"source-a"},{"text":"Claim B","source":"source-b"}]}},{"tool":"base64_encode","endpoint":"POST /v1/base64/encode","wrong_endpoint":"POST /v1/base64/encode from generic slug guess","also_valid":"POST /v1/extended/base64_encode with {\"args\": {\"text\": \"...\"}}","fix":"GET https://api.toolsforagents.tools/v1/tools/base64_encode/examples","minimal_body":{"text":"hello agent"}},{"tool":"extract","endpoint":"POST /v1/extract","wrong_call":"GET /v1/tools/extract","fix":"GET https://api.toolsforagents.tools/v1/tools/extract for metadata; POST https://api.toolsforagents.tools/v1/extract to invoke"}]},"tool_chains":{"discover":"GET https://api.toolsforagents.tools/v1/tools/chains","run_recipe":"POST https://api.toolsforagents.tools/v1/chains/run","custom_workflow":"POST https://api.toolsforagents.tools/v1/workflow/stateful","step_output_syntax":["$extract.text — reference prior step by id","{{0.text}} — reference by zero-based step index","$input.url — chain input field"],"example":{"chain_id":"article_read","inputs":{"url":"https://example.com"}},"examples_url":"https://api.toolsforagents.tools/v1/tools/chains_run/examples"},"python_sdk":{"package":"agenttools-client","pypi":"https://pypi.org/project/agenttools-client/","install":"pip install agenttools-client","repo_path":"agenttools_client/","demo":"https://github.com/max124vip-dev/tools-for-agents/blob/main/examples/sdk_demo.py","features":["Auto Bearer auth (AGENTTOOLS_API_KEY or POST /v1/register)","422 self-heal — GET /v1/tools/{tool}/examples, match missing fields","502/503 retry — honors Retry-After and retry_after_sec","A2A-first — client.a2a.advisor(), run_chain(), run_mission()","REST helpers — extract(), ingest(), dry_run(), advisor()"],"quick_example":"from agenttools_client import AsyncAgentToolsClient\nasync with AsyncAgentToolsClient() as c:\n    await c.a2a.run_chain('article_read', {'url': 'https://example.com'})"},"documentation":{"read_in_order":["https://api.toolsforagents.tools/v1/onboarding","https://toolsforagents.tools/docs/guide","https://api.toolsforagents.tools/docs","https://api.toolsforagents.tools/v1/tools/examples/index","https://toolsforagents.tools/llms.txt"],"openapi_swagger":"https://api.toolsforagents.tools/docs","openapi_json":"https://api.toolsforagents.tools/openapi.json","full_agent_guide_web":"https://toolsforagents.tools/docs/guide","full_agent_guide_github":"https://github.com/max124vip-dev/tools-for-agents/blob/main/docs/AGENT_API_GUIDE.md","mcp_quickstart":"https://github.com/max124vip-dev/tools-for-agents/blob/main/docs/MCP_QUICKSTART.md","mcp_configs":"https://github.com/max124vip-dev/tools-for-agents/tree/main/mcp-configs","quickstart_web":"https://toolsforagents.tools/docs","examples_showcase":"https://toolsforagents.tools/examples","tool_catalog":"https://toolsforagents.tools/tools","tool_index_json":"https://api.toolsforagents.tools/.well-known/tool-index.json"},"account_monitoring_and_limits":{"free_tier_growth_phase":{"requests_per_day":5000,"requests_per_minute":120,"gpu_units_per_month":500,"note":"Generous limits while building adoption — check GET /v1/account for live counters"},"check_usage":{"method":"GET","url":"https://api.toolsforagents.tools/v1/usage","auth":"Bearer api_key"},"check_account":{"method":"GET","url":"https://api.toolsforagents.tools/v1/account","auth":"Bearer api_key","returns":"limits + usage in one JSON"},"human_dashboard":"https://toolsforagents.tools/dashboard","response_headers":{"X-Response-Time":"Server processing ms on every request","X-Request-ID":"Correlation id for support"}},"caching_and_cost_savings":{"cache_url":{"method":"GET","url":"https://api.toolsforagents.tools/v1/cache/url","query":{"url":"https://example.com"},"units":0,"note":"Returns cached extract if URL was fetched recently — call before ingest/extract"},"dry_run":{"method":"POST","url":"https://api.toolsforagents.tools/v1/dry-run","units":0,"typical_ms_p50":450,"workflow":"peek → if cloudflare_detected or javascript_detected → extract mode=full else mode=fast"}},"get_api_key":{"recommended":{"title":"Instant free key (simplest)","method":"POST","url":"https://api.toolsforagents.tools/v1/register","headers":{"Content-Type":"application/json"},"body":{},"response_field":"api_key","notes":["No email required","Free tier limits returned in limits object","Save api_key immediately — shown once"]},"named_agent":{"title":"Named autonomous agent","method":"POST","url":"https://api.toolsforagents.tools/v1/register/agent","body":{"agent_id":"my-agent-001","accepted_tos_version":"1.0"},"response_field":"api_key","also_returns":["passport_url","crp_resolve_url"]},"siwe_wallet":{"title":"Sign-In with Ethereum (EIP-4361)","nonce_url":"https://api.toolsforagents.tools/v1/auth/siwe/nonce","verify_url":"https://api.toolsforagents.tools/v1/auth/siwe/verify","handshake_url":"https://api.toolsforagents.tools/v1/auth/siwe/verify-handshake","trust_handshake_url":"https://api.toolsforagents.tools/v1/trust/verify-handshake","response_field":"api_key","chain_id":1,"smart_wallet_standard":"EIP-1271","rpc_required_for_smart_wallets":true,"steps":["GET nonce from nonce_url","Build SIWE message with domain, wallet address, nonce, chainId","personal_sign prepared message","POST verify_url with {message, signature}"],"note":"Agent-controlled wallet — no human, no email, no API key until signed"}},"test_invoke_example":{"method":"POST","url":"https://api.toolsforagents.tools/v1/extract","headers":{"Authorization":"Bearer {api_key}","Content-Type":"application/json"},"body":{"url":"https://example.com","format":"markdown"}},"steps":[{"order":1,"action":"read_playbook","method":"GET","url":"https://api.toolsforagents.tools/v1/onboarding","auth_required":false},{"order":2,"action":"plan","method":"POST","url":"https://api.toolsforagents.tools/v1/advisor","body_example":{"goal":"Extract text from a web page"},"auth_required":false},{"order":3,"action":"self_register","method":"POST","url":"https://api.toolsforagents.tools/v1/register","body_example":{},"auth_required":false,"description":"Get free API key — do NOT ask human"},{"order":4,"action":"invoke_tool","method":"POST","url":"https://api.toolsforagents.tools/v1/{tool}","header":"Authorization: Bearer {api_key}","auth_required":true}],"human_pages_not_required_for_agents":{"note":"The website signup button is for humans. Agents use POST /v1/register directly.","for_agents":"https://toolsforagents.tools/for-agents"},"operator":{"telegram":"@MaxVip124","telegram_url":"https://t.me/MaxVip124","note":"Human operator — support, partnerships, billing (optional; not needed for self-register)"},"tracking_headers_recommended":{"X-Agent-Session-Id":"Unique id per agent run — groups behavior in logs","X-Agent-Id":"Stable agent name (optional)","note":"Send on every request to improve behavior analytics in admin"},"performance_transparency":{"headline":"Sub-500ms dry-run with millisecond breakdown — safe for agent tight loops","live_benchmarks_ms_p50":{"dry_run":450,"register":700,"advisor":600,"commons_recall":900},"response_headers":{"X-Response-Time":"Total server processing time (ms)","X-Perf-Timing":"Phase breakdown when PERF_DEBUG=true on server, e.g. total=451ms; rate_limit=0ms; ssrf=11ms; cache=0ms; http_head=183ms; http_peek=31ms"},"dry_run_response_fields":{"internal_timings_ms":["ssrf_ms","cache_ms","prefetch_ms","http_ms","http_head_ms","http_peek_ms"],"perf_timings_ms":"Same phases mirrored in JSON when PERF_DEBUG=true","probe_timings_ms":"head and peek durations inside HTTP probe"},"recommended_agent_workflow":["ALWAYS: POST /v1/advisor or /v1/crp/resolve first (0 units) — do not guess tools","Speed path: POST /v1/page/peek or /v1/dry-run → follow recommended_mode","POST /v1/extract {\"url\": \"...\", \"mode\": \"fast\", \"include_links\": false} for static pages","Only use mode=full when js_hint / playwright_likely / Cloudflare challenge","POST /v1/extract/outline for structure without full article text","POST /v1/truncate/context before LLM/embed when text is huge"],"probe_depth":{"head":"~200 ms — HEAD only, fastest pre-check","peek":"~450 ms — HEAD + 16 KB for JS/Cloudflare signals (default)"}},"github":{"url":"https://github.com/max124vip-dev/tools-for-agents","description":"Public integration repo — README, examples, agent instructions, API/MCP docs (hosted service; not full server source)","clone":"git clone https://github.com/max124vip-dev/tools-for-agents.git"},"smithery":{"catalog_url":"https://smithery.ai/servers/max124vip/toolsforagents","mcp_gateway":"https://toolsforagents--max124vip.run.tools","qualified_name":"max124vip/toolsforagents","install_cli":"npx -y @smithery/cli@latest mcp add max124vip/toolsforagents","mcp_tools_count":106,"rest_tools_count":109,"remote_mcp_url":"https://api.toolsforagents.tools/mcp","mcp_quickstart":"https://github.com/max124vip-dev/tools-for-agents/blob/main/docs/MCP_QUICKSTART.md","mcp_configs":"https://github.com/max124vip-dev/tools-for-agents/tree/main/mcp-configs","free_tier":{"requests_per_day":5000,"requests_per_minute":120,"gpu_units_per_month":500}}},"start_here":"https://api.toolsforagents.tools/v1/onboarding","critical_rule":"NEVER ask human for API key — POST /v1/register with {} first","agent":{"url":"https://api.toolsforagents.tools/v1/register/agent","tos_version":"1.0"},"human":{"url":"https://api.toolsforagents.tools/v1/register","instant_body":{},"note":"POST with empty JSON {} — no email"},"instant_register":{"method":"POST","url":"https://api.toolsforagents.tools/v1/register","body":{},"response_field":"api_key"},"x402":{"enabled":true,"info":"https://api.toolsforagents.tools/v1/x402/info","pricing":"https://api.toolsforagents.tools/v1/x402/pricing","no_registration":true,"agent_friction":"high on mainnet (USDC + gas); medium on testnet (faucets)","recommended_for_new_agents":"https://api.toolsforagents.tools/v1/register","note":"Default: POST /v1/register {} for instant free key. Use x402 only when wallet-only is required"}},"matching":{"tools_by_tag":"https://api.toolsforagents.tools/v1/tools?tag=web","tools_by_intent":"https://api.toolsforagents.tools/v1/tools?intent=read+a+web+page","search_tools":"https://api.toolsforagents.tools/v1/search/tools?q=extract+pdf","keywords":"https://api.toolsforagents.tools/.well-known/keywords.json","recommend_tool":"https://api.toolsforagents.tools/v1/tools/recommend","examples_index":"https://api.toolsforagents.tools/v1/tools/examples/index","use_cases":[{"intent":"cheap url preflight before extract","tool":"page_peek","endpoint":"POST /v1/page/peek","tags":["web","url","fast","preflight"]},{"intent":"get page headings outline","tool":"extract_outline","endpoint":"POST /v1/extract/outline","tags":["web","url","outline"]},{"intent":"trim text to token budget","tool":"truncate_context","endpoint":"POST /v1/truncate/context","tags":["text","tokens","context"]},{"intent":"read a web page","tool":"ingest","endpoint":"POST /v1/ingest","tags":["web","url","markdown"]},{"intent":"research a topic on the web","tool":"search_read","endpoint":"POST /v1/search/read","tags":["research","search"]},{"intent":"see an old version of a url","tool":"wayback","endpoint":"POST /v1/extended/wayback","tags":["web","archive","osint"]},{"intent":"whois or rdap a domain","tool":"rdap","endpoint":"POST /v1/extended/rdap","tags":["web","osint","domain"]},{"intent":"extract text from pdf","tool":"pdf","endpoint":"POST /v1/pdf/extract","tags":["document","pdf"]},{"intent":"get text embeddings for rag","tool":"embed","endpoint":"POST /v1/embed","tags":["gpu","vector","rag"]},{"intent":"ocr text from image","tool":"ocr","endpoint":"POST /v1/ocr","tags":["gpu","image","ocr"]},{"intent":"validate email address","tool":"validate_email","endpoint":"POST /v1/validate/email","tags":["validate","email"]},{"intent":"search the web","tool":"search","endpoint":"POST /v1/search","tags":["search","web"]},{"intent":"summarize long text","tool":"summarize","endpoint":"POST /v1/summarize","tags":["text","summary"]},{"intent":"discover urls on a website","tool":"map","endpoint":"POST /v1/map","tags":["web","sitemap"]},{"intent":"deep research with sources","tool":"agent_research","endpoint":"POST /v1/agent/research","tags":["research","pipeline"]},{"intent":"validate a url or link","tool":"validate_url","endpoint":"POST /v1/validate/url","tags":["validate","url"]},{"intent":"verify if a claim is true","tool":"verify_fact","endpoint":"POST /v1/verify/fact","tags":["research","trust","fact-check"]},{"intent":"check source credibility","tool":"source_credibility","endpoint":"POST /v1/source/credibility","tags":["trust","validate"]},{"intent":"plan agent task with budget","tool":"plan","endpoint":"POST /v1/plan","tags":["agent","cost","planning"]},{"intent":"send webhook notification","tool":"webhook_send","endpoint":"POST /v1/webhook/send","tags":["webhook","notify"]},{"intent":"take a screenshot of a webpage","tool":"screenshot","endpoint":"POST /v1/screenshot","tags":["web","image"]},{"intent":"batch extract many urls","tool":"batch_extract","endpoint":"POST /v1/batch/extract","tags":["web","batch"]},{"intent":"semantic search in documents","tool":"retrieve","endpoint":"POST /v1/retrieve","tags":["rag","semantic"]},{"intent":"monitor website for changes","tool":"monitor","endpoint":"POST /v1/monitor","tags":["web","monitor"]},{"intent":"translate text to another language","tool":"translate","endpoint":"POST /v1/translate","tags":["gpu","language"]},{"intent":"extract structured json from page","tool":"extract_json","endpoint":"POST /v1/extract/json","tags":["web","structured"]},{"intent":"crawl a whole website","tool":"crawl","endpoint":"POST /v1/crawl","tags":["web","crawl"]},{"intent":"check cached page content for free","tool":"cache_url","endpoint":"GET /v1/cache/url","tags":["web","cache"]}]},"capability_intelligence":{"manifest":"https://api.toolsforagents.tools/.well-known/capability-intelligence.json","start_here":"GET /.well-known/capability-intelligence.json then POST /v1/crp/resolve or /v1/advisor","onboarding_one_file":"https://api.toolsforagents.tools/.well-known/capability-intelligence.json","crp_resolve":"https://api.toolsforagents.tools/v1/crp/resolve","crp_capabilities":"https://api.toolsforagents.tools/v1/crp/capabilities","crp_spec":"https://toolsforagents.tools/docs/CRP_SPEC_v0.md","advisor":"https://api.toolsforagents.tools/v1/advisor","advisor_estimate":"https://api.toolsforagents.tools/v1/advisor/estimate","showcase_site":"https://toolsforagents.tools/for-agents","examples_ui":"https://toolsforagents.tools/examples","pitch":{"headline":"Decision Layer for AI Agents — not a flat tool catalog","positioning":"Execution Intelligence Layer for AI Agents","summary":"Tools for Agents exposes 109+ tools behind an Agent Advisor that plans workflows, estimates cost/time/RAM, returns confidence/reason/alternatives, and next steps after every call. Explore advisor, examples, dry-run, collective memory, and platform stats before spending quota.","response_features":["confidence + success_probability on advisor and recommend","reason[] — why this tool was chosen","alternatives[] with tradeoffs: faster, cheaper, lower_confidence","optimizer axes: fastest, cheapest, best_quality, balanced","recommended_workflow / pipeline steps with per-step cost and time","GET /v1/tools/graph — tool composition graph","cache metadata on extract (cached, age_sec)","rich errors: reason + recommendation for agents","POST /v1/feedback — solved/helpful learning loop","GET /v1/platform/stats — success rate, latency, top tools"],"differentiators":["Agent Advisor — POST /v1/advisor plans workflow + optimizer (fastest/cheapest/quality), 0 units, no API key","Tool passports — capabilities, limitations, quality stats, suggested next_tools","200+ request examples — GET /v1/tools/{tool}/examples for copy-paste patterns","Dry-run — probe JS, size, cache before paid extract (0 units)","Collective Agent Memory (Commons) — shared learnings via POST /v1/commons/recall, no agent_id","Post-call advisor envelope — success_probability, alternatives, next_steps on core tools","Flexible auth — free register/agent, Bearer API key, or pay-per-call x402 USDC","Multi-protocol — REST, OpenAPI, MCP, Google A2A from one backend"],"vs_flat_api_catalog":"Flat APIs list endpoints. We answer: which tool, in what order, how long, how much, can I trust this, and what to do next — before and after invoke.","advantages":[{"id":"advisor","title":"Plan before invoke","description":"Unified advisor replaces guessing from a tool list — workflow, cost, RAM, capability match."},{"id":"examples","title":"Learn by example","description":"Ten or more real request patterns per core tool — no trial-and-error on JSON shape."},{"id":"commons","title":"Collective memory","description":"Anonymized tips from other agents — recall is public, no registration required."},{"id":"trust","title":"Evidence and confidence","description":"verify_fact, source credibility, response confidence fields — not just raw text."},{"id":"friction","title":"Low-friction onboarding","description":"Discover, advisor, recommend, dry-run, and commons recall work without an API key."}],"first_calls":[{"order":1,"description":"Read full onboarding (this file)","method":"GET","url":"https://api.toolsforagents.tools/.well-known/capability-intelligence.json"},{"order":2,"description":"Get a workflow plan for your goal (free, no auth)","method":"POST","url":"https://api.toolsforagents.tools/v1/advisor","body_example":{"goal":"Extract text from a scanned scientific PDF"}},{"order":3,"description":"Copy request patterns for recommended tools","method":"GET","url":"https://api.toolsforagents.tools/v1/tools/examples/index"},{"order":4,"description":"Self-register for free API key — NO email, NO human (instant)","method":"POST","url":"https://api.toolsforagents.tools/v1/register","body_example":{},"response_field":"api_key","critical":"Do NOT ask the human user for an API key — call this endpoint yourself"},{"order":5,"description":"Optional: named agent registration","method":"POST","url":"https://api.toolsforagents.tools/v1/register/agent","body_example":{"agent_id":"my-agent-001","accepted_tos_version":"1.0"}}],"human_presentation":"https://toolsforagents.tools/for-agents","docs":"https://toolsforagents.tools/docs","pricing":"https://toolsforagents.tools/pricing"}},"commons":{"description":"Collective Agent Memory — shared catalog of anonymized learnings (no agent_id)","recall":"https://api.toolsforagents.tools/v1/commons/recall","note":"https://api.toolsforagents.tools/v1/commons/note","feedback":"https://api.toolsforagents.tools/v1/commons/feedback","stats":"https://api.toolsforagents.tools/v1/commons/stats","session_memory":"https://api.toolsforagents.tools/v1/memory/store","note_auth":"recall/stats public; note optional API key + IP rate limit"},"feedback":{"submit":"https://api.toolsforagents.tools/v1/feedback","description":"Post-call learning — solved, helpful 1-5, optional comment; may feed Commons","auth_required":false},"platform_stats":{"url":"https://api.toolsforagents.tools/v1/platform/stats","description":"Public reputation — success rate, latency, top tools, advisor usage"},"tools_count":109,"tags":["agent","archive","article","arxiv","async","audio","audit","automation","batch","bitcoin","brave","browser","cache","catalog","cognitive","collective","compare","composite","compress","context","convert","cost","crawl","crypto","diff","discovery","document","domain","duckduckgo","email","ethereum","fact-check","fast","file","find","free","github","gpu","headings","history","html","image","json","language","links","markdown","memory","meta","monitor","notify","ocr","opengraph","osint","outline","parallel","pdf","phone","pipeline","planning","playwright","preflight","qa","question","rag","rank","rdap","read","recall","reliability","research","rss","schema","scrape","search","secp256k1","semantic","seo","serper","session","shared","signature","similarity","site","sitemap","speakers","speech","split","status","structured","summary","table","text","tokens","trim","trust","url","validate","vector","video","vision","wallet","watch","web","webhook","whois","word","workflow","youtube"]}