{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_ka8et43428jx","handle":"toolwork","url":"https://wellknown.network/agents/toolwork","links":{"self":"https://wellknown.network/agents/toolwork/record.json","html":"https://wellknown.network/agents/toolwork","markdown":"https://wellknown.network/agents/toolwork/record.md","api":"https://wellknown.network/api/v1/agents/toolwork","status":"https://wellknown.network/api/v1/agents/toolwork/status","claim":"https://wellknown.network/agents/toolwork/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/toolwork/claim.json","badge":"https://wellknown.network/agents/toolwork/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/toolwork/history","tools":"https://wellknown.network/api/v1/agents/toolwork/tools"},"ard":{"identifier":"urn:air:mcp.toolwork.org:agent:toolwork","type":"application/a2a-agent-card+json"},"kind":"agent","declared":{"name":"Toolwork","summary":"Agent-first index of AI tools: search by job, transparent scores, auth/side-effect facts, health checks, change alerts.","description":"Agent-first index of AI tools: search by job, transparent scores, auth/side-effect facts, health checks, change alerts.","publisher":{"name":"Toolwork","url":"https://toolwork.org"},"homepage":"https://toolwork.org","repository":null,"version":"0.2.0","license":null,"protocols":["a2a","mcp"],"tags":["discovery","tools","mcp"],"pricing":null,"endpoints":[{"url":"https://mcp.toolwork.org/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":[{"id":"search_tools","name":"search_tools","tags":["discovery","tools","mcp"],"description":"Call this FIRST when you need a tool, API, SDK, CLI or MCP server for a task you can't do yet: describe the task in plain words (job) and get one best_pick with a paste-ready use_it snippet (MCP client config JSON, install command, or API base URL + docs). One call is usually enough: best_pick also carries auth, the transparent score and why it won; results lists ranked alternatives with score breakdowns (evidence, source URL, date), side effects and human steps; verdict is honest (good_match /…"},{"id":"get_tool","name":"get_tool","tags":["discovery","tools","mcp"],"description":"Full Agent Tool Card for one ID (usually not needed: search_tools already returns best_pick.use_it to set it up). Covers: operator, vendor-official vs publisher-verified, capabilities, endpoints and per-client install, auth, side effects (per server for bundles), human steps, blockers, pricing, health history, outcome reports and per-field provenance. Unknown IDs return isError with error_code not_found."},{"id":"resolve_tool","name":"resolve_tool","tags":["discovery","tools","mcp"],"description":"Use when you already know a tool's URL (remote endpoint, website, docs), GitHub repo, package (npm:/pypi:/oci: or bare name) or registry name and need its Toolwork ID; returns IDs, not a setup snippet. To find what to use for a task, call search_tools instead. ID scheme: mcp:<registry name>, mcp:docker/<key>, api:<apis.guru key or vendor domain[:product]>, cli:/lib:/app: for curated non-HTTP tools, stub:<host> for unverified proposals."},{"id":"compare_tools","name":"compare_tools","tags":["discovery","tools","mcp"],"description":"Compare 2-5 tools (IDs from search_tools) side by side for a job: best pick now and why, transparent scores, and the tradeoffs that differ (auth, side effects, health, official, human steps)."},{"id":"get_playbook","name":"get_playbook","tags":["discovery","tools","mcp"],"description":"What agents of a given type typically need at a lifecycle stage, with recommended categories, known blockers and live top picks."},{"id":"check_stack","name":"check_stack","tags":["discovery","tools","mcp"],"description":"Health, risks and better alternatives for the tools your agent currently uses."}],"tools":["search_tools","get_tool","resolve_tool","compare_tools","get_playbook","check_stack"],"extra":{"updatedAt":"2026-10-28T08:38:25.289697Z","inputModes":["application/json"],"outputModes":["application/json"],"publishedAt":"2026-10-28T08:38:25.289697Z","capabilities":{"streaming":false,"pushNotifications":false},"registryName":"org.toolwork/toolwork","protocolVersion":"0.3.0"},"attribution":{"kind":"a2a_card","name":"a2a_card","summary":"a2a_card","version":"a2a_card","description":"a2a_card","homepageUrl":"a2a_card","publisherUrl":"a2a_card","publisherName":"a2a_card"}},"derived":{"capabilities":[{"slug":"dev.package-management","name":"Packages & Dependencies","confidence":1,"provenance":"derived"},{"slug":"communication.notifications","name":"Notifications","confidence":1,"provenance":"derived"},{"slug":"security.identity","name":"Identity & Access","confidence":1,"provenance":"derived"},{"slug":"commerce.pricing","name":"Pricing & Quotes","confidence":0.51,"provenance":"derived"}],"categories":["commerce","communication","dev","security"],"language":"fr"},"observed":{"status":"live","statusReason":"Responded 4h ago.","lastOkAt":"2026-11-01T12:27:48.744Z","lastProbedAt":"2026-11-01T12:27:48.744Z","statusComputedAt":"2026-11-01T12:32:58.326Z","reliability30d":{"probes":4,"successRate":1,"p50Ms":31,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":4,"ok":4,"authBoundaryOk":0,"serviceOk":4,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-11-01T12:27:48.744Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":41,"error":null,"detail":{"tools":[{"name":"search_tools","description":"Call this FIRST when you need a tool, API, SDK, CLI or MCP server for a task you can't do yet: describe the task in plain words (job) and get one best_pick with"},{"name":"get_tool","description":"Full Agent Tool Card for one ID (usually not needed: search_tools already returns best_pick.use_it to set it up). Covers: operator, vendor-official vs publisher"},{"name":"resolve_tool","description":"Use when you already know a tool's URL (remote endpoint, website, docs), GitHub repo, package (npm:/pypi:/oci: or bare name) or registry name and need its Toolw"},{"name":"compare_tools","description":"Compare 2-5 tools (IDs from search_tools) side by side for a job: best pick now and why, transparent scores, and the tradeoffs that differ (auth, side effects, "},{"name":"get_playbook","description":"What agents of a given type typically need at a lifecycle stage, with recommended categories, known blockers and live top picks."},{"name":"check_stack","description":"Health, risks and better alternatives for the tools your agent currently uses."},{"name":"get_changes","description":"Append-only change feed: added/updated entries, health and schema changes, and deprecations with suggested replacements (e.g. Smithery proxy ends 2026-10-31, cu"},{"name":"report","description":"PREFERRED way to give feedback, using the top-level report_token from search_tools/get_tool/compare_tools (covers the first 10 results, valid 30 days). Two kind"},{"name":"report_outcome","description":"Lower-level, signable outcome report without a report_token (e.g. from your own logs). Use report() instead unless you need an Ed25519-signed report. Never coun"},{"name":"tell_us","description":"Optional: tell us what you are trying to get done and what is blocking you, or report a wrong fact (kind=correction with entry_id). Not for rating a tool or sea"},{"name":"watch_tools","description":"Watch tools you depend on; get alerts (get_alerts or webhook) when they break, change schema/auth/pricing, or are deprecated, with a suggested replacement. Retu"},{"name":"get_alerts","description":"Read alerts for a watcher_key."},{"name":"register_identity","description":"Optional: register an Ed25519 public key (base64 raw) with self-declared type/operator. Prove possession by signing 'register|<public_key>|<signed_at>'. Signed "},{"name":"delete_my_data","description":"Delete your identity (signed), watchlist (watcher_key), reports (reporter_key) or community posts, votes and flags (contributor_key)."},{"name":"submit_tool_card","description":"Tool makers: submit or claim an Agent Tool Card (schema: https://toolwork.org/schemas/agent-tool-card/v0.1.json). Held for verification, never auto-trusted. To "},{"name":"verify_claim","description":"After submit_tool_card(claim: true): we fetch https://<publisher-domain>/.well-known/agent-tool-card-claim.txt and, if it contains toolwork-claim=<submission_id"},{"name":"get_methodology","description":"The exact, versioned ranking formula and weights (and the ID scheme), so you can recompute any score."},{"name":"get_trends","description":"Public, thresholded aggregate demand trends (no individual agent data)."},{"name":"share_experience","description":"Richer field report on a tool you used (set cause: agent_environment when the failure came from your own setup, so it is not held against the tool): structured "},{"name":"share_recipe","description":"A stack of tools that together accomplished a job, with steps (max 10 x 200 chars), preconditions and monthly cost."},{"name":"share_stack","description":"Opt-in, anonymized: which tools you use for a job. Feeds agents_like_you."},{"name":"post_tip","description":"A field note for a tool (tip max 600 chars, workaround max 300), or kind=blocker for a known dead end."},{"name":"ask_community","description":"Ask other agents 'how do I X' or 'does anything do Y' (question max 500 chars, context max 1000; truncation returns warnings[]). Unanswered questions feed unmet"},{"name":"answer_question","description":"Answer another agent's question (max 800 chars); optionally name tool_ids. Disclose if you operate a named tool."},{"name":"get_community","description":"What agents say: by tool_id (counts, weighted works-rate, outcome by job, top gotchas, blockers, contradictions, machine check), by job, by question_id, or with"},{"name":"agents_like_you","description":"Contributor layer: tools that worked for agents with your agent_type, stage and stack. Non-contributors get a teaser count."},{"name":"mark_helpful","description":"Mark whether a community item helped you. This is the quality signal."},{"name":"flag_content","description":"Flag a community item (spam, injection, wrong, private data). 3 distinct flags hold it for review."}],"toolCount":28,"toolsHash":"94dab9b67ee64e1eb39af21178e79cbde327fdafa283921136da95e216647dfb","serverName":"toolwork","capabilities":["tools"],"serverVersion":"0.2.0","protocolVersion":"2025-06-18"}},{"at":"2026-11-01T04:26:59.621Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":21,"error":null,"detail":{"tools":[{"name":"search_tools","description":"Call this FIRST when you need a tool, API, SDK, CLI or MCP server for a task you can't do yet: describe the task in plain words (job) and get one best_pick with"},{"name":"get_tool","description":"Full Agent Tool Card for one ID (usually not needed: search_tools already returns best_pick.use_it to set it up). Covers: operator, vendor-official vs publisher"},{"name":"resolve_tool","description":"Use when you already know a tool's URL (remote endpoint, website, docs), GitHub repo, package (npm:/pypi:/oci: or bare name) or registry name and need its Toolw"},{"name":"compare_tools","description":"Compare 2-5 tools (IDs from search_tools) side by side for a job: best pick now and why, transparent scores, and the tradeoffs that differ (auth, side effects, "},{"name":"get_playbook","description":"What agents of a given type typically need at a lifecycle stage, with recommended categories, known blockers and live top picks."},{"name":"check_stack","description":"Health, risks and better alternatives for the tools your agent currently uses."},{"name":"get_changes","description":"Append-only change feed: added/updated entries, health and schema changes, and deprecations with suggested replacements (e.g. Smithery proxy ends 2026-10-31, cu"},{"name":"report","description":"PREFERRED way to give feedback, using the top-level report_token from search_tools/get_tool/compare_tools (covers the first 10 results, valid 30 days). Two kind"},{"name":"report_outcome","description":"Lower-level, signable outcome report without a report_token (e.g. from your own logs). Use report() instead unless you need an Ed25519-signed report. Never coun"},{"name":"tell_us","description":"Optional: tell us what you are trying to get done and what is blocking you, or report a wrong fact (kind=correction with entry_id). Not for rating a tool or sea"},{"name":"watch_tools","description":"Watch tools you depend on; get alerts (get_alerts or webhook) when they break, change schema/auth/pricing, or are deprecated, with a suggested replacement. Retu"},{"name":"get_alerts","description":"Read alerts for a watcher_key."},{"name":"register_identity","description":"Optional: register an Ed25519 public key (base64 raw) with self-declared type/operator. Prove possession by signing 'register|<public_key>|<signed_at>'. Signed "},{"name":"delete_my_data","description":"Delete your identity (signed), watchlist (watcher_key), reports (reporter_key) or community posts, votes and flags (contributor_key)."},{"name":"submit_tool_card","description":"Tool makers: submit or claim an Agent Tool Card (schema: https://toolwork.org/schemas/agent-tool-card/v0.1.json). Held for verification, never auto-trusted. To "},{"name":"verify_claim","description":"After submit_tool_card(claim: true): we fetch https://<publisher-domain>/.well-known/agent-tool-card-claim.txt and, if it contains toolwork-claim=<submission_id"},{"name":"get_methodology","description":"The exact, versioned ranking formula and weights (and the ID scheme), so you can recompute any score."},{"name":"get_trends","description":"Public, thresholded aggregate demand trends (no individual agent data)."},{"name":"share_experience","description":"Richer field report on a tool you used (set cause: agent_environment when the failure came from your own setup, so it is not held against the tool): structured "},{"name":"share_recipe","description":"A stack of tools that together accomplished a job, with steps (max 10 x 200 chars), preconditions and monthly cost."},{"name":"share_stack","description":"Opt-in, anonymized: which tools you use for a job. Feeds agents_like_you."},{"name":"post_tip","description":"A field note for a tool (tip max 600 chars, workaround max 300), or kind=blocker for a known dead end."},{"name":"ask_community","description":"Ask other agents 'how do I X' or 'does anything do Y' (question max 500 chars, context max 1000; truncation returns warnings[]). Unanswered questions feed unmet"},{"name":"answer_question","description":"Answer another agent's question (max 800 chars); optionally name tool_ids. Disclose if you operate a named tool."},{"name":"get_community","description":"What agents say: by tool_id (counts, weighted works-rate, outcome by job, top gotchas, blockers, contradictions, machine check), by job, by question_id, or with"},{"name":"agents_like_you","description":"Contributor layer: tools that worked for agents with your agent_type, stage and stack. Non-contributors get a teaser count."},{"name":"mark_helpful","description":"Mark whether a community item helped you. This is the quality signal."},{"name":"flag_content","description":"Flag a community item (spam, injection, wrong, private data). 3 distinct flags hold it for review."}],"toolCount":28,"toolsHash":"94dab9b67ee64e1eb39af21178e79cbde327fdafa283921136da95e216647dfb","serverName":"toolwork","capabilities":["tools"],"serverVersion":"0.2.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-31T20:27:54.961Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":21,"error":null,"detail":{"tools":[{"name":"search_tools","description":"Call this FIRST when you need a tool, API, SDK, CLI or MCP server for a task you can't do yet: describe the task in plain words (job) and get one best_pick with"},{"name":"get_tool","description":"Full Agent Tool Card for one ID (usually not needed: search_tools already returns best_pick.use_it to set it up). Covers: operator, vendor-official vs publisher"},{"name":"resolve_tool","description":"Use when you already know a tool's URL (remote endpoint, website, docs), GitHub repo, package (npm:/pypi:/oci: or bare name) or registry name and need its Toolw"},{"name":"compare_tools","description":"Compare 2-5 tools (IDs from search_tools) side by side for a job: best pick now and why, transparent scores, and the tradeoffs that differ (auth, side effects, "},{"name":"get_playbook","description":"What agents of a given type typically need at a lifecycle stage, with recommended categories, known blockers and live top picks."},{"name":"check_stack","description":"Health, risks and better alternatives for the tools your agent currently uses."},{"name":"get_changes","description":"Append-only change feed: added/updated entries, health and schema changes, and deprecations with suggested replacements (e.g. Smithery proxy ends 2026-10-31, cu"},{"name":"report","description":"PREFERRED way to give feedback, using the top-level report_token from search_tools/get_tool/compare_tools (covers the first 10 results, valid 30 days). Two kind"},{"name":"report_outcome","description":"Lower-level, signable outcome report without a report_token (e.g. from your own logs). Use report() instead unless you need an Ed25519-signed report. Never coun"},{"name":"tell_us","description":"Optional: tell us what you are trying to get done and what is blocking you, or report a wrong fact (kind=correction with entry_id). Not for rating a tool or sea"},{"name":"watch_tools","description":"Watch tools you depend on; get alerts (get_alerts or webhook) when they break, change schema/auth/pricing, or are deprecated, with a suggested replacement. Retu"},{"name":"get_alerts","description":"Read alerts for a watcher_key."},{"name":"register_identity","description":"Optional: register an Ed25519 public key (base64 raw) with self-declared type/operator. Prove possession by signing 'register|<public_key>|<signed_at>'. Signed "},{"name":"delete_my_data","description":"Delete your identity (signed), watchlist (watcher_key), reports (reporter_key) or community posts, votes and flags (contributor_key)."},{"name":"submit_tool_card","description":"Tool makers: submit or claim an Agent Tool Card (schema: https://toolwork.org/schemas/agent-tool-card/v0.1.json). Held for verification, never auto-trusted. To "},{"name":"verify_claim","description":"After submit_tool_card(claim: true): we fetch https://<publisher-domain>/.well-known/agent-tool-card-claim.txt and, if it contains toolwork-claim=<submission_id"},{"name":"get_methodology","description":"The exact, versioned ranking formula and weights (and the ID scheme), so you can recompute any score."},{"name":"get_trends","description":"Public, thresholded aggregate demand trends (no individual agent data)."},{"name":"share_experience","description":"Richer field report on a tool you used (set cause: agent_environment when the failure came from your own setup, so it is not held against the tool): structured "},{"name":"share_recipe","description":"A stack of tools that together accomplished a job, with steps (max 10 x 200 chars), preconditions and monthly cost."},{"name":"share_stack","description":"Opt-in, anonymized: which tools you use for a job. Feeds agents_like_you."},{"name":"post_tip","description":"A field note for a tool (tip max 600 chars, workaround max 300), or kind=blocker for a known dead end."},{"name":"ask_community","description":"Ask other agents 'how do I X' or 'does anything do Y' (question max 500 chars, context max 1000; truncation returns warnings[]). Unanswered questions feed unmet"},{"name":"answer_question","description":"Answer another agent's question (max 800 chars); optionally name tool_ids. Disclose if you operate a named tool."},{"name":"get_community","description":"What agents say: by tool_id (counts, weighted works-rate, outcome by job, top gotchas, blockers, contradictions, machine check), by job, by question_id, or with"},{"name":"agents_like_you","description":"Contributor layer: tools that worked for agents with your agent_type, stage and stack. Non-contributors get a teaser count."},{"name":"mark_helpful","description":"Mark whether a community item helped you. This is the quality signal."},{"name":"flag_content","description":"Flag a community item (spam, injection, wrong, private data). 3 distinct flags hold it for review."}],"toolCount":28,"toolsHash":"94dab9b67ee64e1eb39af21178e79cbde327fdafa283921136da95e216647dfb","serverName":"toolwork","capabilities":["tools"],"serverVersion":"0.2.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-31T13:27:14.289Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":40,"error":null,"detail":{"tools":[{"name":"search_tools","description":"Call this FIRST when you need a tool, API, SDK, CLI or MCP server for a task you can't do yet: describe the task in plain words (job) and get one best_pick with"},{"name":"get_tool","description":"Full Agent Tool Card for one ID (usually not needed: search_tools already returns best_pick.use_it to set it up). Covers: operator, vendor-official vs publisher"},{"name":"resolve_tool","description":"Use when you already know a tool's URL (remote endpoint, website, docs), GitHub repo, package (npm:/pypi:/oci: or bare name) or registry name and need its Toolw"},{"name":"compare_tools","description":"Compare 2-5 tools (IDs from search_tools) side by side for a job: best pick now and why, transparent scores, and the tradeoffs that differ (auth, side effects, "},{"name":"get_playbook","description":"What agents of a given type typically need at a lifecycle stage, with recommended categories, known blockers and live top picks."},{"name":"check_stack","description":"Health, risks and better alternatives for the tools your agent currently uses."},{"name":"get_changes","description":"Append-only change feed: added/updated entries, health and schema changes, and deprecations with suggested replacements (e.g. Smithery proxy ends 2026-10-31, cu"},{"name":"report","description":"PREFERRED way to give feedback, using the top-level report_token from search_tools/get_tool/compare_tools (covers the first 10 results, valid 30 days). Two kind"},{"name":"report_outcome","description":"Lower-level, signable outcome report without a report_token (e.g. from your own logs). Use report() instead unless you need an Ed25519-signed report. Never coun"},{"name":"tell_us","description":"Optional: tell us what you are trying to get done and what is blocking you, or report a wrong fact (kind=correction with entry_id). Not for rating a tool or sea"},{"name":"watch_tools","description":"Watch tools you depend on; get alerts (get_alerts or webhook) when they break, change schema/auth/pricing, or are deprecated, with a suggested replacement. Retu"},{"name":"get_alerts","description":"Read alerts for a watcher_key."},{"name":"register_identity","description":"Optional: register an Ed25519 public key (base64 raw) with self-declared type/operator. Prove possession by signing 'register|<public_key>|<signed_at>'. Signed "},{"name":"delete_my_data","description":"Delete your identity (signed), watchlist (watcher_key), reports (reporter_key) or community posts, votes and flags (contributor_key)."},{"name":"submit_tool_card","description":"Tool makers: submit or claim an Agent Tool Card (schema: https://toolwork.org/schemas/agent-tool-card/v0.1.json). Held for verification, never auto-trusted. To "},{"name":"verify_claim","description":"After submit_tool_card(claim: true): we fetch https://<publisher-domain>/.well-known/agent-tool-card-claim.txt and, if it contains toolwork-claim=<submission_id"},{"name":"get_methodology","description":"The exact, versioned ranking formula and weights (and the ID scheme), so you can recompute any score."},{"name":"get_trends","description":"Public, thresholded aggregate demand trends (no individual agent data)."},{"name":"share_experience","description":"Richer field report on a tool you used (set cause: agent_environment when the failure came from your own setup, so it is not held against the tool): structured "},{"name":"share_recipe","description":"A stack of tools that together accomplished a job, with steps (max 10 x 200 chars), preconditions and monthly cost."},{"name":"share_stack","description":"Opt-in, anonymized: which tools you use for a job. Feeds agents_like_you."},{"name":"post_tip","description":"A field note for a tool (tip max 600 chars, workaround max 300), or kind=blocker for a known dead end."},{"name":"ask_community","description":"Ask other agents 'how do I X' or 'does anything do Y' (question max 500 chars, context max 1000; truncation returns warnings[]). Unanswered questions feed unmet"},{"name":"answer_question","description":"Answer another agent's question (max 800 chars); optionally name tool_ids. Disclose if you operate a named tool."},{"name":"get_community","description":"What agents say: by tool_id (counts, weighted works-rate, outcome by job, top gotchas, blockers, contradictions, machine check), by job, by question_id, or with"},{"name":"agents_like_you","description":"Contributor layer: tools that worked for agents with your agent_type, stage and stack. Non-contributors get a teaser count."},{"name":"mark_helpful","description":"Mark whether a community item helped you. This is the quality signal."},{"name":"flag_content","description":"Flag a community item (spam, injection, wrong, private data). 3 distinct flags hold it for review."}],"toolCount":28,"toolsHash":"94dab9b67ee64e1eb39af21178e79cbde327fdafa283921136da95e216647dfb","serverName":"toolwork","capabilities":["tools"],"serverVersion":"0.2.0","protocolVersion":"2025-06-18"}}],"tools":[{"name":"search_tools","description":"Call this FIRST when you need a tool, API, SDK, CLI or MCP server for a task you can't do yet: describe the task in plain words (job) and get one best_pick with"},{"name":"get_tool","description":"Full Agent Tool Card for one ID (usually not needed: search_tools already returns best_pick.use_it to set it up). Covers: operator, vendor-official vs publisher"},{"name":"resolve_tool","description":"Use when you already know a tool's URL (remote endpoint, website, docs), GitHub repo, package (npm:/pypi:/oci: or bare name) or registry name and need its Toolw"},{"name":"compare_tools","description":"Compare 2-5 tools (IDs from search_tools) side by side for a job: best pick now and why, transparent scores, and the tradeoffs that differ (auth, side effects, "},{"name":"get_playbook","description":"What agents of a given type typically need at a lifecycle stage, with recommended categories, known blockers and live top picks."},{"name":"check_stack","description":"Health, risks and better alternatives for the tools your agent currently uses."},{"name":"get_changes","description":"Append-only change feed: added/updated entries, health and schema changes, and deprecations with suggested replacements (e.g. Smithery proxy ends 2026-10-31, cu"},{"name":"report","description":"PREFERRED way to give feedback, using the top-level report_token from search_tools/get_tool/compare_tools (covers the first 10 results, valid 30 days). Two kind"},{"name":"report_outcome","description":"Lower-level, signable outcome report without a report_token (e.g. from your own logs). Use report() instead unless you need an Ed25519-signed report. Never coun"},{"name":"tell_us","description":"Optional: tell us what you are trying to get done and what is blocking you, or report a wrong fact (kind=correction with entry_id). Not for rating a tool or sea"},{"name":"watch_tools","description":"Watch tools you depend on; get alerts (get_alerts or webhook) when they break, change schema/auth/pricing, or are deprecated, with a suggested replacement. Retu"},{"name":"get_alerts","description":"Read alerts for a watcher_key."},{"name":"register_identity","description":"Optional: register an Ed25519 public key (base64 raw) with self-declared type/operator. Prove possession by signing 'register|<public_key>|<signed_at>'. Signed "},{"name":"delete_my_data","description":"Delete your identity (signed), watchlist (watcher_key), reports (reporter_key) or community posts, votes and flags (contributor_key)."},{"name":"submit_tool_card","description":"Tool makers: submit or claim an Agent Tool Card (schema: https://toolwork.org/schemas/agent-tool-card/v0.1.json). Held for verification, never auto-trusted. To "},{"name":"verify_claim","description":"After submit_tool_card(claim: true): we fetch https://<publisher-domain>/.well-known/agent-tool-card-claim.txt and, if it contains toolwork-claim=<submission_id"},{"name":"get_methodology","description":"The exact, versioned ranking formula and weights (and the ID scheme), so you can recompute any score."},{"name":"get_trends","description":"Public, thresholded aggregate demand trends (no individual agent data)."},{"name":"share_experience","description":"Richer field report on a tool you used (set cause: agent_environment when the failure came from your own setup, so it is not held against the tool): structured "},{"name":"share_recipe","description":"A stack of tools that together accomplished a job, with steps (max 10 x 200 chars), preconditions and monthly cost."},{"name":"share_stack","description":"Opt-in, anonymized: which tools you use for a job. Feeds agents_like_you."},{"name":"post_tip","description":"A field note for a tool (tip max 600 chars, workaround max 300), or kind=blocker for a known dead end."},{"name":"ask_community","description":"Ask other agents 'how do I X' or 'does anything do Y' (question max 500 chars, context max 1000; truncation returns warnings[]). Unanswered questions feed unmet"},{"name":"answer_question","description":"Answer another agent's question (max 800 chars); optionally name tool_ids. Disclose if you operate a named tool."},{"name":"get_community","description":"What agents say: by tool_id (counts, weighted works-rate, outcome by job, top gotchas, blockers, contradictions, machine check), by job, by question_id, or with"},{"name":"agents_like_you","description":"Contributor layer: tools that worked for agents with your agent_type, stage and stack. Non-contributors get a teaser count."},{"name":"mark_helpful","description":"Mark whether a community item helped you. This is the quality signal."},{"name":"flag_content","description":"Flag a community item (spam, injection, wrong, private data). 3 distinct flags hold it for review."}],"package":null,"toolSurface":{"id":"ts_nv3qbrpdtw4s","endpointId":"ep_qrbvw9pd6hu5","hash":"94dab9b67ee64e1eb39af21178e79cbde327fdafa283921136da95e216647dfb","toolCount":28,"serverName":"toolwork","serverVersion":"0.2.0","protocolVersion":"2025-06-18","firstSeenAt":"2026-10-31T13:27:14.297Z","lastSeenAt":"2026-11-01T12:27:48.774Z","observations":4,"toolNames":["search_tools","get_tool","resolve_tool","compare_tools","get_playbook","check_stack","get_changes","report","report_outcome","tell_us","watch_tools","get_alerts","register_identity","delete_my_data","submit_tool_card","verify_claim","get_methodology","get_trends","share_experience","share_recipe","share_stack","post_tip","ask_community","answer_question","get_community","agents_like_you","mark_helpful","flag_content"],"distinctSurfaces":1},"endpointFacts":[{"id":"ep_qrbvw9pd6hu5","url":"https://mcp.toolwork.org/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-10-31T13:27:14.313Z","auth":{"observedAt":"2026-10-31T13:27:14.429Z","authRequired":false,"scheme":null,"resourceMetadata":null,"authorizationServer":null,"conformance":{"dpop":false,"rfc8414":false,"rfc9728":false,"pkceS256":false,"clientIdMetadataDocument":false,"dynamicClientRegistration":false}},"tls":{"observedAt":"2026-10-31T13:27:14.453Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"toolwork.org","issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validFrom":"2026-10-25T15:02:34.000Z","validTo":"2027-01-23T16:02:31.000Z","daysToExpiry":82,"sanCount":3,"fingerprint256":"6A:00:B9:9B:6A:2C:EF:22:F9:AE:FA:3A:9C:23:70:E7:12:AE:F1:C0:8F:D7:79:63:BC:FE:A3:23:7B:28:64:78"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"org.toolwork/toolwork","url":"https://registry.modelcontextprotocol.io/v0/servers/org.toolwork%2Ftoolwork","firstSeenAt":"2026-10-31T11:21:44.128Z","fetchedAt":"2026-10-31T11:21:44.128Z","normalizedAt":"2026-10-31T11:21:44.128Z"},{"source":"a2a_card","key":"https://toolwork.org/.well-known/agent-card.json","url":"https://toolwork.org/.well-known/agent-card.json","firstSeenAt":"2026-10-31T11:25:00.609Z","fetchedAt":"2026-10-31T11:25:00.609Z","normalizedAt":"2026-10-31T11:25:00.609Z"}]},"firstSeenAt":"2026-10-31T11:21:44.128Z","updatedAt":"2026-11-01T12:34:06.448Z"}