FindAgent
Server Details
The cross-LLM AI agent marketplace
- Status
- Healthy
- Uptime
- 89.6% over 41 days
- OAuth
- Works in Glama
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 74 tools
Version-publishing tools (findagent_new_version, findagent_bump_version, findagent_repull, findagent_reupload, findagent_reintrospect_mcp) and draft/submission tools (findagent_create_draft, findagent_create_code_draft, findagent_create_package_draft, findagent_create_remote_mcp, findagent_submission_wizard, findagent_submit_for_review, findagent_preflight) have heavily overlapping purposes. Their descriptions work hard to distinguish them and explicitly tell the model to prefer findagent_new_version, which signals real redundancy. Knowledge-base, org/member, and request-board tools are mostly distinct.
Every tool follows the findagent_<verb>_<noun> snake_case pattern with no camelCase or other convention drift. Minor singular/plural noun variations are harmless and still readable.
74 tools far exceeds the 15-tool sweet spot and passes the 50+ extreme-mismatch threshold. The publishing/versioning, KB, org, department, and request-board areas could each be consolidated without losing capability.
Covers CRUD for knowledge bases/documents, organizations (members, invites, ownership transfer), the public request board, agent lifecycle (browse/get/create/submit/version/rollback/withdraw/price/metadata), departments, and GitHub/connector flows. Minor gaps such as no organization update/delete keep it from a perfect score.
Available Tools
74 toolsfindagent_accept_org_inviteAInspect
Accept an organization invite using the token from an invite link. Binds to YOUR authenticated FindAgent email — a token sent to a different email (or an expired/reused token) is rejected.
| Name | Required | Description | Default |
|---|---|---|---|
| token | Yes | The raw invite token. |
Output Schema
| Name | Required | Description |
|---|---|---|
| organization | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
It discloses important behavioral constraints beyond the annotations: the token binds to the authenticated email, and tokens sent to other emails, expired tokens, or reused tokens are rejected. The readOnlyHint=false annotation is consistent with this mutating action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no filler. The primary action is front-loaded, and the critical constraint about email binding and token validity follows immediately.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter tool with an output schema, the description covers what the tool does, where the token comes from, and the key failure conditions. Nothing essential is missing for an agent to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents token with 100% coverage, but the description adds meaning by specifying it is the raw token from an invite link and by explaining validity constraints such as email binding and expiry/reuse rejection.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Accept an organization invite' using the invite token. It also adds a key scoping detail—binding to the authenticated FindAgent email—which distinguishes it clearly from sibling tools like invite_member or leave_org.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description makes the intended use clear: call this when you have a token from an organization invite link. It does not explicitly name alternatives or exclusions, but the action is unique enough among siblings that the context is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
findagent_add_connectorARead-onlyInspect
Add a published FindAgent agent you're ENTITLED to (free, or paid + purchased) as a hosted MCP connector. Returns the per-client connector config — the hosted server URL (mcp.findagent.cloud/agents/), a drop-in mcp.json block, a Claude Code command, and the one-time FindAgent sign-in steps. Free agents are always available; a paid agent you don't own returns purchase_required pointing at findagent_buy_agent. An unknown or unpublished slug returns a needs_input result pointing back to findagent_browse_agents. This returns config only — the actual install happens when you complete the sign-in in your client. If the slug is an MCP SERVER LISTING rather than an agent FindAgent runs, it returns status external_mcp_server with the PROVIDER's own connect details (their URL, or the command that starts the server on the user's machine) and no FindAgent sign-in — FindAgent is not in that connection.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | The published agent slug (from findagent_browse_agents). |
Output Schema
| Name | Required | Description |
|---|---|---|
| slug | No | |
| title | No | |
| status | No | |
| currency | No | |
| connector | No | |
| next_tool | No | |
| connection | No | |
| price_type | No | |
| listing_url | No | |
| price_cents | No | |
| price_label | No | |
| instructions | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, and the description explains why that is truthful: it 'returns config only — the actual install happens when you complete the sign-in in your client.' It goes well beyond the annotations by enumerating the three distinct result statuses (purchase_required, needs_input, external_mcp_server), the hosted URL format, and the fact that FindAgent is not in the loop for external listings.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Dense but front-loaded: capability first, then return payload, then failure modes, then the external-server caveat. Every sentence carries information, though the four-sentence run-on covering entitlement and error states could be tightened slightly for scanning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite an output schema existing, the description still characterizes the returned config (hosted URL, mcp.json block, Claude Code command, sign-in steps) and all non-success statuses. Combined with readOnlyHint and openWorldHint annotations, an agent has everything needed to call this and interpret the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single slug parameter, so the baseline is 3, but the description adds real meaning: the slug must be a *published* agent slug, where to obtain it (findagent_browse_agents), and what each class of invalid slug produces. It stops short of any format/syntax guidance beyond that.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Add a published FindAgent agent ... as a hosted MCP connector') and immediately scopes it by entitlement. It also names the sibling tools it is not (findagent_browse_agents for discovery, findagent_buy_agent for purchase), so an agent can route correctly without opening another schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit when-to-use and when-not-to-use: free agents always work, unowned paid agents return purchase_required pointing at findagent_buy_agent, unknown/unpublished slugs return needs_input pointing at findagent_browse_agents, and MCP server listings take a different path entirely. The alternative tool for each blocked case is named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
findagent_add_kb_documentAInspect
Puts CONTENT INTO a knowledge base. This is not the tool that makes a knowledge base reachable from an agent — that is findagent_attach_kb, which connects an existing base to an agent, department or organization. Add a text document to a knowledge base you own by pasting its content. It ingests asynchronously (parse → structure-aware chunk → embed with the KB’s bound key). Content is de-duplicated by hash: re-adding the exact same text is a no-op (the response deduped flag is true, no second document). Requires the KB to have an embedding key bound, or the document will not ingest. For files (PDF/markdown/docx), use the web Knowledge Base uploader.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | The document content to add — paste the full text (plain text, max 1 MB). | |
| kb_id | Yes | The knowledge base id (from findagent_list_kbs). | |
| title | No | A short human-readable title for the document (shown in findagent_list_kb_documents). Optional — defaults to "Untitled document". |
Output Schema
| Name | Required | Description |
|---|---|---|
| document | No | |
| instructions | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only say readOnlyHint=false and openWorldHint=false. The description goes well beyond them: asynchronous ingest pipeline (parse → structure-aware chunk → embed with the KB's bound key), hash-based de-duplication where re-adding is a no-op surfaced via the `deduped` flag, and the embedding-key precondition. This is exactly the extra behavioral context annotations cannot carry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with purpose and the primary disambiguation, and nearly every sentence carries a distinct fact (alternative tool, file path, async pipeline, dedup, prerequisite). Slight redundancy between the opening clause and 'Add a text document…' keeps it just short of 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a write tool with an output schema already present, the description fills in what the structured fields do not: the async ingest model, dedup semantics and its response flag, the embedding-key precondition, and the file-vs-text boundary. Nothing needed to call it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents text (plain text, max 1 MB), kb_id (from findagent_list_kbs), and the optional title default. The description adds no syntax or format detail beyond the schema, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Puts CONTENT INTO a knowledge base' / 'Add a text document'), and explicitly names the sibling it is not — findagent_attach_kb — plus the file-upload path. An agent can distinguish this from attach_kb and the uploader without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly covers when-not-to-use (findagent_attach_kb for reachability; web uploader for PDF/markdown/docx) and states the hard prerequisite that the KB must have an embedding key bound or ingest fails. This is a complete routing decision.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
findagent_add_kb_url_documentAInspect
Add a document to a knowledge base you own by giving the https URL of a page or file — the server fetches it, extracts the text and ingests it asynchronously (parse → chunk → embed with the KB’s bound key), exactly like the web "Add from URL". Content that does not parse to text is refused. The fetch goes through the platform’s SSRF guard: https only, no redirects followed, public addresses only, size and time capped — a private, internal or unreachable address is refused with a generic "could not fetch" and there is no option to bypass it. Shares the per-user import allowance with the web uploader. To paste text instead use findagent_add_kb_document. Requires the KB to have an embedding key bound, or the document will not ingest.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The https URL to import. http and other schemes are refused. | |
| kb_id | Yes | The knowledge base id (from findagent_list_kbs). | |
| title | No | A short title for the document (shown in findagent_list_kb_documents, up to 200 chars). Optional — defaults to "Imported page". |
Output Schema
| Name | Required | Description |
|---|---|---|
| document | No | |
| instructions | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint=false and openWorldHint=true; the description goes far beyond by disclosing the SSRF guard rules (https only, no redirects, public addresses only, size/time caps), the generic failure message and the absence of a bypass, the async parse→chunk→embed pipeline, the shared per-user import allowance, and the embedding-key requirement.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core action and mechanism, and the dense clause runs (async pipeline, SSRF guard) each carry operational value rather than filler. It is long but justified by the tool's complexity, though slightly run-on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described. The description covers prerequisites, failure modes, async semantics, and constraints, leaving no material gap for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so url, kb_id, and title are already documented in the schema. The description reinforces that only https schemas are accepted and that the KB must be owned, but adds little parameter detail beyond the schema baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Add a document to a knowledge base'), the input mechanism (https URL), and the server-side behavior (fetch, extract, ingest asynchronously). It even names the sibling it differs from via the 'Add from URL' analogy, so an agent can distinguish it from findagent_add_kb_document without reading either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly routes to the alternative: 'To paste text instead use findagent_add_kb_document.' It also states the precondition for success ('Requires the KB to have an embedding key bound, or the document will not ingest') and the constraint that the KB must be owned, giving clear when/when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
findagent_archive_departmentADestructiveInspect
Delete (archive) a PERSONAL department you own. It stops serving its MCP connector, runs and schedules at once; nothing is hard-deleted, so you can put it back with findagent_edit_department and status:"draft". Only the owner can archive; an organization department is not archived here. A handle that is not your own live department returns not-found.
| Name | Required | Description | Default |
|---|---|---|---|
| department | Yes | The department slug (from findagent_list_departments). |
Output Schema
| Name | Required | Description |
|---|---|---|
| slug | No | |
| archived | No | |
| instructions | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well past the annotations (destructiveHint/readOnlyHint) by disclosing concrete side effects: the connector, runs and schedules stop at once, nothing is hard-deleted, and the deletion is reversible via edit_department. This reversibility and the side-effect scope are exactly the context an agent needs for a destructive operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four tightly packed sentences, front-loaded with the action and scope, then side effects, then ownership/precondition caveats. No sentence is redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and annotations covering the safety profile, the description supplies everything else needed: what gets stopped, reversibility, ownership requirement, and org-department exclusion. Nothing material is missing for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single 'department' parameter is documented in the schema as a slug sourced from findagent_list_departments. The description refers to the handle/department but adds no format or sourcing detail beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Delete/archive) and resource (PERSONAL department), and immediately scopes it to departments 'you own' versus organization departments. An agent can distinguish this from findagent_edit_department, findagent_create_department, and sibling delete tools without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit when-to-use constraints: only personal departments, only by the owner, and an org department 'is not archived here'. It also explains the not-found outcome for non-owned handles and routes restoration to findagent_edit_department with status:"draft".
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
findagent_attach_kbAInspect
Connects an EXISTING knowledge base to something that will use it. It adds no content — for that use findagent_add_kb_document, which puts a document into the base itself. Attach a knowledge base you own to an agent or department you own, to an organization you administer (org KB — auto-available to every agent/department run for the org’s active members), or bind it as your personal KB. Identify an agent/department target by target_slug (recommended) or target_id from findagent_list_my_agents; identify an org target by its slug/id from findagent_list_orgs (you must be an org owner or admin). Choose mode: tool (the agent gets a search_knowledge tool), auto_inject (relevant passages are prepended before the call), or both. This is NOT part of the agent manifest, so updating the KB needs no agent re-publish.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | How the KB is used. Default tool. | |
| kb_id | Yes | The knowledge base id (from findagent_list_kbs). | |
| target_id | No | The agent/department id you own (findagent_list_my_agents) or the org id you administer (findagent_list_orgs). Alternative to target_slug. Omit for user_personal. | |
| target_kind | Yes | What to attach it to. | |
| target_slug | No | The agent/department slug you own (findagent_list_my_agents) or the org slug you administer (findagent_list_orgs). Recommended over target_id. Omit for user_personal. |
Output Schema
| Name | Required | Description |
|---|---|---|
| attachment | No | |
| instructions | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint=false and openWorldHint=false, but the description adds substantial behavior: the authorization requirement for org targets, that org KBs are auto-available to every agent/department run for active members, what each mode actually does at runtime, and that attachments are not part of the agent manifest so updates need no re-publish. This is context an agent cannot get from the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the core action and the add_kb_document contrast, then handles targets, mode, and the manifest detail in a logical order. Slightly long, but nearly every sentence carries distinct operational value rather than padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and the definition still covers authorization, target identification, mode semantics, and a non-obvious deployment caveat. Sufficient for an agent to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds real meaning: it explains what each mode value does operationally (tool grants a search_knowledge tool, auto_inject prepends passages), recommends target_slug over target_id, and clarifies omission of target fields for user_personal. This goes beyond the terse enum labels.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (connects/attaches) and resource (an EXISTING knowledge base) and explicitly scopes it against the sibling findagent_add_kb_document, which handles content addition. An agent can differentiate this from add_kb_document without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives concrete when-to-use conditions: attach a KB you own to an agent/department you own, to an org you administer, or as a personal KB. Names the exact lookup tools for each target type (findagent_list_my_agents, findagent_list_orgs) and states the auth requirement (org owner/admin). Nothing is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
findagent_bind_kb_embedding_keyAInspect
Point an existing knowledge base at the embedding key this account has already stored, and re-queue the documents that failed only because there was no key. Use it when findagent_list_kbs shows embedding_key_bound:false, or when documents are stuck failed on a missing key — a KB created without bind_embedding_key ingests nothing until this runs. NO API KEY IS PASSED HERE: this selects the key the account already stored; adding a key is a web action, deliberately, so a secret never travels through a tool argument. If no key is stored, this changes nothing and says so rather than embedding at the platform's expense. Owner-only.
| Name | Required | Description | Default |
|---|---|---|---|
| kb_id | Yes | The knowledge base id, from findagent_list_kbs (it reports embedding_key_bound). |
Output Schema
| Name | Required | Description |
|---|---|---|
| kb_id | No | |
| retried | No | |
| instructions | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only supply readOnlyHint=false and openWorldHint=false; the description goes well beyond, disclosing the re-queue side effect, the deliberate no-secret-in-arguments design, the no-op-and-report behavior when no key is stored, and the owner-only permission requirement. These are exactly the traits an agent needs before invoking a mutation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the action and its effect, then layers constraints in descending priority. The secret-handling point is restated across two sentences ('NO API KEY IS PASSED HERE' / 'a secret never travels through a tool argument'), which is mild redundancy, but every other sentence carries real information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need not be described, and the description covers the remaining gaps: prerequisite state, side effect, failure/no-op behavior, and permissions. Nothing needed to invoke this correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single kb_id parameter is fully documented in the schema, so the baseline is 3. The description confirms provenance (from findagent_list_kbs) but adds no format or syntax detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource — pointing an existing KB at the already-stored embedding key — plus a second concrete effect (re-queuing documents that failed on a missing key). This is clearly distinguishable from siblings like create_knowledge_base or add_kb_document, which create or populate rather than re-point.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit triggers ('when findagent_list_kbs shows embedding_key_bound:false', 'documents are stuck failed on a missing key') and names the sibling that reports the needed signal. It also states what this tool is NOT for — adding a key, which is a web action — routing the agent away from a wrong invocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
findagent_browse_agentsARead-onlyInspect
Browse the PUBLISHED FindAgent marketplace catalogue WITH pricing — the same store listing the website shows. Returns each agent's slug, title, tagline, price_type (free|paid), price_cents (USD cents), category, rating, install count, and kind. Optional filters: query (text search), category_slug (from findagent_list_categories), price (free|paid). PAGINATED: pass offset (use the returned next_offset) to page through the FULL catalogue until has_more is false. Use findagent_get_agent for the full store view of one slug.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Optional page size (default 20, max 100). | |
| price | No | Optional price filter: only free, or only paid agents. | |
| query | No | Optional free-text search over title/tagline/description. | |
| offset | No | Optional pagination offset (default 0). Pass the response next_offset to fetch the next page; repeat until has_more is false to enumerate the whole catalogue. | |
| category_slug | No | Optional category slug from findagent_list_categories to filter by. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| limit | No | |
| usage | No | |
| agents | No | |
| offset | No | |
| has_more | No | |
| next_offset | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so safety is covered. The description adds behavioral context: it is paginated, explains the offset/next_offset mechanism and has_more flag, and lists the exact return fields. It does not contradict annotations and discloses all relevant operational behavior without being redundant.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact but information-dense, leading with the core purpose and then layering details. It is structured logically (scope, returns, filters, pagination, alternative) and avoids fluff, though it is slightly longer than the minimum needed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values are already defined. The description covers pagination, filters, and the relationship to sibling tools, leaving no missing operational guidance for a read-only listing tool. It is complete for an agent to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and each parameter already has a detailed description (e.g., offset explains pagination, category_slug references findagent_list_categories). The description repeats these details without adding new meaning, so it provides marginal value beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action: browse the PUBLISHED catalogue with pricing, and clearly enumerates the returned fields and filters. It also distinguishes itself from sibling tools by referencing the website listing and explicitly naming findagent_get_agent for single-agent detail, making its scope unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a clear alternative: 'Use findagent_get_agent for the full store view of one slug,' which tells the agent when to prefer another tool. It also references findagent_list_categories for category slugs, but does not enumerate other exclusions (e.g., when to use findagent_list_my_agents). This is clear context with a single explicit alternative, but not exhaustive guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
findagent_bump_versionAInspect
Publish a NEW version of YOUR OWN published agent built here (instructions, skills and actions) for review. Pass the agent slug + a semver bump (patch|minor|major). You can fully EDIT the new version: system_prompt + example_prompts, AND (for an agent built here) the whole capability surface — pass tools (and optional credential_slots / guardrails) to add/remove/edit tools + action bindings + credential slots, and optional price_type/price_cents to change the price. Any capability change re-runs the same security scan + author-time auth_ref↔host check. changelog is optional when you edit tools (auto-drafted from the diff); otherwise pass 10–500 chars. The new version goes to admin review; your LIVE version keeps serving until it is approved (never auto-unpublished). A price change applies immediately (not retroactive). Owner-only. (Code-bundle agents re-version through the code wizard, not here.) An ACTION agent whose findagent.json lives in a GitHub repo you can write to should NOT take its tool array through this field path: call findagent_new_version (or findagent_repull) with repo instead, so the tools are read server side and never re-typed by a model. This field path stays for edits with no repo.
| Name | Required | Description | Default |
|---|---|---|---|
| bump | Yes | ||
| llms | No | Target clients ⊂ {claude,chatgpt,gemini,cursor,vscode,custom}. | |
| slug | Yes | Your published agent slug (you must own it). | |
| tools | No | Optional FULL action and skill tool set for the new version (web-builder parity). Presence REPLACES the agent's whole tool surface — pass the complete intended list (add/remove/edit); item shape is in `items`. auth_ref must match a credential_slots[].ref whose allowed_hosts cover the action host (audience binding — enforced). Omit to keep the stored tools (prompt-only edit). | |
| changelog | No | What changed (10–500 chars). Optional when you pass `tools` — then it is auto-drafted from the tool diff; supply your own to override. | |
| guardrails | No | Optional declared guardrails for the new version (you can only TIGHTEN; the platform always applies its mandatory rails). An invalid block fails the bump. | |
| price_type | No | Optional. Change the price alongside the bump. Applies immediately (audited, not retroactive — existing buyers keep access). | |
| price_cents | No | Required when price_type=paid: positive integer of US cents, max 50000 ($500). | |
| system_prompt | No | The updated agent instructions. For an agent whose prompt isn't the authoring surface (kind 'mcp-tool' / 'skills-bundle') you may omit it to keep the stored one; otherwise min 50 chars. | |
| example_prompts | No | Up to 5 concrete things a user can ask it to do. | |
| credential_slots | No | Optional. The new version’s full credential-slot set when you pass `tools` — item shape is in `items`. DEFINITIONS ONLY — never send secret VALUES. |
Output Schema
| Name | Required | Description |
|---|---|---|
| slug | No | |
| status | No | |
| version | No | |
| changelog | No | |
| instructions | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations, the description discloses the full behavioral workflow: the new version goes to admin review, the live version keeps serving until approved and is never auto-unpublished, a price change applies immediately but not retroactively, capability changes re-run the security scan and author-time auth_ref↔host check, and guardrails can only be tightened.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long and dense, but it is front-loaded with purpose and required parameters, then moves through edit capabilities, review behavior, and routing exclusions. Almost every sentence adds operational value, though some parenthetical detail could be tightened.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity, 11 parameters, nested objects, and the existence of an output schema, the description is complete enough for correct invocation. It covers purpose, usage boundaries, mutation behavior, review flow, and security implications without needing to explain return values.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 91% schema description coverage, the schema already documents most parameters, but the description adds real meaning: `tools` presence replaces the entire tool surface, `changelog` is optional when editing tools and otherwise must be 10–500 chars, `price_cents` requires `price_type=paid`, and `credential_slots` are definitions only. It does not mention the `llms` parameter, but the schema covers it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: 'Publish a NEW version of YOUR OWN published agent built here (instructions, skills and actions) for review.' It distinguishes this tool from siblings by explicitly naming findagent_new_version and findagent_repull for repo-backed ACTION agents, and the code wizard for code-bundle agents.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit when-to-use and when-not-to-use guidance: use this for an agent built here, but for a code-bundle agent use the code wizard, and for an ACTION agent whose findagent.json is in a writable GitHub repo call findagent_new_version or findagent_repull with `repo` instead. Owner-only is also stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
findagent_buy_agentAInspect
Get a browser checkout link to PURCHASE a paid FindAgent agent. Returns checkout_url — open it in a browser (signed in to FindAgent) and complete the purchase with the Buy button; payment is handled securely by Paddle in the browser. NEVER share card details here. A free agent returns already_free (just use findagent_add_connector); an agent you already own returns already_owned; if paid checkout is not live yet it returns checkout_not_live. After purchase settles, retry findagent_add_connector. An unknown or unpublished slug returns a needs_input result pointing back to findagent_browse_agents.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | The published agent slug (from findagent_browse_agents). |
Output Schema
| Name | Required | Description |
|---|---|---|
| slug | No | |
| title | No | |
| status | No | |
| currency | No | |
| next_tool | No | |
| price_type | No | |
| price_cents | No | |
| price_label | No | |
| checkout_url | No | |
| instructions | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes well beyond the annotations, disclosing that payment is handled by Paddle in the browser, warning never to share card details, and enumerating possible return states such as already_free, already_owned, checkout_not_live, and needs_input. It also notes the authentication requirement (signed in to FindAgent), which is useful behavior context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Although the description is a single dense paragraph, every sentence contributes distinct information: the main purpose, return statuses, browser/payment behavior, security warning, follow-up action, and error case. The first sentence is front-loaded with the core action, and nothing is redundant or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity, one required parameter, an output schema, and a large sibling set, the description is complete. It covers when to use it, what it returns, how payment works, security constraints, next steps after purchase, and fallback behavior for invalid slugs, so an agent has everything needed to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already fully documents the slug parameter with 100% coverage, so the baseline is 3. The description adds extra meaning by specifying that an unknown or unpublished slug yields a needs_input result, and clarifies the slug should come from findagent_browse_agents, which enriches the schema's plain type description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: it gets a browser checkout link to purchase a paid FindAgent agent. It clearly distinguishes itself from related tools like findagent_add_connector and findagent_browse_agents by naming exactly what it returns and when it applies.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is explicitly conditional: free agents route to findagent_add_connector, already-owned agents return already_owned, and unknown slugs point back to findagent_browse_agents. It also states what to do after purchase settles, leaving no ambiguity about when this tool should be invoked.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
findagent_change_member_roleAInspect
Change a member's role in an organization (owner/admin only). Only an owner may grant or revoke ownership; admins can toggle admin↔member. The last owner cannot be demoted.
| Name | Required | Description | Default |
|---|---|---|---|
| role | Yes | The new role. Granting/revoking owner requires you to be an owner; admins can only toggle admin↔member. | |
| slug | No | The organization slug (alternative to org_id). | |
| org_id | No | The organization id (from findagent_list_orgs). | |
| user_id | Yes | The user id of the member to update (from findagent_list_members). |
Output Schema
| Name | Required | Description |
|---|---|---|
| member | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
readOnlyHint=false already indicates mutation, and the description adds meaningful behavioral detail: ownership changes require an owner, admins can only toggle admin↔member, and the last owner is protected. This goes beyond the annotations and helps the agent anticipate access restrictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences with no filler. The primary action is front-loaded, followed by the most important permission rules and a key business constraint. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the main operation, permission rules, and a critical invariant. An output schema exists so return values need not be described. One minor gap is that org_id/slug are optional in the schema and the description does not explicitly say one of them is required, but overall the tool is adequately specified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds value beyond the schema by explaining role constraints and who can set which role, which directly informs how to fill the 'role' parameter. It could be more explicit about needing one of org_id/slug, but the constraint semantics are valuable.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Change') and resource ('a member's role in an organization'), and immediately distinguishes the operation from related tools like invite/remove/transfer by stating the permission model. The scope is clear even without inspecting the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for when to use the tool: to change roles, with explicit permission constraints (owner vs admin) and an edge case (last owner cannot be demoted). It does not explicitly name alternative sibling tools or say when not to use it, but the usage context is strong.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
findagent_check_slugARead-onlyInspect
Check whether an agent slug is well-formed AND available before findagent_create_draft. Returns { valid, available }. valid=false means the slug is malformed (must be kebab-case, 3–60 chars, no leading/trailing hyphen); available=false means it is already taken; available=null means the check was inconclusive (create_draft still enforces uniqueness). Prefer findagent_submission_wizard, which walks the user through this (it validates the slug for you at the basics step).
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | The candidate agent slug (kebab-case, 3–60). |
Output Schema
| Name | Required | Description |
|---|---|---|
| slug | No | |
| usage | No | |
| valid | No | |
| available | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already state readOnlyHint=true, but the description goes far beyond that by specifying the exact return shape ({ valid, available }), the meanings of each value (valid=false for malformed, available=false for taken, available=null for inconclusive), and the note that create_draft still enforces uniqueness even when inconclusive. This discloses edge-case behavior that annotations cannot convey. There is no contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is information-dense but well-structured: it leads with the core action and purpose, then explains the return contract, then the validation rules, then the preferred alternative. Every sentence earns its place; there is zero filler or repetition. The critical guidance is front-loaded, and the alternative is stated at the end without weakening the primary message.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter, read-only validation tool with a fully documented schema and an output schema, the description is complete. It covers the tool's purpose, the expected return values and their edge cases, and explicitly routes the user to the preferred alternative. There is nothing an agent needs to know to call this correctly that is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema describes slug as a string with format 'kebab-case, 3–60', but the description expands on this with concrete validation rules: 'no leading/trailing hyphen' and explains how the slug's validity maps to the return values. This adds practical meaning beyond the schema's type constraints, showing the agent exactly what constitutes a valid input.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Check'), a clear resource ('agent slug'), and the exact criteria ('well-formed AND available'). It explicitly distinguishes itself from siblings by stating it runs 'before findagent_create_draft' and naming the recommended alternative findagent_submission_wizard. An agent can immediately understand the tool's function without any ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage context: 'before findagent_create_draft' sets the timing, and 'Prefer findagent_submission_wizard' directly names the alternative and indicates it should be chosen over this tool in normal flows. This is a clear when-to-use and when-not-to-use directive, with a specific alternative named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
findagent_claim_listingAIdempotentInspect
Start (or re-read) a claim on an MCP server LISTING that you run, so it becomes yours on FindAgent. The listing decides the proof, not you: a listing for a server people run locally is proven by an admin GitHub account on its declared repository; a hosted listing is proven by a DNS TXT record on its declared endpoint host. This returns which proof applies and, for DNS, the exact record name and value to create. Opening a claim grants nothing; call findagent_verify_listing_claim once the proof is in place. Calling again returns the same open claim and the same record, so a record you already created stays valid. Only published MCP server listings can be claimed, never an agent.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | No | The MCP server listing slug (the last part of its /mcp/<slug> page URL). Give this OR agent_id. | |
| agent_id | No | The listing id (a UUID). Give this OR slug; if you give both, they must name the same listing. |
Output Schema
| Name | Required | Description |
|---|---|---|
| method | No | |
| status | No | |
| subject | No | |
| agent_id | No | |
| challenge | No | |
| next_tool | No | |
| fail_reason | No | |
| instructions | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations by explaining the two proof mechanisms (admin GitHub account on a declared repo vs DNS TXT record on the endpoint host), that the listing chooses the proof, and that re-calling is idempotent so an existing record stays valid. This is exactly the side-effect and auth context an agent needs for a non-readOnly operation, matching idempotentHint=true and destructiveHint=false.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the action and its scope, then layers proof mechanics, the routing to verify_listing_claim, idempotency, and exclusions. Every sentence carries distinct information with no restatement of the name or annotations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description needn't enumerate return fields, yet it still previews them ('returns which proof applies and, for DNS, the exact record name and value'). Combined with the idempotency and eligibility notes, an agent has everything needed to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both parameters are documented there, including the 'give this OR agent_id' rule. The description adds the constraint that the target must be a published listing rather than an agent, but contributes no format or syntax detail beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('start/re-read a claim') on a specific resource ('an MCP server LISTING that you run'), and explicitly scopes it to LISTINGS rather than agents or other resources. An agent can distinguish it from findagent_verify_listing_claim, which is named as the follow-up step, without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit when-to-use ('once the proof is in place, call findagent_verify_listing_claim'), what it does not do ('opening a claim grants nothing'), and an exclusion ('only published MCP server listings can be claimed, never an agent'). The alternative tool and the condition that selects it are both spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
findagent_connect_githubARead-onlyInspect
Start connecting GitHub for the CALLER'S OWN FindAgent account so findagent_import_repo / findagent_list_repos can pull their repos. Returns whether GitHub is already connected plus a browser connect URL — the caller opens it, authorizes GitHub, and the token is stored server-side (this tool grants nothing itself; the actual connect happens in the browser). Call this first if import_repo or list_repos reports github not connected. The connection is scoped to THIS FindAgent account, so authorize on the same browser account. To switch GitHub accounts, use findagent_disconnect_github first.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| mode | No | |
| account | No | |
| connected | No | |
| connect_url | No | |
| install_url | No | |
| instructions | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the readOnlyHint annotation by explaining that the tool itself grants nothing, the actual connect happens in the browser, and the token is stored server-side. It also discloses account scoping, which is non-obvious behavioral context not visible in the schema or annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Every sentence earns its place: purpose, expected return, browser-based authorization flow, when to call, account scoping, and the disconnect alternative. Information is front-loaded and each clause adds distinct value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter tool with an output schema, the description fully covers the calling context, the browser flow, server-side token storage, account scoping, and prerequisite ordering. Nothing an agent needs to invoke this correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so there is no parameter semantics to explain. The baseline for a zero-parameter tool is 4, and the description correctly focuses on behavior and usage rather than inventing parameter detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Start connecting GitHub') and explicitly frames it as a prerequisite for findagent_import_repo / findagent_list_repos, which distinguishes it from those sibling tools. The mention of disconnecting also separates it from findagent_disconnect_github.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit when-to-use guidance: 'Call this first if import_repo or list_repos reports github not connected.' It also addresses a common alternative need by directing users to findagent_disconnect_github first when switching GitHub accounts.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
findagent_create_code_draftAInspect
Persist a CODE-BUNDLE draft from YOUR OWN GitHub repo — for an agent that ships RUNNABLE code (use this when findagent_import_repo returned grounding.code_bundle). Pass the basics (title/slug/tagline/description/category_slug + example_prompts: 1-5 required) + the detected contract from import_repo's grounding.code_bundle (runtime, entrypoint {path,export}, mcp {mode,command,args}, ui {path}, allowed_hosts, credential_slots, skills), overriding any you want to correct. The server RE-PULLS the repo (your stored GitHub token — private repos work, server-side), snapshots + scans the code, validates the manifest, and creates a status=draft agent you own; then call findagent_submit_for_review IN THIS MCP CLIENT to set price + confirm originality/prohibited + submit it (the web is only an optional preview). IDEMPOTENT BY REPO: if you already have a draft for this repo, calling this again OVERWRITES that same draft (basics + manifest + a fresh re-pull/re-scan) instead of creating a duplicate — so iterate freely (the response updated flag is true on overwrite). NEVER send secret credential VALUES — credential_slots declare shape (ref/env/label/allowed_hosts/type) only. Building/running the code stays gated until an admin approves it. Which tool for which part: Instructions, Skills and Actions are authored as an Agent Plugins package and sent as files with findagent_create_package_draft; Code (a Node or Python program) uses findagent_create_code_draft from your own GitHub repo; an MCP server you already run uses findagent_create_remote_mcp; findagent_create_draft saves a declarative listing from findagent_import_repo grounding. Code part: start from https://github.com/FindAgent/agent-template (Node and Python variants). Building any part with an assistant: provider-neutral playbooks at https://github.com/FindAgent/agent-creators (start with AGENTS.md).
| Name | Required | Description | Default |
|---|---|---|---|
| ui | No | Optional static UI: { path: bundle-relative index.html }. | |
| mcp | No | MCP exposure: { mode: 'wrap'|'native', command?, args? }. 'native' requires the command that starts the bundle's own MCP server. Defaults to wrap. | |
| ref | No | Optional branch/tag/SHA. Defaults to the default branch HEAD. | |
| llms | No | Optional target clients. Defaults to ['claude','chatgpt','gemini'] when omitted. | |
| repo | No | owner/repo or a github.com URL — YOUR repo (readable by your connected GitHub token). Re-pulled server-side, so private repos you own work. | |
| slug | No | Permanent URL slug, kebab-case (3–60, no leading/trailing hyphen). Verify with findagent_check_slug first. | |
| tags | No | Optional (≤10). Free-form lowercase tags ([a-z0-9- ]). | |
| title | No | Agent name (3–80 chars). | |
| skills | No | Optional discovery metadata (the tools the agent exposes). Each: { id?, name, description?, input_schema? }. `input_schema` is the tool's JSON-Schema argument shape (type: object; bounded, no remote $ref) so a client can render real fields. A repo's own findagent.json `skills[]` fills any you omit. Never executed. | |
| runtime | No | From grounding.code_bundle.runtime: { kind, version? } where kind is node or python (versions node22, node24, python3.13). Defaults to node. | |
| tagline | No | One-line value prop (10–140). | |
| languages | No | Optional (≤20). Language/Framework slugs from findagent_list_tech_facets (software-development discipline only). | |
| entrypoint | No | From grounding.code_bundle.entrypoint: { path: bundle-relative module, export: handler name }. | |
| description | No | What it does / who it is for (50–4000). | |
| serve_modes | No | How the code runs when a buyer connects it. 'hosted' = FindAgent runs it in an isolated sandbox over the gateway (the DEFAULT — omit for this). 'local' = the buyer downloads and runs it on their OWN machine via @findagent/mcp so it can reach their localhost/local tools; FindAgent never runs it (the buyer trusts you, like a local MCP server). Pass ['hosted','local'] to offer BOTH. Only set this for an agent that must reach the buyer's own machine — an agent whose credential targets a localhost host CANNOT be served hosted. NOTE: this call OVERWRITES the draft's serve modes — when re-calling for an existing draft, re-send serve_modes to keep a prior 'local'/'both' choice (omitting it resets to hosted-only). | |
| tech_domains | No | Optional (≤20). Tech Domain slugs from findagent_list_tech_facets (software-development discipline only). | |
| allowed_hosts | No | Default-deny egress allowlist — the ONLY hosts the sandbox may reach. From grounding.code_bundle.allowed_hosts. | |
| category_slug | No | The PRIMARY category: a TOP-LEVEL slug from findagent_list_categories (a discipline is required — usually 'software-development'). Put the required subdiscipline (and any industry + subindustry) in additional_category_slugs. | |
| example_prompts | No | REQUIRED — 1 to 5 concrete things a user can ask this agent to do (what a real user would type). | |
| credential_slots | No | Optional. Each item declares the SHAPE of a secret (ref/env/label/allowed_hosts…) — see `items`. DEFINITIONS ONLY — no values. | |
| additional_category_slugs | No | Optional (≤12). Extra slugs from findagent_list_categories. For EVERY top-level you select you MUST include one of its OWN subcategories here: a subdiscipline under your discipline, and (optionally) an industry top-level plus one of its subindustries. This is also where a discipline goes if your primary is an industry. |
Output Schema
| Name | Required | Description |
|---|---|---|
| kind | No | |
| slug | No | |
| bundle | No | |
| status | No | |
| account | No | |
| created | No | |
| updated | No | |
| next_tool | No | |
| preview_url | No | |
| instructions | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnlyHint=false, destructiveHint=false, openWorldHint=true), it discloses server-side re-pull with the stored GitHub token, snapshot+scan+manifest validation, the resulting status=draft ownership, idempotency by repo with overwrite semantics and the `updated` flag, the prohibition on sending secret values, and that build/run stays gated until admin approval. This is unusually rich operational context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose and trigger are front-loaded, but the body is a dense block that mixes invocation guidance with tangential material (GitHub template and agent-creators playbook URLs) that does not help select or call the tool. For a 21-param tool the length is largely justified, though trimming the trailing links would tighten it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 21-parameter, nested-object, multi-step creation tool with an output schema, the description covers the full workflow (import grounding, override, idempotent overwrite, gated run, submit-for-review) plus the secret-value guardrail. Nothing an agent needs to invoke it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds real value: it groups the required basics, points out that the detected contract (runtime/entrypoint/mcp/ui/allowed_hosts/credential_slots/skills) comes from import_repo's grounding.code_bundle, and says you may override any field. It also flags that credential_slots declare shape only, reinforcing the schema's warning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Persist a CODE-BUNDLE draft from YOUR OWN GitHub repo') and explicitly scopes it to agents shipping runnable code. It also names each sibling (findagent_create_package_draft, findagent_create_remote_mcp, findagent_create_draft) and assigns the distinct part each handles, so an agent can route without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit trigger ('use this when findagent_import_repo returned grounding.code_bundle') and an explicit alternative for every other case. It also spells out the follow-on step ('then call findagent_submit_for_review IN THIS MCP CLIENT') and notes the web is only an optional preview.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
findagent_create_departmentAInspect
Create a department: a team of 2-16 EXISTING published agents with a topology. Pass name and members (each an agent slug, optionally with alias and role); pattern is pipeline (default, members run in order), hub-orchestrator (also pass hub, the alias of the hub member) or p2p (optionally entry). report_instructions is the standing instruction prepended to every member's prompt on every run; it is scanned for secrets and prompt-injection phrasing before anything is saved. The department is created as a personal DRAFT you own — a department is never published or reviewed, it simply works once its members are available. Workflow and orchestrator modes, flow hints, explicit edges and organization departments are set in the department builder on the web and are refused here, not ignored. Each member must be a published public agent; an agent that needs an OAuth sign-in cannot be a member yet. Returns the slug and the connect address.
| Name | Required | Description | Default |
|---|---|---|---|
| hub | No | The alias of the hub member. Required for hub-orchestrator. | |
| name | Yes | Department name (3-80 chars). | |
| entry | No | The alias of the first member for p2p. Default: the first member. | |
| members | Yes | 2-16 members. The order matters for a pipeline. | |
| pattern | No | How the members hand work on. Default pipeline. | |
| description | No | Optional description (10-2000 chars). | |
| report_instructions | No | Optional standing instructions prepended to every member's prompt on every run, e.g. how to report. Scanned for secrets and injection phrasing; do not paste keys. |
Output Schema
| Name | Required | Description |
|---|---|---|
| slug | No | |
| status | No | |
| next_tool | No | |
| connect_url | No | |
| instructions | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover safety profile (not read-only, not destructive), and the description adds substantial behavioral context beyond them: report_instructions are 'scanned for secrets and prompt-injection phrasing before anything is saved,' the department is created as a personal DRAFT that is never published or reviewed, and it works only 'once its members are available.' This is exactly the kind of trait annotations cannot express.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core definition and required params, then progressively adds pattern semantics, the report_instructions side effect, the draft-only nature, and membership constraints. Dense but every clause carries information; slightly long for a description but no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Even with a rich schema and output schema present (so return-value explanation may be abbreviated), the description covers creation semantics, validation constraints, security scanning of report_instructions, the draft lifecycle, and hard refusals of unsupported modes. An agent has everything needed to call this correctly and to know what it should not attempt.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents all seven parameters including the hub/entry/alias/role defaults. The description adds marginal value by explaining pattern semantics ('pipeline members run in order', hub-orchestrator requires hub, p2p optionally entry) and the alias/role relationships, but largely reinforces existing schema text. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Create) and resource (department), immediately resolving the ambiguous term by defining it as 'a team of 2-16 EXISTING published agents with a topology.' This distinguishes it from sibling findagent_create_org (organization) and findagent_create_draft (single agent).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear preconditions (each member must be a published public agent; an OAuth-signin agent cannot be a member yet) and explicitly routes unsupported configurability to the web builder ('refused here, not ignored'). No explicit when-not-to-use against edit_department or create_org, keeping it short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
findagent_create_draftAInspect
Persist a DRAFT marketplace listing you wrote (from import_repo grounding). Creates a status=draft agent owned by you; then call findagent_submit_for_review IN THIS MCP CLIENT to set price + confirm originality/prohibited + submit it — the web is only an optional preview, not where you finish. Prefer findagent_submission_wizard to collect all of these fields step-by-step (one selectable question at a time) before calling this. Before calling: use findagent_check_slug to confirm the slug is free, and findagent_list_categories to pick the primary (top-level) category + a discipline. NEVER send secret credential VALUES — credential_slots declare the shape (ref/label/allowed_hosts/type) only. Which tool for which part: Instructions, Skills and Actions are authored as an Agent Plugins package and sent as files with findagent_create_package_draft; Code (a Node or Python program) uses findagent_create_code_draft from your own GitHub repo; an MCP server you already run uses findagent_create_remote_mcp; findagent_create_draft saves a declarative listing from findagent_import_repo grounding. Code part: start from https://github.com/FindAgent/agent-template (Node and Python variants). Building any part with an assistant: provider-neutral playbooks at https://github.com/FindAgent/agent-creators (start with AGENTS.md).
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | Optional — usually INFERRED from whether you pass `tools` (tools present → 'mcp-tool', an agent with actions or skills; else 'static-recipe', instructions only). Declared so a manifest-shaped payload is accepted, not rejected. | |
| llms | No | Optional target clients. Defaults to ['claude','chatgpt','gemini'] when omitted. | |
| slug | No | Permanent URL slug, kebab-case (3–60, no leading/trailing hyphen). Verify with findagent_check_slug first. | |
| tags | No | Optional (≤10). Free-form lowercase tags ([a-z0-9- ]). | |
| title | No | Agent name (3–80 chars). Alias accepted: `name`. | |
| tools | No | Optional actions and skills (full web-builder parity). Omit for an instructions-only agent. Each item's shape is defined in `items` — name/description/tool_type/action are the load-bearing fields; auth_ref must match a credential_slots[].ref whose allowed_hosts cover the action host (audience binding — enforced). | |
| tagline | No | One-line value prop (10–140). | |
| version | No | Optional semver release version for this listing (e.g. "1.0.0"). Self-described metadata only — the platform tracks the authoritative version separately. | |
| metadata | No | Optional professional listing metadata. { license?, homepage?, docs_url?, support_url?, support_email?, icon?, author?:{ name, url? }, maintainer?:{ name, url? } }. Every URL/icon must be https. An invalid block is dropped (not persisted). | |
| changelog | No | Optional human release notes for `version` (max 10000 chars). | |
| languages | No | Optional (≤20). Language/Framework slugs from findagent_list_tech_facets (software-development discipline only). | |
| guardrails | No | Optional declared guardrails (agents with actions). { input?: { max_length?, deny_patterns?:string[], pii_redaction?:string[] }, output?: { schema? }, actions?: { [toolName]: { approval?:"none"|"human"|"human_strict", max_amount?, rate_limit?:"10/hour", idempotent?, requires?:string[] } } }. `human` confirms where the client can prompt and proceeds where it cannot; `human_strict` BLOCKS where it cannot — use it for anything irreversible. You can only TIGHTEN — the platform always applies its mandatory rails. An invalid block fails the draft. | |
| price_type | No | Optional, default free. "paid" requires price_cents (charged only once Paddle is live). | |
| description | No | What it does / who it is for (50–4000). | |
| price_cents | No | Required when price_type=paid: a positive integer of US cents, max 50000 ($500). | |
| tech_domains | No | Optional (≤20). Tech Domain slugs from findagent_list_tech_facets (software-development discipline only). | |
| category_slug | No | The PRIMARY category: a TOP-LEVEL slug from findagent_list_categories. Alias accepted: `category`. At least one of {category_slug, additional_category_slugs} MUST be a discipline (category_type='discipline'), AND for EVERY top-level you select you MUST also include one of its OWN subcategories in additional_category_slugs. | |
| system_prompt | No | The agent instructions (50–20000 chars). | |
| example_prompts | No | 2–5 concrete asks (required). | |
| credential_slots | No | Optional. Each item declares the SHAPE of a secret (ref/label/allowed_hosts/auth_scheme…) — see `items`. DEFINITIONS ONLY — never send secret VALUES. | |
| additional_category_slugs | No | Optional (≤12). Extra slugs from findagent_list_categories. Include one subcategory under EVERY top-level you select (a subdiscipline under your discipline; a subindustry under any industry). Also where a discipline goes when the primary is an industry. |
Output Schema
| Name | Required | Description |
|---|---|---|
| slug | No | |
| status | No | |
| account | No | |
| created | No | |
| next_tool | No | |
| preview_url | No | |
| instructions | No | |
| slug_is_permanent_after_publish | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false and destructiveHint=false, so the mutation class is known. The description adds genuinely new behavioral context: the created object is status=draft and owned by the caller, finalization must happen inside the MCP client rather than the web UI, and credential slots carry shapes only, never values. It does not cover reversibility or draft limits, so not a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core purpose and workflow are front-loaded, but the final two sentences (agent-template repo, AGENTS.md playbooks) read as build-time guidance belonging to other tools and dilute the instruction for an agent trying to call this one. Dense and useful overall, with avoidable tail bloat.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 21-parameter, deeply nested creation tool with an output schema, the description covers prerequisites, sibling routing, sequencing, the paid/free and submission hand-off, and the secrecy rule for credential slots. Nothing an agent needs to invoke it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3, but the description does add semantic constraints beyond the schema: credential_slots are definitions only and are never populated with values, and completion of price/originality fields happens in submit_for_review rather than here. That mapping between fields and workflow steps is real value over the schema text.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Persist a DRAFT marketplace listing') and explicitly positions itself against four sibling creation tools (create_package_draft, create_code_draft, create_remote_mcp, import_repo grounding). An agent can select it without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit ordering (check_slug, list_categories, then create, then submit_for_review IN THIS MCP CLIENT), names the preferred alternative (submission_wizard) and its benefit, and states the 'never send secret VALUES' exclusion. When/when-not/alternatives are all present.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
findagent_create_knowledge_baseAInspect
Create a FindAgent Knowledge Base you own — a document + memory store an agent can be attached to and answer grounded in, with citations. Pick an embedding model (text-embedding-3-small default, or -large for higher quality). Set bind_embedding_key:true to bind your OpenAI vault key so documents can ingest ($0 to the platform — you use your own key); without a key, documents will not ingest. Optionally scope it to an organization you belong to.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | The knowledge base name (1–120 chars). | |
| org_id | No | Optional — scope the KB to an organization you are a member of. | |
| description | No | Optional short description. | |
| embedding_model | No | The embedding model, pinned at creation. Default text-embedding-3-small. | |
| bind_embedding_key | No | Bind your OpenAI vault key so documents can ingest. Default false. |
Output Schema
| Name | Required | Description |
|---|---|---|
| instructions | No | |
| knowledge_base | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint=false, so the description carries the behavioral disclosure burden. It does well by warning that 'without a key, documents will not ingest' and noting the cost implication ('$0 to the platform — you use your own key'). This is valuable beyond the schema, although it does not cover all side effects (e.g., reversibility).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a compact three-sentence block with no filler. It front-loads the core purpose, then addresses model choice and the critical key-binding caveat, and ends with optional scoping. Every sentence contributes actionable guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that an output schema exists and all five parameters are documented in the schema, the description only needs to add the operational context. It covers the essential decisions an agent must make (model selection, key binding, org scoping) and the critical consequence of skipping the key. Nothing needed for a correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds meaningful context for embedding_model (small default, large for higher quality) and bind_embedding_key (necessary for ingestion), while also clarifying org_id scope. This goes beyond the schema's field descriptions without being redundant.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a precise verb and object: 'Create a FindAgent Knowledge Base you own' and then clarifies what it is ('a document + memory store an agent can be attached to and answer grounded in, with citations'). This clearly distinguishes it from sibling operations like attach, add_document, list, or delete, so an agent can identify the correct tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for how to use the tool: choose an embedding model based on quality, bind your OpenAI key for ingestion, and optionally scope to an organization. It does not explicitly name alternatives or when-not-to-use, but the create operation is unique among siblings and the practical conditions are well explained.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
findagent_create_orgAInspect
Create a FindAgent organization (a B2B workspace) — you become its owner. Provide a name and optionally a slug (3–40 chars, lowercase letters/digits/hyphens; derived from the name if omitted). Then invite teammates with findagent_invite_member. SLUG IS PERMANENT: the first call WITHOUT confirm_slug returns the exact org slug + a notice that its URL (/organizations/) can never change; re-call with confirm_slug set to that exact slug to acknowledge and create it (nothing is created until you confirm).
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | The organization name (1–120 chars). | |
| slug | No | Optional URL slug (3–40 chars, kebab-case). | |
| confirm_slug | No | Your acknowledgement that the org's URL slug is PERMANENT. Must exactly match the resolved slug. Call without it first to see the exact slug + permanence notice, then re-call with confirm_slug set to that slug to create. |
Output Schema
| Name | Required | Description |
|---|---|---|
| instructions | No | |
| organization | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description is unusually transparent about side effects and sequencing: the user becomes owner, the slug is permanent, the URL can never change, nothing is created until confirm_slug is provided, and the first call only returns the exact slug and a notice. This goes well beyond the minimal readOnlyHint=false annotation and prepares the agent for the two-call creation pattern.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is information-dense but not bloated. It front-loads the core purpose, then covers the required parameters, the follow-up invite action, and the nuanced permanent-slug confirmation flow. Each sentence earns its place, and the prominent 'SLUG IS PERMANENT' warning prevents a consequential mistake.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a creation tool with a nontrivial confirmation workflow, the description covers everything an agent needs: what to pass, what the first call returns, what the second call must contain, the permanent-URL consequence, and the next recommended tool (invite_member). The output schema exists and the input schema is fully documented, so no critical context is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds meaning: it explains that slug is derived from name when omitted and clarifies the exact role of confirm_slug in the two-step flow. While the schema already documents confirm_slug well, the description adds the derived-slug behavior and reinforces the required acknowledgement semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Create a FindAgent organization (a B2B workspace) — you become its owner.' It distinguishes the tool's purpose from siblings like get_org, list_orgs, delete_draft, and invite_member by focusing on creation, ownership, and the subsequent invite step. The scope and intent are unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear in-flow guidance: create the org, then invite teammates with findagent_invite_member, and explicitly instructs the caller to first call without confirm_slug and then re-call with the exact slug. It does not explicitly describe when-not-to-use alternatives such as findagent_check_slug, but the workflow is clear enough to prevent misuse.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
findagent_create_package_draftAInspect
Create a DRAFT agent from an Agent Plugins package you wrote in this conversation: pass files as an object mapping each path to its TEXT (for example "skills/my-skill/SKILL.md", "skills/my-skill/references/guide.md", ".claude-plugin/plugin.json", "commands/review.md", "agents/reviewer.md"). FindAgent imports it exactly like an uploaded package — the same skill rules (at most 40 skills, valid Agent Skills names; too many is refused, never cut), the same caps (4 MB of text in total, 2 MB per file, 4000 files; the whole request, JSON escaping included, must also stay under the hosting platform's ~4.5 MB request limit), actions only where plugin.json declares them — stores it in your own namespace and saves a status=draft skills agent you own. Binary files cannot be sent. You must pass attestation: "own-work", confirming these are your own files. Then call findagent_submit_for_review in this client (price, originality and prohibited-content confirmations): the package is scanned and a person reviews it before anything is published. Listing fields are the same as findagent_create_draft (title, slug, tagline, description, category); the instructions, prompts and actions come from the files. NEVER put secret values in any file: an action's credentials are declared by name only. Which tool for which part: Instructions, Skills and Actions are authored as an Agent Plugins package and sent as files with findagent_create_package_draft; Code (a Node or Python program) uses findagent_create_code_draft from your own GitHub repo; an MCP server you already run uses findagent_create_remote_mcp; findagent_create_draft saves a declarative listing from findagent_import_repo grounding. Code part: start from https://github.com/FindAgent/agent-template (Node and Python variants). Building any part with an assistant: provider-neutral playbooks at https://github.com/FindAgent/agent-creators (start with AGENTS.md).
| Name | Required | Description | Default |
|---|---|---|---|
| llms | No | ||
| slug | Yes | Permanent kebab-case slug (3-60 chars). Check it with findagent_check_slug first. | |
| tags | No | ||
| files | Yes | The package: each key is a relative file path, each value the full text of that file. At least one SKILL.md (for example "skills/<name>/SKILL.md" with name + description frontmatter). | |
| title | Yes | Listing title (3-80 chars). | |
| tagline | Yes | One-line value proposition (10-140 chars). | |
| languages | No | ||
| attestation | Yes | Required: "own-work" — you confirm these files are your own work (or yours to publish). | |
| description | Yes | Listing description (50-4000 chars). | |
| tech_domains | No | ||
| category_slug | No | Primary category slug (see findagent_list_categories). | |
| example_prompts | No | Optional: up to 5 example prompts (more is refused, not cut). Omitted = the ones the package produced. | |
| additional_category_slugs | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| kind | No | |
| slug | No | |
| title | No | |
| status | No | |
| account | No | |
| created | No | |
| left_out | No | |
| next_tool | No | |
| price_type | No | |
| preview_url | No | |
| skill_count | No | |
| skill_notes | No | |
| action_count | No | |
| instructions | No | |
| category_slug | No | |
| slug_is_permanent_after_publish | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With only readOnlyHint=false/destructiveHint=false in annotations, the description carries the burden well: it discloses the skill cap (40, 'refused, never cut'), size caps (4 MB total, 2 MB per file, 4000 files, ~4.5 MB request), that binary files cannot be sent, that the package is stored in the caller's namespace as a status=draft listing, and that a human reviews before publication. It stops short of stating auth/permission requirements or what a partial failure returns, but this is unusually rich disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core action is front-loaded in the first sentence, but the body is a single dense run-on paragraph mixing limits, workflow rules, tool-selection routing, and external template URLs. The trailing repository links (agent-template, agent-creators) are tangential to invoking this tool and dilute the payload.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 13-parameter, nested-object, write-operation tool, the description covers the input format, all hard limits, the attestation requirement, the draft state and ownership outcome, and the mandatory review step. Return values are not needed since an output schema exists.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 62%, and the description compensates for the gap: it explains the `files` object shape (path -> full TEXT) with concrete example paths including plugin.json and commands/*.md, clarifies that listing fields come from the same source as findagent_create_draft while instructions/prompts/actions come from files, and reinforces the attestation enum value. It does not cover every listing metadata parameter (llms, tech_domains, tags), leaving some schema reliance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Opens with a specific verb+resource: 'Create a DRAFT agent from an Agent Plugins package you wrote in this conversation.' It immediately distinguishes itself from the near-identically named siblings by naming them and the exact part each covers ('Instructions, Skills and Actions ... findagent_create_package_draft; Code ... findagent_create_code_draft; an MCP server ... findagent_create_remote_mcp').
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Includes an explicit 'Which tool for which part' decision table mapping each authoring input to the correct tool, states the required follow-up call (findagent_submit_for_review) and why, and notes the prerequisite attestation. An agent can select this tool vs its siblings without inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
findagent_create_remote_mcpAInspect
List an EXTERNAL remote MCP server you run as a marketplace LISTING — for an MCP server hosted on YOUR OWN infrastructure that buyers connect their client straight to (FindAgent never proxies or runs it). Pass the listing basics (title/slug/tagline/description + example_prompts: 1–5 required; a listing is not categorised, so any category you send is ignored) and the remote endpoint as server_url (https) OR a parsed server.json object in server_json. The server's tools are auto-detected (a sandbox-gated live scan when available) — you can override with tools (name+description), transport (streamable-http|sse), and auth_note (what credential the server needs — NEVER a secret value). Creates a status=draft agent you own; then call findagent_submit_for_review IN THIS MCP CLIENT to submit it. The server URL is stored + displayed only; nothing executes on FindAgent. Before calling: findagent_check_slug + findagent_list_categories.
| Name | Required | Description | Default |
|---|---|---|---|
| llms | No | Optional target clients. Defaults to ['claude','chatgpt','gemini']. | |
| slug | No | Permanent URL slug, kebab-case (3–60, no leading/trailing hyphen). Verify with findagent_check_slug. | |
| tags | No | Optional (≤10). Free-form lowercase tags. | |
| title | No | Listing name (3–80 chars). | |
| tools | No | Optional descriptive tools the server exposes ({ name, description }) — SEO/discovery only, no action. Auto-detected when omitted. | |
| tagline | No | One-line value prop (10–140). | |
| auth_note | No | Optional. What credential the server requires (e.g. "Requires a Bearer API key"). DEFINITION only — NEVER a secret value. | |
| transport | No | Optional MCP transport. Defaults to streamable-http (auto-detected from server.json). | |
| server_url | No | The remote MCP endpoint (https). Required unless server_json carries it. | |
| description | No | What the server does / who it is for (50–4000). | |
| server_json | No | Optional parsed server.json (registry shape) — used INSTEAD of server_url. | |
| category_slug | No | Ignored. A listing is not categorised; the platform files its own placeholder. | |
| example_prompts | No | REQUIRED — 1 to 5 concrete things a user can ask this server to do. | |
| additional_category_slugs | No | Ignored (a listing is not categorised). |
Output Schema
| Name | Required | Description |
|---|---|---|
| kind | No | |
| slug | No | |
| status | No | |
| account | No | |
| created | No | |
| next_tool | No | |
| preview_url | No | |
| instructions | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, destructiveHint=false, openWorldHint=true, but the description adds substantial context beyond them: the object is created as a status=draft, the server URL is 'stored + displayed only; nothing executes on FindAgent', tools are auto-detected via a sandbox-gated live scan with override capability, and auth_note must never carry a secret. This is rich, non-redundant behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The scoping statement and the create-vs-submit flow are front-loaded, and almost every clause carries information. It is dense and slightly run-on in the middle (the detection/override sentence), but nothing is filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 14-parameter tool with nested objects, enums, and an output schema, the description covers what the agent must know: draft state, non-execution guarantee, auto-detection vs override, secret-handling rule, and the mandatory next call. Return values are delegated to the output schema, which is correct.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3, but the description adds meaning: it clarifies that server_url and server_json are alternatives, that example_prompts are 1-5 and required, that tools/transport/auth_note are overrides of auto-detection, and explains WHY category fields are ignored ('a listing is not categorised'). That reasoning goes beyond the schema's bare 'Ignored'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('List an EXTERNAL remote MCP server ... as a marketplace LISTING') and crisply scopes it to MCP servers hosted on your own infrastructure that buyers connect to directly. It explicitly distinguishes itself from the draft/package/code-draft siblings by being the remote-MCP listing path, so an agent can pick it without opening schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says when to use it (external remote MCP server you host, never proxied by FindAgent), what it produces (status=draft agent you own), and the follow-up step ('call findagent_submit_for_review in this MCP client'). It also names prerequisites to run first (findagent_check_slug + findagent_list_categories).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
findagent_create_requestAInspect
Post an agent request onto the PUBLIC FindAgent demand board AS the connected account — "I want an agent that does X". Others can upvote it and creators can build an agent that fulfils it. Provide a clear title (5–120 chars) + optional detail body (≤2000 chars). The text is moderated; a request always starts OPEN. Returns the new request id. Free — no payment. A search that found nothing (findagent_browse_agents or findagent_skill_search with no match) is a good moment to offer this.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | Optional detail: tools to connect, what a good result looks like (≤2000). | |
| title | Yes | What the agent should do (5–120 characters). |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| status | No | |
| next_tool | No | |
| instructions | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations give readOnlyHint=false and openWorldHint=false; the description adds real behavioral context beyond them — the request is public, moderated, always starts OPEN, free with no payment, and returns a new request id. It stops short of describing what moderation failure looks like or reversibility, so not a full 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core action and scope, then constraints, then return/usage. Every sentence carries information, though it runs several sentences and could tighten slightly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need not be detailed; the description still notes the returned request id. Public visibility, moderation, initial state, cost, and the routing trigger are all covered — nothing an agent needs to call it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so both parameters are already documented in the schema. The description restates the same constraints (title 5–120 chars, body ≤2000) with only a minor added nuance ('tools to connect, what a good result looks like' mirrors the schema), so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (post/create an agent request on the PUBLIC FindAgent demand board) and clearly frames it as 'I want an agent that does X', distinguishing it from browse/search and other create_* siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly names the alternative moments to use it: 'A search that found nothing (findagent_browse_agents or findagent_skill_search with no match) is a good moment to offer this.' This ties the tool to a concrete trigger condition relative to named siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
findagent_delete_draftADestructiveInspect
Discard YOUR OWN draft listing — a draft you never submitted, or one that was sent back for changes (needs-changes). This soft-deletes the whole listing: the row is kept but renamed to a discarded tombstone, so the original slug can be used again straight away. A PUBLISHED or in-review agent is NOT deletable here (a live agent is managed through its version lifecycle — findagent_rollback_version / findagent_bump_version). Owner-only.
| Name | Required | Description | Default |
|---|---|---|---|
| agent | Yes | The slug or id of YOUR draft (from findagent_list_my_agents). Must be a draft or a sent-back (needs-changes) agent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| slug | No | |
| deleted | No | |
| instructions | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare destructive=true and readOnly=false, and the description goes well beyond them: it explains this is a soft-delete that renames the row to a discarded tombstone, that the original slug is freed immediately, and that it is owner-only. This is exactly the behavior an agent must know before invoking a destructive tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with the action and constraint, then the mechanism, then the exclusion. Zero filler; every sentence carries decision-relevant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter destructive tool with an output schema and full annotation coverage, the description supplies the slug-reuse behavior, eligibility boundaries, and ownership requirement. Nothing needed to invoke it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the parameter description already covers the slug/id format and the draft/needs-changes constraint, so the baseline is 3. The description adds a bit of value by reinforcing the slug-reuse consequence and eligibility constraint, though it does not introduce new syntax beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Discard/soft-delete) and resource (your own draft listing), and explicitly distinguishes the scope from published/in-review agents. Names sibling tools (findagent_rollback_version / findagent_bump_version) as the alternatives for live agents, making it unambiguous relative to the crowded sibling list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit when-to-use (a draft you never submitted, or one sent back for changes) and when-not-to-use (published or in-review agents are NOT deletable here), with the correct alternative named. Eligibility is fully spelled out, leaving nothing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
findagent_delete_kbADestructiveInspect
Permanently delete an ENTIRE knowledge base you own, including all of its documents, chunks, structure, and attachments. Owner-gated (deleting a SHARED organization knowledge base requires an organization owner or admin). Any agent it was attached to loses access. This cannot be undone.
| Name | Required | Description | Default |
|---|---|---|---|
| kb_id | Yes | The knowledge base id to delete (from findagent_list_kbs). |
Output Schema
| Name | Required | Description |
|---|---|---|
| deleted | No | |
| instructions | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark destructiveHint=true and readOnlyHint=false, but the description adds valuable context: what gets destroyed (documents, chunks, structure, attachments), that attached agents lose access, and that the operation cannot be undone. It also explains the owner/admin privilege requirement.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense sentences with no redundancy. The deletion scope is front-loaded, followed by authorization, side effects on attached agents, and irreversibility. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter destructive operation with an output schema, the description fully covers what is deleted, who is allowed to delete, the consequence for attached agents, and the fact that it cannot be undone. No essential invocation information is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter, kb_id, is fully documented in the schema with 'The knowledge base id to delete (from findagent_list_kbs).' Since schema description coverage is 100%, the description needing to add no parameter detail matches the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action and object: 'Permanently delete an ENTIRE knowledge base you own.' It clearly distinguishes itself from sibling delete_kb_document by emphasizing the entire KB, including documents, chunks, structure, and attachments.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is explicit: the user must own the KB, and deleting a shared organization KB requires org owner/admin rights. It does not explicitly name an alternative for deleting a single document, but the scope and ownership requirements make the intended use unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
findagent_delete_kb_documentADestructiveInspect
Permanently delete one document (and its chunks) from a knowledge base you own — get the document_id from findagent_list_kb_documents. Owner-gated; remaining documents are unaffected. This cannot be undone.
| Name | Required | Description | Default |
|---|---|---|---|
| document_id | Yes | The document id (from findagent_list_kb_documents). |
Output Schema
| Name | Required | Description |
|---|---|---|
| deleted | No | |
| instructions | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already include destructiveHint=true, but the description adds valuable context: the deletion is permanent and cannot be undone, it is owner-gated, and other documents remain unaffected. These details go beyond the annotation and inform the agent about side effects and authorization requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no fluff. The first sentence front-loads the action, scope, and ownership, and the second emphasizes irreversibility. Every word contributes to understanding the tool's purpose and constraints, making it highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple delete operation with a single parameter and an output schema present, the description covers the essential prerequisites (document_id source), ownership requirement, scope, and irreversibility. It does not explain error cases or the response format, but the output schema likely covers that. The completeness is strong but not exhaustive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides 100% coverage for the single parameter document_id, including the instruction to source it from findagent_list_kb_documents. The description repeats this guidance but adds no new parameter-specific meaning beyond what the schema already conveys, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('permanently delete'), a specific resource ('one document (and its chunks) from a knowledge base you own'), and clearly distinguishes it from siblings like findagent_delete_kb which deletes the whole KB. The scope and ownership constraint are explicit, making the tool's purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear usage context: it requires the document_id from findagent_list_kb_documents, is owner-gated, and affects only the specified document. It implies the appropriate use case is single-document deletion. While it doesn't explicitly name an alternative for bulk deletion, the one-document framing makes the distinction clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
findagent_detach_kbADestructiveInspect
Detach a knowledge base from an agent, department, or your personal binding by attachment_id (from findagent_list_kb_attachments). This removes only that one binding — the knowledge base itself and any other attachments are unchanged. Owner-gated.
| Name | Required | Description | Default |
|---|---|---|---|
| attachment_id | Yes | The attachment id (from findagent_list_kb_attachments). |
Output Schema
| Name | Required | Description |
|---|---|---|
| detached | No | |
| instructions | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already flag this as destructive and non-read-only, and the description adds valuable context: it removes exactly one binding, leaves the knowledge base and other attachments untouched, and is 'Owner-gated.' This goes beyond the annotation hints to clarify both the scope of destruction and access control.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no filler: the first states the action and the required parameter source, and the second tightens the scope with a clear 'only that one binding' qualifier plus the ownership gate. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-required-parameter tool with an output schema and full schema documentation, this description is complete. It tells the agent what resource to target, where to get the ID, what will and will not be affected, and the authorization requirement—there is no meaningful gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents attachment_id with a description that names findagent_list_kb_attachments as its source; the description repeats that same provenance. With 100% schema coverage, the baseline of 3 applies because the description does not add meaning beyond what the input schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a precise verb-resource pair: 'Detach a knowledge base from an agent, department, or your personal binding.' It further differentiates the operation by clarifying that only the specified binding is removed, not the knowledge base itself or other attachments, which distinguishes it from delete_kb and similar tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description tells the agent to supply attachment_id from findagent_list_kb_attachments, providing the correct source for the required parameter. It also gives scope guidance by explicitly stating what is not affected, but it does not name alternative sibling tools or list explicit when-not conditions, so it falls just short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
findagent_disconnect_githubAIdempotentInspect
Disconnect / switch GitHub account: drops the caller's stored GitHub connection (best-effort revoking the GitHub-side grant first) so a reconnect can authorize a DIFFERENT GitHub account. Idempotent — returns disconnected:true even if nothing was connected. After this, call findagent_connect_github to connect the new account.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| disconnected | No | |
| instructions | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide idempotentHint and readOnlyHint, and the description adds meaningful behavioral context: it drops the stored connection, best-effort revokes the GitHub-side grant, and returns disconnected:true even when nothing was connected. This fully explains the operation's side effects and edge case behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tightly written sentences: the core action, the behavioral notes, and the follow-up step. No filler or redundant restatement of the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter action with an output schema, the description covers the operation's effect, idempotency, return behavior, and next step. Nothing an agent needs to invoke it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the schema has nothing to document. The description correctly requires no parameter explanation, and the baseline of 4 applies because there is no parameter burden to compensate for.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Disconnect / switch GitHub account') and resource ('stored GitHub connection'), clearly distinguishing it from findagent_connect_github. It also explains the purpose of disconnecting so a different GitHub account can be authorized.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit sequencing: after disconnecting, call findagent_connect_github to connect the new account. It also clarifies the idempotent nature, so the agent knows it is safe to call even when nothing is connected.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
findagent_earningsARead-onlyInspect
Read YOUR OWN creator earnings — your withdrawable balance, in-flight (pending) and settled (paid) totals, lifetime earnings, and your most recent earning transactions. READ-ONLY: this never moves money. Withdrawals/payouts are set up in your FindAgent dashboard (KYC/owner-gated) and are not available as a tool. Amounts are in the currency's minor units (US cents for USD).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| currency | No | |
| paid_cents | No | |
| instructions | No | |
| pending_cents | No | |
| lifetime_cents | No | |
| available_cents | No | |
| recent_transactions | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint annotation, the description explicitly states 'READ-ONLY: this never moves money' and adds meaningful context: payouts are KYC/owner-gated and handled outside the tool. It also clarifies currency units are minor units, which is valuable behavioral/output context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise: three sentences with no wasted words. It front-loads the core purpose, states the read-only nature, explains the payout exclusion, and provides the currency-unit detail. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter tool with an output schema, the description is complete: it identifies exactly what data the agent will receive, the read-only safety profile, the payout exclusion, and the unit convention. There are no missing behavioral or usage details needed to call this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so there are no parameter semantics to document. The baseline of 4 applies because the description correctly avoids inventing parameters and instead clarifies the meaning of the returned amounts (minor units), which is useful given the empty input schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Read') with a clear resource ('YOUR OWN creator earnings') and enumerates the exact data returned. It further distinguishes itself from any potential payout/withdrawal tools by explicitly stating those are not available as a tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly states when to use it: to read the caller's own earnings, balances, and recent transactions. It also gives an explicit when-not and alternative path: withdrawals/payouts are handled through the FindAgent dashboard, not through this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
findagent_edit_departmentAIdempotentInspect
Edit the settings of YOUR OWN department — its reporting instructions, name, and description. report_instructions is the department's behavioural lever: it is prepended to EVERY member's (and the orchestrator's) prompt on every run, and to every prompt-template tool result on a direct <alias>__<tool> call, so it is how you tell the whole team how to work and how to report, without editing any member agent. Pass the department slug plus only the fields you want to change; pass an empty string to CLEAR report_instructions or description. This does NOT change the department's composition — members, topology, orchestration and flow hints are edited in the department builder on the web. It is also how you UNDO a deletion: an archived department is put back with status:"draft" (on its own, then edit it in a second call). Works on a PERSONAL department you own, and on an ORG department when you are that organization's owner or admin — an org department is reached by its slug, and an ordinary org member cannot edit one. Call findagent_list_my_agents to see the personal departments you own.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | New department name (3–80 chars). | |
| status | No | Pass "draft" to RESTORE a department you archived (deleted): it becomes a draft again and serves its connector, runs and schedules exactly as before, with its members and report_instructions untouched. Send it ALONE — restore first, then edit in a second call. "draft" is the only value: a department is never published. | |
| department | Yes | The slug of a department you own (from findagent_list_my_agents). | |
| description | No | New description (10–2000 chars). Pass an empty string to remove it. | |
| report_instructions | No | Standing instructions prepended to every member's and the orchestrator's prompt on every run, and to every prompt-template tool result on a direct <alias>__<tool> call — e.g. how to report, what to prioritise, what house style to use. Pass an empty string to remove it. Checked on save against a prompt-injection deny-list and scanned for leaked secrets; the save is rejected on a hit. |
Output Schema
| Name | Required | Description |
|---|---|---|
| slug | No | |
| status | No | |
| restored | No | |
| instructions | No | |
| report_instructions_set | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide readOnlyHint=false, idempotentHint=true, destructiveHint=false, and the description adds substantial unstated behavior: report_instructions is prepended to every member's/orchestrator's prompt and templated results, empty strings clear fields, saves are rejected on injection/secret scans, and archived departments are restored as drafts. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The opening sentence names the operation and fields, and subsequent sentences add high-value caveats (no composition changes, restore flow, permission boundary, security check) without redundancy. Dense but appropriately sized for a tool with this many behavioral details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with 5 params, permissions, restore semantics, security checks, and an output schema, the description covers all necessary call-time knowledge: scope of edits, permission model, field semantics, restoration workflow, and where to get department slugs. The output schema covers return-shape needs, so nothing essential is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema already covers all five parameters at 100% coverage, so the baseline is 3, but the description goes beyond: it explains the operational meaning of report_instructions, the clearing semantics of empty strings, the 'send status alone' restore rule, and the source of valid department slugs. This materially helps an agent choose and format values.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a precise verb (Edit) and resource ('settings of YOUR OWN department'), enumerates the exact fields (reporting instructions, name, description), and explicitly separates itself from composition editing done in the web builder. This differentiates it from sibling edit tools such as edit_metadata and edit_price.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit conditions: personal departments owned by caller, org departments restricted to owner/admin; explains when not to use it (composition changes go to web builder) and directs users to list_my_agents to discover departments. It also prescribes the restore workflow (status alone first, then edit) rather than leaving sequencing ambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
findagent_edit_metadataAIdempotentInspect
Edit the DISPLAY metadata of YOUR OWN PUBLISHED agent — title, tagline, description, example output, category (+ subcategories), tags, and the Tech Domain / Language facets (software agents). Pass the agent slug + only the fields you want to change. This does NOT change what the agent can DO: its tools/actions/credentials/prompts are unchanged (those re-version through your agent's own flow + admin review — findagent_bump_version for an agent built here, findagent_repull for an agent built from a code or skills repo, findagent_reintrospect_mcp for an external MCP listing), so a metadata edit goes live immediately without re-review. Owner-only. Existing buyers are unaffected. Use findagent_list_categories for valid category slugs.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Your published agent slug (you must own it). | |
| tags | No | Replace the free-form lowercase tags (≤10). | |
| title | No | New agent name (3–80 chars). Alias accepted: `name`. | |
| tagline | No | New one-line value prop (10–140 chars). | |
| languages | No | Replace the Language/Framework facets (slugs from findagent_list_tech_facets). Software-development agents only. | |
| description | No | New description (50–4000 chars). | |
| tech_domains | No | Replace the Tech Domain facets (slugs from findagent_list_tech_facets). Software-development agents only; ignored for any other discipline. | |
| category_slug | No | New PRIMARY category: a TOP-LEVEL slug from findagent_list_categories. Alias accepted: `category`. When changing categories you must keep ≥1 discipline and a subcategory under every selected top-level (put the rest in additional_category_slugs). | |
| thumbnail_url | No | The listing logo: a URL of an image already uploaded to this platform (anything else is refused). Pass an empty string to remove it, so the card draws a generated mark. | |
| example_output | No | A real example of what this agent produces, shown on the listing labeled as creator-provided (markdown supported, ≤4000 chars). Optional; pass an empty string to remove it. This is a display example, not a live run. | |
| additional_category_slugs | No | Replace the non-primary category memberships (≤12 slugs). |
Output Schema
| Name | Required | Description |
|---|---|---|
| slug | No | |
| updated | No | |
| next_tool | No | |
| ignored_note | No | |
| instructions | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations: discloses that edits publish immediately without admin review, that the caller must own the agent, that existing buyers are unaffected, and that thumbnail/example_output are display-only artifacts (not a live run). This is rich behavioral context an agent cannot infer from readOnlyHint/idempotentHint alone.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Dense but front-loaded: the core purpose leads, followed by the scoping disclaimer and sibling routing. The long parenthetical enumerating re-versioning paths is justified because it prevents misrouting, though it is the one place the prose could be tightened.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 11-parameter mutation tool with full schema coverage and an output schema, the description supplies everything an agent needs: editable fields, ownership requirement, immediate-publish behavior, sibling routing for non-display changes, and slug lookup pointers. No material gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema carries most parameter detail. The description still adds partial-update semantics ('pass only the fields you want to change') and cross-references the lookup tools for valid category/facet slugs, which the schema itself does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Edit) and resource (DISPLAY metadata of YOUR OWN PUBLISHED agent), then enumerates exactly which fields are editable. It also names what the tool does NOT touch (tools/actions/credentials/prompts), which sharply distinguishes it from siblings like findagent_bump_version and findagent_repull.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use it (display-only edits, go live immediately without re-review) and when not to (behavioral changes must route through bump_version, repull, or reintrospect_mcp). Adds the owner-only constraint and routes the agent to findagent_list_categories for valid slugs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
findagent_edit_priceAIdempotentInspect
Change the price of YOUR OWN agent (the audited price-edit). Pass the agent slug + price_type ('free' or 'paid') and, when paid, price_cents (US cents, max 50000 / $500). The change is owner-gated and recorded to an audit log. NOT retroactive: existing buyers keep their access. Only the agent's owner can call this; the change goes through the same validated path as the web price editor.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Your agent slug (you must own it). | |
| price_type | Yes | 'free' or 'paid'. | |
| price_cents | No | Required when paid — integer US cents (1–50000). Ignored for free. |
Output Schema
| Name | Required | Description |
|---|---|---|
| slug | No | |
| changed | No | |
| price_type | No | |
| price_cents | No | |
| price_label | No | |
| instructions | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark this as non-read-only and non-destructive, and the description adds materially: owner-gating, audit-log recording, non-retroactivity, and that existing buyers keep access. This goes beyond the structured fields and tells the agent exactly what side effects to expect.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four sentences, each carrying a distinct constraint (ownership, price rules, non-retroactivity, validation path), with the main action front-loaded. No filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with an output schema and full parameter coverage, the description provides all needed context: owner prerequisite, price bounds, enum semantics, and downstream impact on existing buyers. An agent can invoke it correctly without additional assumptions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema covers all three parameters with descriptions and enums, so the baseline is 3. The description reinforces the 50000-cent cap and 'ignored for free' behavior, but does not add meaning beyond what the schema already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening sentence names a specific verb ('Change') and resource ('price of YOUR OWN agent'), and adds the qualifier 'audited price-edit', making the operation unmistakable. This naturally separates it from nearby tools like findagent_edit_metadata and findagent_buy_agent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly scopes when the tool applies: only the agent's owner may use it, and it is the validated equivalent of the web price editor. It does not explicitly name alternative tools or say when not to use this one, so it misses the top bar but is well above vague.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
findagent_export_project_recipeAInspect
Turn one of YOUR OWN projects into a private recipe DRAFT: only decisions you stated or approved (never assumptions or defaults) are used, with names, links, hosts, repository paths, credentials and the project's own name removed. Pass project_id (from the project card), attestation: "own-work" (you confirm the recipe is yours to publish) and the listing fields (title, slug, tagline, description, category_slug). The listing text must not name anything the anonymiser would remove (refused listing_identifies). Nothing is published: the draft still needs findagent_submit_for_review, the automated scan and a person. Refused not_settled when nothing in the project is settled yet.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Permanent kebab-case slug (3-60 chars). | |
| title | Yes | Listing title (3-80 chars). | |
| tagline | Yes | One-line value proposition (10-140 chars). | |
| project_id | Yes | The id of one of your own projects. | |
| attestation | Yes | Required: "own-work" — the recipe is your own work, or yours to publish. | |
| description | Yes | Listing description (50-4000 chars). | |
| category_slug | No | Primary category slug (see findagent_list_categories). |
Output Schema
| Name | Required | Description |
|---|---|---|
| kind | No | |
| slug | No | |
| title | No | |
| status | No | |
| account | No | |
| created | No | |
| next_tool | No | |
| price_type | No | |
| preview_url | No | |
| instructions | No | |
| decision_count | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations (readOnlyHint=false, destructiveHint=false) by disclosing the anonymisation policy (names, links, hosts, repo paths, credentials, project name stripped), the 'stated/approved decisions only' rule, and named refusal codes (`not_settled`, `listing_identifies`). It also makes explicit that nothing is published, so the agent understands the state transition.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the purpose and the anonymisation guarantee, then describes inputs and refusals. It is dense and every clause carries information, though the single packed paragraph is heavier than necessary and could be split for easier scanning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation-style tool with an output schema already defined, it covers everything an agent needs: prerequisites (own project, settled decisions, attestation), side effects (draft only, no publication), follow-on steps, and refusal conditions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds real meaning: it ties `attestation: "own-work"` to a confirmation of publish rights, locates `project_id` on the project card, and imposes an extra constraint on the listing fields (they must not name anything the anonymiser would remove), which the schema does not state.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource+scope: turning one of the caller's OWN projects into a private recipe DRAFT. It also distinguishes itself from the publication tools by clarifying this only produces a draft, not a published listing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives strong context: it requires your own project, it only uses stated/approved decisions, and it names the follow-on tool (findagent_submit_for_review) plus the scan/human review that consume the draft. It does not, however, distinguish itself from sibling draft creators like findagent_create_draft or findagent_create_code_draft, so the agent must infer when to prefer this over them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
findagent_get_agentARead-onlyInspect
Get the full store view of ONE published FindAgent marketplace agent by slug — mirrors the website's agent detail page. Returns title, tagline, description, price_type/price_cents/currency, category list (omitted for an MCP server listing, which is not categorised), rating, install count, kind, a summary of its tools/skills, example prompts, and a connect hint. is_mcp_server_listing says whether this row is an MCP server FindAgent merely LISTS (connect your client straight to the provider — see connection, hosted or local) rather than an agent FindAgent runs; kind is mcp-tool for both, so it cannot tell them apart. That field is OMITTED when it could not be determined — read its absence as unknown, never as false. A paid agent's tools/skills stay hidden until purchase. For YOUR OWN agent, each tool also carries its action (the prompt template, or an http action's method + url + body template), so a publish can be verified by read-back — a template-only republish is otherwise invisible here. A caller who does not own the agent never sees action, and an http action's headers and auth_ref are withheld from everyone. An unknown or unpublished slug returns a needs_input result pointing back to findagent_browse_agents.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | The published agent slug (from findagent_browse_agents). |
Output Schema
| Name | Required | Description |
|---|---|---|
| kind | No | |
| slug | No | |
| title | No | |
| tools | No | |
| rating | No | |
| skills | No | |
| tagline | No | |
| category | No | |
| currency | No | |
| categories | No | |
| connection | No | |
| price_type | No | |
| description | No | |
| price_cents | No | |
| price_label | No | |
| connect_hint | No | |
| review_count | No | |
| install_count | No | |
| example_prompts | No | |
| is_mcp_server_listing | No | |
| paid_capabilities_gated | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the readOnlyHint/openWorldHint annotations: it discloses the is_mcp_server_listing omission semantics ('read absence as unknown, never false'), that paid agents hide tools/skills until purchase, that action is visible only to owners, and that http headers/auth_ref are withheld. These are exactly the gotchas an agent needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose and return shape are front-loaded, then caveats follow in dense but information-bearing sentences. It is long, but nearly every clause carries a distinct behavioral fact rather than padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read tool with an output schema present, the description need not explain return values yet still enumerates them and covers the ownership/auth/omission edge cases that the schema and annotations cannot express. Nothing needed to call it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single slug parameter is fully documented in the schema, so the description adds no syntax or format detail. It only reiterates the source ('by slug'), matching the baseline for a schema-complete parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Get the full store view of ONE published FindAgent marketplace agent by slug') and grounds it with an analogy to the website's agent detail page, cleanly separating it from the list-oriented sibling findagent_browse_agents.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly handles the failure path (unknown/unpublished slug returns a needs_input result pointing back to findagent_browse_agents), which routes the agent correctly. It does not compare itself against siblings like list_my_agents or load_listing_tools, so it stops short of full when/not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
findagent_get_departmentARead-onlyIdempotentInspect
Read one department you can access: its members (alias, role, agent slug), topology, standing report_instructions, and its MCP connect address. For a department YOU own it also returns config health — the members the hosted serve path would drop or refuse (an unpublished or unavailable agent, a missing self-hosted address) and the parts of a member's package a hosted department leaves out on purpose — so you can fix it before connecting. Reaches personal departments you own and org departments of organizations you belong to; a department you cannot access, an archived one and an unknown slug all return the same not-found. READ-ONLY.
| Name | Required | Description | Default |
|---|---|---|---|
| department | Yes | The department slug (from findagent_list_departments). | |
| include_config_health | No | Default true for a department you own. Pass false to skip the health check, which reads each member agent and so is the slower part of this call. |
Output Schema
| Name | Required | Description |
|---|---|---|
| name | No | |
| slug | No | |
| access | No | |
| status | No | |
| members | No | |
| is_owner | No | |
| topology | No | |
| visibility | No | |
| connect_url | No | |
| description | No | |
| instructions | No | |
| config_health | No | |
| orchestration_mode | No | |
| report_instructions | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnly/idempotent/non-destructive and the description's 'READ-ONLY' is consistent, not redundant filler. It goes well beyond the annotations by disclosing ownership-conditional behavior (config health only for departments you own), the not-found collapse, and precisely what the health check reports (dropped/refused members, deliberately omitted package parts).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense paragraph, front-loaded with what is read and followed by access and failure semantics. Every clause carries information, though the long em-dash-heavy middle sentence is harder to parse than it needs to be.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-shape explanation is optional, yet the description still covers scope, ownership gating, failure modes, and the optional expensive sub-operation. Nothing needed to call it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3, but the description adds real meaning: it explains what config health is for ('fix it before connecting') and that it is the slower part of the call because it reads each member agent, which justifies the default-true-for-owners behavior.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Read one department you can access') and enumerates exactly what is returned: members with alias/role/agent slug, topology, report_instructions, MCP connect address, plus ownership-gated config health. An agent can distinguish this from findagent_list_departments or findagent_get_org without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Clearly scopes the reachable set (personal departments you own, org departments of orgs you belong to) and pins failure semantics (inaccessible, archived, and unknown slug all collapse to the same not-found). It never explicitly names findagent_list_departments as the discovery alternative in prose, but the access boundaries give strong usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
findagent_get_orgARead-onlyInspect
Get one organization you belong to by slug — its id, name, slug, your own role (owner/admin/member), and seat count. The single-org companion to findagent_list_orgs. Only an organization you are an active member of is returned. READ-ONLY.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | The organization slug (from findagent_list_orgs). |
Output Schema
| Name | Required | Description |
|---|---|---|
| organization | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the read-only nature is covered. The description adds value by noting the active-membership filtering behavior, which is not visible in annotations or schema, and by outlining the returned fields. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences with no filler. The primary action, resource, and return set are front-loaded, and the sibling relationship and membership constraint follow economically.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read-only tool with an output schema, the description is complete: it explains what is fetched, how it is identified, what is returned, the visibility constraint, and the relationship to the sibling listing tool. No missing information an agent needs to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage for the single slug parameter is 100%, including the note that it comes from findagent_list_orgs. The description reinforces the slug-based lookup but does not add substantial parameter meaning beyond what the schema already provides, so the baseline holds.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Get one organization you belong to by slug.' It lists the returned fields (id, name, slug, role, seat count) and differentiates itself as 'The single-org companion to findagent_list_orgs,' so an agent can distinguish it from siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear context: used to fetch a single organization by slug, only returns organizations where the caller is an active member, and is explicitly the single-org counterpart to findagent_list_orgs. It does not explicitly state when-not to use it (e.g., 'use list_orgs for all organizations'), but the relationship is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
findagent_import_repoARead-onlyInspect
Pull the CALLER'S OWN GitHub repo (via their connected token) and return deterministic grounding (basics, languages, tech domains, detected tools + the hosts they reach, and what the repo IS — skills, actions, runnable code or instructions only — with the parts found) plus a field contract. Use the grounding as the basis, then run findagent_submission_wizard to walk the user through the listing step-by-step and finalize with findagent_create_draft — your own model does the synthesis (no FindAgent LLM cost). Read-only: nothing is persisted or executed. Works for PRIVATE repos: the pull runs server-side with your stored GitHub token, so your AI client never needs repo access.
| Name | Required | Description | Default |
|---|---|---|---|
| ref | No | Optional branch/tag/SHA. Defaults to the default branch HEAD. | |
| repo | Yes | owner/repo or a github.com URL (must be readable by your connected GitHub token). Private repos you own work — the pull is server-side. |
Output Schema
| Name | Required | Description |
|---|---|---|
| repo | No | |
| commit | No | |
| grounding | No | |
| instructions | No | |
| field_contract | No | |
| already_imported | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true; the description goes further by confirming nothing is persisted or executed and explaining that private repos are handled server-side with the stored GitHub token so the AI client never needs repo access. This adds important security and privacy context beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core action and return value, then moves to workflow and behavioral details. It is dense but every clause earns its place, covering purpose, return shape, follow-on tools, read-only behavior, and private-repo handling. It could be slightly tighter, but it is not bloated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description correctly focuses on purpose, workflow, and behavioral constraints rather than return format. Annotations cover read-only and open-world hints, the schema fully documents parameters, and the description supplies the missing contextual details: private-repo support, server-side token handling, and the intended downstream workflow. Nothing necessary for correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage for both parameters (repo and ref), so the schema already documents their semantics. The description repeats that the repo must be readable by the connected token and that private repos work server-side, which mirrors schema text rather than adding new parameter detail. Baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Pull the CALLER'S OWN GitHub repo (via their connected token)'. It clarifies scope, including that it works for private repos, and distinguishes itself from generic listing by framing the pull as the caller's own token-connected repo. The agent knows exactly what this tool returns: deterministic grounding plus a field contract.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit next steps: use the grounding as the basis, then run findagent_submission_wizard, and finalize with findagent_create_draft. It also clarifies that the caller's own model does the synthesis (no FindAgent LLM cost) and that the tool is read-only, which sets expectations for when this is the right first step. No alternative tools are explicitly excluded, but the workflow routing is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
findagent_invite_memberAInspect
Invite a teammate to an organization by email (owner/admin only). Role is admin or member (default member) — ownership is transferred separately, never invited. Returns a single-use, expiring accept_url; the invitee must sign in to FindAgent with that email to accept.
| Name | Required | Description | Default |
|---|---|---|---|
| role | No | The role to grant on acceptance: admin (can manage members/roles) or member (default). Ownership is transferred separately, never invited. | |
| slug | No | The organization slug (alternative to org_id). | |
| Yes | The teammate's email address. They must sign in to FindAgent with THIS email to accept — the invite binds to the authenticated account. | ||
| org_id | No | The organization id (from findagent_list_orgs). |
Output Schema
| Name | Required | Description |
|---|---|---|
| invite | No | |
| instructions | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=false (mutation) and openWorldHint=false, but the description adds meaningful behavior beyond that: the return of a single-use, expiring accept_url, the requirement that the invitee sign in with the same email, and the permission level required. No contradiction with annotations, and the additional context is valuable for the agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two crisp sentences that front-load the main action, include the permission constraint and return behavior, and clarify edge cases. No wasted words; every clause adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity, the description covers all critical aspects: what it does, who can use it, what it returns (accept_url), the email-binding requirement, and the role options. The output schema exists, so return details are handled there. Nothing an agent needs to call it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents every parameter (email, role, slug, org_id) with clear explanations. The description repeats some of this (e.g., role default, ownership separate) but adds no new parameter-level information beyond what the schema provides. Baseline 3 is appropriate given the high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states exactly what the tool does: invite a teammate by email with a role, and explicitly distinguishes it from ownership transfer. The scope (owner/admin only) is also clear, so an agent can easily tell it apart from related sibling tools like findagent_transfer_org_ownership or findagent_change_member_role.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes a permission prerequisite (owner/admin only) and states that ownership is transferred separately and never invited, which implies using a different tool for ownership changes. However, it doesn't explicitly name the alternative tool, though the sibling list contains findagent_transfer_org_ownership. It's clear enough for an agent to infer when to use this tool vs alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
findagent_leave_orgAInspect
Leave an organization you belong to (removes your OWN membership). The last owner cannot leave — transfer ownership first with findagent_transfer_org_ownership.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | No | The organization slug (alternative to org_id). | |
| org_id | No | The organization id (from findagent_list_orgs). |
Output Schema
| Name | Required | Description |
|---|---|---|
| left | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations mark readOnlyHint=false, which already flags mutation. The description adds meaningful behavioral context: it removes only the caller's membership and enforces a last-owner constraint. It does not fully discuss reversibility, but for a simple leave operation with output schema present, this is solid.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no filler. The main behavior is front-loaded, and the important exception/alternative is stated immediately after. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-optional-parameter tool with an output schema, the description covers the key facts: scope of effect, owner exception, and routing to the transfer tool. Nothing needed to call or interpret the tool is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and both slug and org_id parameters are already described in the input schema. The tool description adds no parameter-specific guidance beyond what the schema provides, so the baseline 3 score applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Leave an organization you belong to' and clarifies it 'removes your OWN membership.' This clearly distinguishes it from member-management tools like findagent_remove_member, which affect other users' memberships.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description indicates the tool is for your own membership and explicitly names the alternative for owners: 'The last owner cannot leave — transfer ownership first with findagent_transfer_org_ownership.' It does not explicitly say 'use remove_member for others,' but 'removes your OWN membership' implies the exclusion, so usage context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
findagent_list_categoriesARead-onlyInspect
List the active FindAgent marketplace categories as a TREE: each top-level category with its category_type ('industry'|'discipline') and subcategories. Call this before drafting a listing. The create_draft primary category_slug must be a TOP-LEVEL slug, the selected set MUST include at least one discipline, AND for EVERY top-level you select you MUST also include one of its OWN subcategories (a subdiscipline under the discipline; a subindustry under any industry) — put the extra slugs in additional_category_slugs[]. Prefer findagent_submission_wizard to walk the user through category selection step-by-step.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| usage | No | |
| categories | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint annotation, the description discloses the tree-shaped output, the category_type facet, and critical validation rules about top-level slugs, discipline requirements, and mandatory subcategory inclusion. These constraints materially affect how the agent should use the returned data and are not inferable from annotations alone.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but not bloated; every clause contributes necessary information. It front-loads the core purpose before diving into constraints, though the long run-on sentence with uppercase emphasis could be structured more cleanly. Still, efficiency is good for the complexity it conveys.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter read-only list tool with an output schema, the description is complete: it explains what will be returned, when to call it, and how to interpret the result for the downstream create_draft flow. There are no apparent missing details an agent would need to invoke this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
This tool has zero parameters and the schema coverage is 100%, so there is no parameter gap to fill. The description adds value by referencing downstream parameters (category_slug and additional_category_slugs) that the caller will need when drafting a listing, which is useful semantic context even though those parameters belong to another tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action ('List the active FindAgent marketplace categories as a TREE') and specifies what the output includes: top-level categories, category_type values, and subcategories. It also distinguishes its role in the workflow by saying 'Call this before drafting a listing,' which separates it from listing-related siblings and drafting tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly states when to use the tool ('Call this before drafting a listing') and names a preferred alternative for a different flow ('Prefer findagent_submission_wizard to walk the user through category selection step-by-step'). This gives the agent clear context for choosing between this tool and a sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
findagent_list_departmentsARead-onlyIdempotentInspect
List the departments YOU own — a department is a team of published agents that works one goal together. Returns each one's slug, name, description, member count, status and last update. An admin also sees the departments other admins own that are shared for testing, listed apart. Archived (deleted) departments are not listed; restore one with findagent_edit_department. Call this to find the slug the other department tools take. READ-ONLY.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| departments | No | |
| instructions | No | |
| shared_by_other_admins | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint=false. The description adds useful scoping behavior: only owned departments, extra admin-shared testing departments listed apart, and archived departments omitted. Some details, such as returned fields and 'READ-ONLY,' are redundant with the output schema and annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the key scope and purpose, and most sentences earn their place by clarifying ownership, admin behavior, archival exclusion, and slug discovery. However, the sentence listing return fields is partly redundant given the output schema, and 'READ-ONLY' repeats an annotation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter read-only list tool with an output schema and rich annotations, the description is complete enough. It covers scope, admin-specific visibility, archival behavior, and the reason an agent should call it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline is 4. The schema is empty and fully described by having no inputs; the description appropriately does not invent parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (List) and resource (departments YOU own), defines what a department is, and distinguishes owned departments from shared admin-owned ones. It also explains the practical purpose: finding the slug required by other department tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly says to call this tool to find the slug the other department tools take and notes archived departments are excluded with a restore path via findagent_edit_department. It does not explicitly contrast with findagent_get_department or state when not to use this list tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
findagent_list_invitesARead-onlyInspect
An organization's outstanding invites (owner/admin only — a pending invitee's email belongs to someone who has not joined, so this is not member-readable). Includes EXPIRED invites: they cannot be accepted but still block a new invite to the same address, and this is the only way to see and clear one. No accept links are returned — only a hash of each token is stored.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | No | The organization slug (alternative to org_id). | |
| org_id | No | The organization id (from findagent_list_orgs). |
Output Schema
| Name | Required | Description |
|---|---|---|
| invites | No | |
| instructions | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnlyHint=true, but the description adds substantial non-obvious behavior: the auth requirement, that expired invites are included and still block new invites, and that no accept links are returned because only token hashes are stored. This is exactly the kind of security/side-effect context annotations don't carry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense paragraph with zero filler, and the most decision-relevant facts (permission scope, expired-invite inclusion) are front-loaded. It is packed but no sentence is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return format needn't be re-explained, and the description fully covers permissions, the expired-invite edge case, and the token-security caveat. Nothing needed to call it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%; both slug and org_id are fully documented there, including that they are alternatives and that org_id comes from findagent_list_orgs. The description adds no parameter detail, so the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (lists an organization's outstanding invites) and immediately scopes it to owner/admin, which distinguishes it from the member-readable list siblings like findagent_list_members. An agent can tell what it returns and who may call it without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear permission context (owner/admin only) and the key usage fact that this is the only way to see and clear an expired invite. It stops short of explicitly naming the alternative actions (findagent_resend_invite, findagent_revoke_invite) an agent might reach for, so it's clear context without explicit routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
findagent_list_kb_attachmentsARead-onlyInspect
List where a knowledge base you own is attached (agent / department / personal), each with its attachment id and mode (tool | auto_inject | both). Use an attachment id with findagent_detach_kb to remove that one binding. READ-ONLY.
| Name | Required | Description | Default |
|---|---|---|---|
| kb_id | Yes | The knowledge base id (from findagent_list_kbs). |
Output Schema
| Name | Required | Description |
|---|---|---|
| usage | No | |
| attachments | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description confirms the read-only behavior already present in annotations and adds meaningful context: the KB must be owned, the result includes attachment ids and modes, and the identifier is intended for detaching a binding. This goes beyond the annotation flags without contradicting them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences carry the entire message: the first states the operation and output shape, the second links the output to the relevant sibling. There is no filler or repetition of schema fields.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a single parameter, a clear output schema, and read-only annotations, this description covers everything an agent needs to select and call the tool correctly. It also provides the cross-reference to detach, which completes the workflow context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter, kb_id, is fully documented in the schema with 100% coverage and its source (findagent_list_kbs). The description adds the ownership requirement ('a knowledge base you own') and clarifies what the returned attachment ids are for, giving the parameter practical context beyond the raw type.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb ('List') and a precise resource ('where a knowledge base you own is attached'), then names the three attachment targets (agent / department / personal) and what each row contains (attachment id, mode). This differentiates it from sibling tools like findagent_attach_kb and findagent_detach_kb without needing their schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states the tool's scope ('knowledge base you own') and explicitly ties the returned attachment id to findagent_detach_kb, giving a concrete follow-up use. It does not spell out exclusion criteria versus all siblings, but the purpose is clear enough that an agent can infer when it applies.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
findagent_list_kb_documentsARead-onlyInspect
List the documents in a knowledge base you own, each with its ingest status — 'parsing'/'embedding' (in flight), 'ready' (searchable), or 'failed' (with an error) — plus title, source kind, size, and id. Use the id with findagent_delete_kb_document to remove one. This is the per-document detail behind findagent_list_kbs's aggregate document_count. READ-ONLY.
| Name | Required | Description | Default |
|---|---|---|---|
| kb_id | Yes | The knowledge base id (from findagent_list_kbs). |
Output Schema
| Name | Required | Description |
|---|---|---|
| usage | No | |
| documents | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark readOnlyHint true; the description reinforces that with READ-ONLY and adds meaningful context about ingest lifecycle ('parsing'/'embedding' in flight, 'ready' searchable, 'failed' with error) and the ownership constraint. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences: purpose and statuses are front-loaded, downstream usage is one actionable clause, and the read-only flag is a deliberate final signal. Every sentence earns its place without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a single well-documented parameter, an output schema present, and safe read annotations, the description covers the full operational contract: what is listed, what the statuses mean, how it relates to aggregate listing, and how returned ids are used downstream. Nothing essential for correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter, kb_id, is already fully documented in the schema as coming from findagent_list_kbs, so the description adds no new format or syntax detail. The 'you own' qualifier is a mild additional constraint but does not materially expand parameter semantics beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource ('List the documents in a knowledge base you own'), enumerates return fields and exact ingest statuses, and distinguishes itself from findagent_list_kbs and findagent_delete_kb_document. An agent can immediately tell this is the per-document listing tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clearly frames this tool as the per-document detail behind findagent_list_kbs's aggregate document_count and instructs using the returned id with findagent_delete_kb_document. It does not explicitly enumerate when not to use it, but the sibling relationships and read-only scoping provide enough guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
findagent_list_kbsARead-onlyInspect
List the knowledge bases you own (and any organization KBs you belong to), each with its embedding model, whether an embedding key is bound, document count, and how many agents/departments it is attached to. READ-ONLY.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| knowledge_bases | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
readOnlyHint=true already communicates the safety profile, and the description reinforces it with 'READ-ONLY.' It adds useful context about visibility (own KBs plus organization KBs) and the data returned, but it does not disclose behaviors such as pagination, auth requirements, or response size limits. This matches the level of a simple list tool whose annotations already cover side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence states the action, scope, and returned fields with no filler. The 'READ-ONLY' flag is appended as a clear safety signal, and every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless read-only list operation with an output schema available, the description covers everything needed: what is listed, whose KBs are included, and what attributes are returned. There are no parameters to document and no hidden invocation requirements to infer.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline is 4; there is nothing for the description to add about argument semantics. The schema already records an empty parameter set with 100% coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('List'), names the resource ('knowledge bases'), and sharply defines scope: KBs you own plus organization KBs you belong to. It also enumerates the returned fields, which distinguishes it from sibling tools like findagent_list_kb_documents and findagent_list_kb_attachments.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description makes the applicability clear by stating the ownership/membership scope, so an agent knows exactly what set of knowledge bases this tool covers. It does not explicitly name alternatives or state when-not-to-use it, but for a read-only listing tool with distinctive scope this is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
findagent_list_membersARead-onlyInspect
List an organization's members (user id, role, status, joined date). Any active member may read the roster. Identify the org by org_id or slug. READ-ONLY.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | No | The organization slug (alternative to org_id). | |
| org_id | No | The organization id (from findagent_list_orgs). |
Output Schema
| Name | Required | Description |
|---|---|---|
| members | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already supply readOnlyHint=true; the description adds useful context beyond that by noting that active membership is the access requirement, and that org identification can be via org_id or slug. This goes beyond the structured annotation without contradicting it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences carry all essential information with no filler. The primary action and returned fields are front-loaded, with access and identification details placed afterward.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and read-only annotations set, the description covers the main behavioral requirements. A small gap: the schema marks both params as optional, but logically at least one of org_id or slug must be supplied; the description does not explicitly state this precondition.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with both parameters already described in the input schema. The description's note to identify the org by org_id or slug merely restates that guidance, adding no new semantic value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('List'), resource ('an organization's members'), and the returned fields (user id, role, status, joined date). This cleanly distinguishes it from member-mutating siblings like findagent_change_member_role and findagent_remove_member.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Clearly scopes when to use the tool: reading an org roster, with the permission note that any active member may read it. It does not explicitly name alternatives or when not to use it, but the resource and verb make the context unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
findagent_list_my_agentsARead-onlyInspect
List the agents that are YOURS, in either sense. scope:"created" (the default) returns agents you CREATED — id + slug + name + kind + status + any in-flight re-version status — plus your personal departments; call it FIRST when you need a slug for a lifecycle tool (findagent_edit_price / findagent_bump_version / findagent_withdraw_version / findagent_edit_metadata / findagent_rollback_version), to submit a draft (findagent_submit_for_review — a draft/needs_changes agent is submittable), or to attach a knowledge base (findagent_attach_kb). scope:"acquired" returns agents you BOUGHT or INSTALLED — your library — which is what to call when a buyer asks what they have access to; those are not yours to edit. An acquired row carries update_awaiting_your_approval:true when a newer version asks for more permissions than were accepted and the buyer has not approved it yet, so they are still being served the earlier version (approval is given on the agent page). scope:"all" returns both. Essential after reconnecting in a new session, when you no longer have the slug of something you created or acquired earlier. READ-ONLY.
| Name | Required | Description | Default |
|---|---|---|---|
| scope | No | Which sense of "mine": created (default — agents you authored, editable via the lifecycle tools), acquired (agents you bought or installed, read-only to you), or all. |
Output Schema
| Name | Required | Description |
|---|---|---|
| agents | No | |
| acquired | No | |
| departments | No | |
| instructions | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover read-only safety, but the description goes beyond: it discloses editability semantics (created=editable, acquired=read-only to you), the update_awaiting_your_approval state and its consequence (still served the earlier version), and where approval is given (the agent page). This is rich behavioral context not derivable from the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The content is front-loaded with the scope semantics, but the prose is dense and sprawling with many parenthetical tool references and asides. It is longer than needed for a single-parameter list tool; some clauses (e.g. listing five lifecycle tool names) could be trimmed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given an output schema exists and annotations carry read-only safety, the description still supplies the session-reconnection use case, scope semantics, and the acquired approval-state behavior. Nothing needed to invoke or route correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the enum is fully documented in the schema, so the schema does the heavy lifting. The description adds some meaning by mapping each scope to ownership sense and editability, which is contextual value but largely restates the enum semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('List the agents that are YOURS'), distinguishes two ownership senses via the scope parameter, and names the downstream lifecycle tools by slug. An agent can tell it apart from siblings like browse_agents or get_agent without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit when-to-use for each scope: 'call it FIRST when you need a slug for a lifecycle tool...', acquired is 'what to call when a buyer asks what they have access to', and 'Essential after reconnecting in a new session'. It names the exact alternative selection condition and the exclusion ('those are not yours to edit').
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
findagent_list_orgsARead-onlyInspect
List the organizations you are an active member of, with your own role (owner/admin/member) and seat count in each. READ-ONLY.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| organizations | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint and openWorldHint, so the READ-ONLY note adds little new information. The description contributes the 'active member' filter and role/seat-count fields, which is useful context, but it does not disclose pagination, ordering, or failure behavior. This is acceptable for a zero-parameter read-only list but not rich behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence that states the action, scope, and returned fields with no filler. The redundant READ-ONLY note does not meaningfully hurt conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With zero parameters and an output schema handling return values, the description covers everything an agent needs in order to invoke the tool correctly. It specifies what entities are listed, the membership criterion, and the key fields returned.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so the baseline is 4; the description has no parameter semantics to add. There is nothing unclear about invocation inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Uses a specific verb ('List') and resource ('organizations you are an active member of'), and adds concrete output details: role and seat count. The 'active member' scope also clearly differentiates it from related tools like findagent_get_org or findagent_list_members.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description makes the context clear: use this when you need a read-only view of your active org memberships with your role and seat usage. It does not explicitly name alternatives or exclusion conditions, but the scope is evident enough for an agent to distinguish it from sibling org-related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
findagent_list_reposARead-onlyInspect
List the CALLER'S OWN GitHub repos so you can pick one to import. Returns each repo's full_name (owner/repo), default_branch, and private flag. Pass a chosen full_name to findagent_import_repo. If GitHub is not connected it returns connected:false pointing at findagent_connect_github; in GitHub-App mode with no repos granted it returns needs_install with an install URL. Never returns your GitHub token.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| repos | No | |
| connected | No | |
| next_tool | No | |
| install_url | No | |
| instructions | No | |
| needs_install | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint, but the description adds substantial context: it guarantees the tool never returns the GitHub token, and it discloses the two failure/edge-case responses (connected:false and needs_install). This provides valuable behavioral transparency beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact yet information-dense: purpose is front-loaded, followed by return fields, the next step, edge cases, and a security note. Every sentence adds value with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only tool, the description covers all necessary aspects: what it returns, how to proceed, error cases, and a security guarantee. It is complete enough for an agent to call it correctly and interpret the response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so there is nothing to document. The description does not repeat schema info but instead focuses on output fields (full_name, default_branch, private flag) and behaviors. Given the baseline for zero parameters is 4, this is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb (list), resource (the caller's own GitHub repos), and the intended purpose (to pick one to import). It also differentiates from siblings like findagent_connect_github and findagent_import_repo by explicitly mentioning the import flow.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly says to pass the chosen full_name to findagent_import_repo, establishing the workflow. It also provides guidance for edge cases: if GitHub is not connected, it points to findagent_connect_github; if no repos are granted, it mentions needs_install with an install URL. This helps the agent decide when to use this tool and what to do next.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
findagent_list_requestsARead-onlyInspect
Read the PUBLIC FindAgent Agent Request Board — the community demand board of "I want an agent that does X" requests buyers have posted (the same board the website /requests page shows). Returns each request's title, body, status (open|planned|fulfilled|declined|duplicate), upvote count, requester handle, and the slug of a fulfilling agent when one is linked. A creator can build an agent that fulfils an OPEN request. Pass mine:true to list ONLY YOUR OWN requests instead (includes ones you withdrew / an admin removed, each flagged — edit a still-live one with findagent_update_request or withdraw it with findagent_withdraw_request). Filters: status, q (text search over title and details), sort (top by upvotes | new). PAGINATED via offset. READ-ONLY.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Optional text search over request titles and details (case-insensitive, up to 80 characters). Applies to the public board; ignored when mine:true. | |
| mine | No | When true, return ONLY the connected account's own requests (author-scoped, incl. withdrawn/removed rows) instead of the public board. Ignores status. | |
| sort | No | Sort by upvote count (top) or recency (new). Default top. | |
| limit | No | Optional page size (default 30, max 100). | |
| offset | No | Optional pagination offset (default 0). | |
| status | No | Optional status filter for the public board (default: all live requests). Ignored when mine:true. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| usage | No | |
| has_more | No | |
| requests | No | |
| next_offset | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, so the safety profile is already carried; the description adds genuinely new context such as mine:true surfacing withdrawn/removed rows 'each flagged' and offset-based pagination. Only minor redundancy from restating 'READ-ONLY' already in the annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads what the board is, then return fields, then the mine branch and filters. Dense but every clause carries information; the trailing 'READ-ONLY' is the only mildly redundant element.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers scope, return shape, the mine override, filter dimensions, and pagination for a 6-parameter read tool, and an output schema exists so return values need not be over-explained. Nothing an agent needs to call it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema description coverage the schema already documents q, mine, sort, limit, offset, and status. The description largely restates these (mine ignores status, q ignored for mine, top|new sort), adding little semantic detail beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (read the PUBLIC FindAgent Agent Request Board) and enumerates exactly what a row returns (title, body, status, upvotes, requester handle, fulfilling-agent slug). It distinguishes itself from siblings by naming findagent_update_request and findagent_withdraw_request in the workflow.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states the actionable condition (a creator can build an agent that fulfils an OPEN request), the mine:true switch for author-scoped listing, and routes edit/withdraw actions to the correct sibling tools. When-to-use and alternatives are both covered.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
findagent_list_tech_facetsARead-onlyInspect
List the controlled Tech Domain and Language/Framework vocabularies (the software-development discipline facets). Pass chosen slugs as create_draft tech_domains[] / languages[]. Read-only; these are enrichment facets (unknown slugs are dropped). Prefer findagent_submission_wizard to walk the user through the tech step-by-step.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| usage | No | |
| languages | No | |
| tech_domains | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false. The description adds meaningful behavioral context beyond those: the vocabularies are controlled and enrichment-oriented, and unknown slugs are silently dropped. This helps the agent understand consequences without contradicting the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: it states the core purpose in the first sentence, then gives usage instructions and alternatives in two short follow-up sentences. Every sentence earns its place with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the zero-parameter signature, the read-only annotations, the existence of an output schema, and the presence of a named wizard alternative, the description covers everything an agent needs to decide to call it and to use its results correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and schema description coverage is 100%, so there is no parameter detail to document. The description still adds semantic value by explaining how returned slugs should be used in create_draft, which aids the agent even without parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description starts with a specific verb and resource: 'List the controlled Tech Domain and Language/Framework vocabularies'. It identifies the exact content of the tool—software-development discipline facets—making its purpose unmistakable and distinguishing it from generic listing tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit usage direction: 'Pass chosen slugs as create_draft tech_domains[] / languages[]'. It also names a preferred alternative, findagent_submission_wizard, and clarifies that unknown slugs are dropped, which tells the agent when to use this tool versus a guided walkthrough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
findagent_load_listing_toolsAInspect
Load the tool list of an MCP server listing whose server needs a sign-in before it will list its tools. Only the listing's owner or an admin may do this. This returns a sign-in link for the server's own vendor: open it in a browser where you are signed in to FindAgent with this same account, sign in to the vendor, and FindAgent then lists the tools once. The vendor's access token is used for that one call and is never stored or returned. The loaded tools are checked and, on a published listing, submitted as an update for review. The link expires after a few minutes.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | No | The MCP server listing slug (the last part of its /mcp/<slug> page URL). Give this OR agent_id. | |
| agent_id | No | The listing id (a UUID). Give this OR slug; if you give both, they must name the same listing. |
Output Schema
| Name | Required | Description |
|---|---|---|
| agent_id | No | |
| instructions | No | |
| authorize_url | No | |
| expires_in_seconds | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover safety (readOnlyHint=false, openWorldHint=true, idempotentHint=false, destructiveHint=false), and the description adds substantial context beyond them: a sign-in link is returned, the vendor token is used for exactly one call and never stored or returned, the link expires after a few minutes, and loaded tools are checked and submitted as a review update on published listings. This is exactly the extra behavioral detail the annotations cannot convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four sentences, front-loaded with purpose and permission before mechanics, with no filler. It is dense with distinct facts (auth link, token handling, review submission, expiry) but each sentence carries needed information; only borderline against a strict conciseness bar.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no prose explanation. The description supplies the auth requirements, permission model, token lifecycle, expiry, and the downstream review submission — everything an agent needs to invoke this correctly and set expectations for the caller.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both slug and agent_id, including their mutual-exclusivity rule and the 'must name the same listing' constraint, are already documented in the schema. The description adds no parameter-level detail, which is the correct baseline when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Load the tool list of an MCP server listing') and narrows the scope with a clear condition ('whose server needs a sign-in before it will list its tools'). This distinguishes it from adjacent siblings such as reintrospect_mcp, repull, and preflight without requiring the schema to be opened.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit precondition (the server requires sign-in before listing tools) and an authorization rule ('Only the listing's owner or an admin may do this'), plus the follow-up steps to complete the flow. It does not explicitly name sibling alternatives for the non-sign-in case, so it stops short of a full when/when-not routing statement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
findagent_new_versionAInspect
Publish a NEW VERSION of YOUR OWN agent — whichever kind it is. Call this when a creator asks to update, re-publish, re-pull, re-scan or bump their agent; you do NOT need to know which mechanism its kind uses, because this routes on the agent's own published manifest using the same classifier the web dashboard branches on. An agent built here is re-versioned from the fields you pass (system_prompt / tools / guardrails / example_prompts / llms / credential_slots, exactly as findagent_bump_version takes them) — or, for an ACTION agent, from repo: pass the GitHub repo (owner/name, one you can write to) and its findagent.json is read server side, so a large tool array never has to be re-typed; an agent built from a code or skills repo is re-pulled from its connected GitHub repo (optional ref) — a skills agent that was UPLOADED rather than imported from GitHub has no repo and publishes its next version by uploading on the web dashboard, which this tool answers with that instruction; an mcp-server listing the buyer reaches over the network is re-scanned at that endpoint, while one the buyer runs on their own machine has no endpoint to scan and is re-versioned from the fields you pass, like an agent built here. Pass bump (patch|minor|major, default patch) and a changelog where the kind takes one; the bump is applied to the LISTING's current version, never to a version declared in a repo — the listing owns its own version line, so a hand-edited repo version does not change what publishes here. Owner-only; the new version enters the normal review gate. PREFER THIS over findagent_bump_version / findagent_repull / findagent_reintrospect_mcp — those still work and each refuses a kind it does not handle, which is the mistake this tool removes.
| Name | Required | Description | Default |
|---|---|---|---|
| ref | No | Agents built from a repo only: a branch, tag or commit sha to re-pull. Ignored otherwise. | |
| bump | No | Semver step. Default patch. | |
| repo | No | Action agents (kind mcp-tool) only: re-version FROM this GitHub repo (owner/name, one you can write to) — its findagent.json (or a manifest.json declaring schema_version 1.1) supplies the whole tool surface server side, so no tool array passes through a model. Omit it to pass the fields instead. | |
| slug | Yes | Your agent slug (you must own it). | |
| changelog | No | What changed (10-500 chars), for the kinds that take one. |
Output Schema
| Name | Required | Description |
|---|---|---|
| instructions | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the readOnlyHint=false / openWorldHint=false annotations by disclosing owner-only access, the review gate on the new version, per-kind routing behavior, and the non-obvious rule that the bump applies to the listing's version line and never to a repo-declared version. For a mutation tool this is unusually complete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the core action well, but it is a single dense paragraph of long em-dash-clause sentences that is harder to parse than necessary. Most clauses carry real information given the multi-kind routing, but the wall-of-text structure costs it readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need not be explained, and the description covers everything else an agent needs: routing across built/action/code/skills/mcp-server kinds, the uploaded-skills edge case that must go to the web dashboard, and the ownership/review constraints.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds meaning the schema does not: `repo` supplies the whole tool surface without passing a tool array through a model, `ref` only applies to repo-built agents, and `bump` targets the listing version rather than a repo version.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Publish a NEW VERSION of YOUR OWN agent.' It immediately distinguishes itself from siblings by naming findagent_bump_version, findagent_repull, and findagent_reintrospect_mcp and explaining that this tool supersedes their per-kind branching.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit invocation trigger ('Call this when a creator asks to update, re-publish, re-pull, re-scan or bump their agent') plus an explicit preference rule: 'PREFER THIS over findagent_bump_version / findagent_repull / findagent_reintrospect_mcp.' It also states the owner-only precondition and the review-gate consequence.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
findagent_preflightAIdempotentInspect
Validate YOUR OWN draft BEFORE submitting it — the same checks the submit gate enforces, surfaced up front so you can fix issues first. Returns blocking issues (must fix before you can submit) and advisory warnings (recommended). For an agent with CODE it also runs a build dry-run in the sandbox to catch a too-large bundle / missing dependency / build error before submit — that build is asynchronous (minutes), so the result shows build_status: 'building' while it runs; re-call this tool to see the final pass/fail. Optionally pass smoke: true to ALSO run your agent's code once in the sandbox (after the build passes) to confirm it actually responds with the credentials you saved — the verdict comes back in smoke and is advisory (it never blocks submit). Pass agent (the slug or id of your draft from findagent_create_draft / findagent_create_code_draft). Submit (findagent_submit_for_review) is blocked server-side until this passes and, for an agent with code, the build passes.
| Name | Required | Description | Default |
|---|---|---|---|
| agent | Yes | The slug or id of YOUR draft (from findagent_create_draft / findagent_create_code_draft). | |
| smoke | No | Optional. Set true to also run ONE tool once in the sandbox on your OWN agent’s code (after the build passes) to confirm it responds. Advisory only — the result is in `smoke` and never blocks submit. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | |
| smoke | No | |
| advisory | No | |
| blocking | No | |
| next_tool | No | |
| size_bytes | No | |
| build_status | No | |
| instructions | No | |
| heaviest_deps | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations: discloses the async build dry-run (minutes), the transient `build_status: 'building'` state and the need to re-call, the advisory-only nature of the smoke result, and that submit is gated server-side. This is exactly the behavioral context an agent needs before invoking.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with purpose, then behavior, then parameters — a logical order. It runs long and restates the smoke behavior already in the schema, but nearly every clause carries operational information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, yet the description still names the return categories (blocking issues vs advisory warnings, build_status, smoke), closing the loop for a tool with async and conditional-result behavior. Nothing an agent needs to call it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds sequencing the schema omits: `smoke` runs only after the build passes and its verdict is advisory. It also clarifies `agent` is the slug/id of the caller's own draft.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (validate a draft) and immediately differentiates it from the submit gate it mirrors. An agent can tell it apart from findagent_submit_for_review because the description says it surfaces the same checks up front rather than performing the submission.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit 'before submitting' timing, explicit note that submit is blocked server-side until this passes, and explicit routing to findagent_create_draft / findagent_create_code_draft for the required `agent` argument. When-to-use and the dependency on the sibling submit tool are both stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
findagent_reintrospect_mcpAInspect
Publish a NEW version of YOUR OWN published MCP server by RE-INTROSPECTING its remote endpoint. FindAgent re-lists the remote server's current tools (over a sandbox-gated, SSRF-hardened scan), compares them to your live listing, and — if the tool surface CHANGED — submits a new version for admin review with an auto-drafted changelog. Your LIVE listing keeps serving until the new version is approved (never auto-unpublished). If the tools are unchanged it is a no-op. If your server has started REQUIRING AUTHENTICATION, the tools can't be re-listed but the listing's 'needs your own credentials' disclosure is corrected in a new version, with your tool list left unchanged. If the remote can't be reached or the scan is unavailable, nothing changes (reported back). Pass the listing slug (you must own it); optional bump (patch|minor|major, default patch) + changelog override. The server URL is read from your stored listing — nothing executes on FindAgent. Owner-only; for MCP servers only (an agent with code uses the code wizard, an agent built here uses findagent_bump_version).
| Name | Required | Description | Default |
|---|---|---|---|
| bump | No | Optional semver bump for the new version. Defaults to patch. | |
| slug | Yes | Your published mcp-server listing slug (you must own it). | |
| changelog | No | Optional changelog override (≤500 chars). Defaults to an auto-drafted line from the tool diff. |
Output Schema
| Name | Required | Description |
|---|---|---|
| slug | No | |
| status | No | |
| changed | No | |
| scanned | No | |
| version | No | |
| changelog | No | |
| scan_note | No | |
| server_url | No | |
| tool_count | No | |
| instructions | No | |
| auth_disclosure_changed | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnly=false, destructive=false, openWorld=true. The description adds substantial context beyond that: owner-only, admin review required, the LIVE listing keeps serving until approval and is never auto-unpublished, and the auth-disclosure correction path. It also discloses the sandbox-gated SSRF-hardened scan and that nothing executes on FindAgent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core action is front-loaded in the first sentence, and every subsequent sentence covers a distinct behavior or edge case. It is dense and somewhat long, but little is wasted; the heavy capitalization is stylistic rather than informative bloat.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need no explanation, and the description covers ownership, approval flow, no-op, auth, and failure conditions comprehensively. Nothing an agent needs to invoke this correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema documents slug, bump, and changelog defaults. The description still adds an access constraint not in the schema ('you must own it') and confirms the bump enum and changelog override, giving it a slight edge over the baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource ('Publish a NEW version of YOUR OWN published MCP server by RE-INTROSPECTING its remote endpoint') and explicitly disambiguates from siblings, naming the code wizard and findagent_bump_version as the alternatives for other cases. An agent can identify the tool without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It details exactly when the tool acts (tool surface changed), when it is a no-op (tools unchanged), and the degraded paths (server requires auth, remote unreachable, scan unavailable), plus explicit routing away to the code wizard and findagent_bump_version. When-to-use, when-not, and alternatives are all present.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
findagent_remove_memberADestructiveInspect
Remove a member from an organization (owner/admin only; only an owner may remove an admin or owner). The last owner cannot be removed.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | No | The organization slug (alternative to org_id). | |
| org_id | No | The organization id (from findagent_list_orgs). | |
| user_id | Yes | The user id of the member to remove (from findagent_list_members). |
Output Schema
| Name | Required | Description |
|---|---|---|
| removed | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark this as destructive (destructiveHint=true, readOnlyHint=false), and the description aligns with that. Beyond annotations, it adds meaningful behavioral context: permission requirements, role-based removal restrictions, and the last-owner safeguard, which help the agent anticipate failure cases.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The entire description is a single, tight sentence with parenthetical constraints that carry high-signal information. Every phrase earns its place: the action, the permission gate, and the critical edge case.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive membership-removal tool with an output schema and complete parameter documentation, the description covers the key operational constraints: who may act, who may be removed, and the protected last-owner case. Nothing an agent needs to invoke this correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all three parameters and their sources. The description does not add parameter-level detail beyond that, which is acceptable given the schema's completeness; baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Remove a member') and the object ('from an organization'), which immediately distinguishes this from sibling tools like invite_member or change_member_role. It also adds precise access constraints that clarify the tool's specific scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context on when this tool applies by specifying owner/admin permissions and noting that only an owner may remove an admin or owner. It also gives an exclusion, 'last owner cannot be removed'. However, it does not explicitly name alternative sibling tools or state when to prefer them over this one.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
findagent_repullAInspect
Publish a NEW version of YOUR OWN published agent built from a CODE or SKILLS repo by RE-PULLING your OAuth-connected GitHub repo. FindAgent re-fetches your repo (at an optional branch/tag/commit ref, default = the latest commit on your stored branch), re-snapshots + re-scans it (a code bundle also re-builds), diffs it against your live version, and — if it CHANGED — submits a new version for admin review with an auto-drafted changelog. Your LIVE version keeps serving until the new one is approved (never auto-unpublished). If the source is unchanged it is a no-op. Pass the agent slug (you must own it) + optional ref. Owner-only; the repo is pinned to your agent's own prior import (arbitrary-repo ingest is not available here). VERSION NUMBER: the new version is computed from the LISTING's current version plus bump, NOT from any version in your repo (package.json / manifest) — the listing owns its own version line, so hand-editing a version in the repo does not change what gets published here, and the two can legitimately differ. For agents built from a repo: a code or skills agent re-pulls the repo it was imported from, and an ACTION agent (kind mcp-tool) re-pulls the repo you NAME with repo (owner/name, one you can write to) — its findagent.json is read server side, so its whole tool array never passes through a model; the actions pass the same annotation floor and credential-host binding as every other door and the new version enters review. An agent whose fields you edit directly re-versions via findagent_bump_version, an MCP server via findagent_reintrospect_mcp. A skills agent that was UPLOADED (no GitHub repo) cannot be re-pulled: it answers uploaded_source, and its next version is uploaded instead — with findagent_reupload, or on the web dashboard. Which tool for which part: Instructions, Skills and Actions are authored as an Agent Plugins package and sent as files with findagent_create_package_draft; Code (a Node or Python program) uses findagent_create_code_draft from your own GitHub repo; an MCP server you already run uses findagent_create_remote_mcp; findagent_create_draft saves a declarative listing from findagent_import_repo grounding.
| Name | Required | Description | Default |
|---|---|---|---|
| ref | No | Optional branch, tag, or commit SHA to pull. Defaults to the latest commit on your stored branch. | |
| bump | No | Version bump for this re-version — patch (default), minor (a feature release, e.g. 0.1.x → 0.2.0), or major. Omit for patch. Applied to the LISTING's current version, not to any version declared in the repo. | |
| repo | No | Action agents (kind mcp-tool) only: the GitHub repo to read, owner/name or a github.com URL, one you can write to. Its findagent.json (or a manifest.json declaring schema_version 1.1) supplies the tool surface. Ignored for code and skills agents, which re-pull the repo they were imported from. | |
| slug | Yes | Your published agent slug, built from a repo (you must own it): a code or skills agent, or an action agent when you also pass repo. |
Output Schema
| Name | Required | Description |
|---|---|---|
| kind | No | |
| slug | No | |
| status | No | |
| changed | No | |
| version | No | |
| changelog | No | |
| scan_status | No | |
| instructions | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, and openWorldHint=true. The description adds substantial workflow detail beyond that: re-fetching, re-snapshotting, re-scanning, diffing, conditional submission for admin review, live version continues serving, never auto-unpublished, and no-op on unchanged source.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded and most sentences carry distinct routing or behavioral information. However, the description is quite long and includes a closing sibling-routing list that, while useful, is slightly tangential to the immediate invocation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of the re-pull workflow, the annotations, and the presence of an output schema, the description covers the necessary behavioral and routing details. An agent can determine when to invoke it, what it does, and what alternatives exist without needing more.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds context beyond the schema: it clarifies that the repo is pinned to the agent's prior import, arbitrary-repo ingest is unavailable, and owner-only applies, reinforcing how each parameter must be used.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence states a specific verb (publish a new version), resource (your own published agent), and mechanism (re-pulling your OAuth-connected GitHub repo). It distinguishes itself from siblings like findagent_bump_version, findagent_reintrospect_mcp, and findagent_reupload by explaining exactly which cases it covers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly routes the agent: direct field edits use findagent_bump_version, MCP servers use findagent_reintrospect_mcp, uploaded skills agents use findagent_reupload, and the closing list maps authoring paths to findagent_create_* tools. It also states owner-only and repo-pinning constraints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
findagent_resend_inviteAInspect
Send an organization invite again, for one that expired or was never received (owner/admin only). This mints a NEW link and KILLS the previous one — the original cannot be re-sent because only a hash of it is stored. Counts against the same seat cap as inviting. Get invite_id from findagent_list_invites.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | No | The organization slug (alternative to org_id). | |
| org_id | No | The organization id (from findagent_list_orgs). | |
| invite_id | Yes | The invite id, from findagent_list_invites. |
Output Schema
| Name | Required | Description |
|---|---|---|
| invite | No | |
| instructions | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations mark readOnlyHint=false, and the description substantially enriches that with mutation behavior: it mints a NEW link and KILLS the previous one, explains why (only a hash is stored), and discloses the side effect that it counts against the same seat cap as inviting. This is exactly the beyond-annotation context that matters for a destructive-ish write.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense sentences, front-loaded with the action and condition, then the destructive-link behavior, then the parameter source. Zero filler; every clause carries information an agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output schema exists, so return values need not be explained. Combined with complete schema coverage and annotations, the description covers purpose, prerequisites, side effects, and parameter sourcing, leaving no meaningful gap for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all three parameters including invite_id, slug, and org_id are already documented. The description restates the invite_id source ('from findagent_list_invites') in line with the schema, adding no new syntactic or semantic detail. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Send an organization invite again') and clearly distinguishes this from siblings like invite_member and revoke_invite by framing it as a re-send of an existing invite. An agent can tell what it does and when it applies without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives the triggering condition clearly ('for one that expired or was never received') and the permission prerequisite ('owner/admin only'). It notes the original cannot be re-sent (only a hash is stored), which explains the constraint, though it doesn't explicitly name a sibling alternative for the invite-creation case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
findagent_reuploadAInspect
Publish a NEW version of YOUR OWN published skills agent that was UPLOADED (not imported from GitHub), from files you send as text: files maps each path to its text, exactly as findagent_create_package_draft takes them, with the same skill rules and caps. You must pass attestation: "own-work". FindAgent imports the files, diffs them against your live version and, if they changed, submits a new version for review with an auto-drafted changelog; your LIVE version keeps serving until it is approved. Unchanged files are a no-op. An agent imported from GitHub is refused (github_source): it re-versions by re-pulling its repository with findagent_repull, because an attested upload must never replace proven provenance. Optional bump (patch|minor|major, default patch). Which tool for which part: Instructions, Skills and Actions are authored as an Agent Plugins package and sent as files with findagent_create_package_draft; Code (a Node or Python program) uses findagent_create_code_draft from your own GitHub repo; an MCP server you already run uses findagent_create_remote_mcp; findagent_create_draft saves a declarative listing from findagent_import_repo grounding.
| Name | Required | Description | Default |
|---|---|---|---|
| bump | No | Optional semver bump for the new version. Defaults to patch. | |
| slug | Yes | Your published, uploaded skills agent slug (you must own it). | |
| files | Yes | The whole package: each key a relative file path, each value its text. | |
| attestation | Yes | Required: "own-work" — you confirm these files are your own work. |
Output Schema
| Name | Required | Description |
|---|---|---|
| kind | No | |
| slug | No | |
| status | No | |
| changed | No | |
| version | No | |
| changelog | No | |
| published | No | |
| scan_status | No | |
| skill_notes | No | |
| instructions | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint=false and destructiveHint=false; the description goes far beyond, disclosing that the live version keeps serving until approval, that unchanged files are a no-op, that attestation 'own-work' is mandatory, that a diff is computed, and that an auto-drafted changelog is submitted for review.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core action and scoping, then progressively adds the diff/no-op/approval mechanics and routing. It is dense but nearly every sentence carries distinct information; the routing list is long yet justified by the crowded sibling namespace.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A mutation tool with an output schema (so returns needn't be explained), one required enum plus an optional enum, and annotations covering safety. The description covers provenance rules, approval flow, no-op behavior, and cross-tool routing, leaving no significant gap for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline would be 3, but the description adds real meaning: it explains files maps path→text 'exactly as findagent_create_package_draft takes them, with the same skill rules and caps', clarifies the slug must be your own published uploaded agent, and repeats the attestation constraint.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Publish a NEW version of YOUR OWN published skills agent that was UPLOADED (not imported from GitHub)'. The scope qualifiers (own, uploaded-not-imported, from text files) make it immediately distinguishable from siblings like findagent_repull, findagent_new_version, and findagent_bump_version.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says when NOT to use it ('An agent imported from GitHub is refused... re-versions by re-pulling its repository with findagent_repull') and names the alternative. It also closes with a 'which tool for which part' routing paragraph mapping instructions/code/MCP/listing to findagent_create_package_draft, findagent_create_code_draft, findagent_create_remote_mcp, and findagent_create_draft.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
findagent_revoke_inviteAInspect
Cancel an outstanding organization invite (owner/admin only). Its link stops working and the email address becomes invitable again — the fix for an invite sent to the wrong address, which otherwise blocks the right one indefinitely. Get invite_id from findagent_list_invites.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | No | The organization slug (alternative to org_id). | |
| org_id | No | The organization id (from findagent_list_orgs). | |
| invite_id | Yes | The invite id, from findagent_list_invites. |
Output Schema
| Name | Required | Description |
|---|---|---|
| revoked | No | |
| instructions | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes beyond the annotations by disclosing the permission gate (owner/admin only) and the concrete effects: the link stops working and the address becomes invitable again. It does not explicitly state irreversibility or that other pending invites are untouched, but the effect description is unusually informative for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with the action and permission requirement, followed by effect and ID sourcing. No filler or restatement of the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and annotations covering the safety profile, the description supplies everything else an agent needs: authorization requirement, the observable consequences of the call, and where to obtain the required identifier.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the schema already documents slug, org_id, and invite_id with their sources. The description only repeats the invite_id provenance already present in the schema, adding no new parameter meaning, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Cancel an outstanding organization invite') plus scope qualifier ('outstanding'). This clearly separates it from siblings like findagent_resend_invite and findagent_invite_member without needing to open any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a concrete when-to-use scenario (invite sent to the wrong address that otherwise blocks the correct one indefinitely) and states the owner/admin prerequisite. It stops short of explicitly contrasting with findagent_resend_invite, the nearest alternative, so an agent must infer that distinction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
findagent_rollback_versionAIdempotentInspect
Roll YOUR OWN PUBLISHED agent BACK to a prior version (any kind). Pass the agent slug; OMIT version to LIST the prior published versions you can roll back to, then call again with version set to one of them. The live agent immediately serves that earlier (already-reviewed) version again — only a version that was published before can be a target (so it never serves unreviewed content). Existing buyers keep their access (entitlement is per purchase, not per version). Owner-only.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Your published agent slug (you must own it). | |
| version | No | The semver of a PRIOR published version to revert to (from available_versions). Omit to list the eligible targets first. |
Output Schema
| Name | Required | Description |
|---|---|---|
| slug | No | |
| rolled_back | No | |
| instructions | No | |
| current_version | No | |
| available_versions | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations, the description discloses the key observable behavior: the live agent immediately serves the earlier version, existing buyers retain access because entitlement is per purchase not per version, and unreviewed content can never be served. It also states the owner-only authorization requirement. This adds strong context that annotations alone do not provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core action and packs the important procedural and safety guidance into three sentences. There is slight redundancy around 'published' and 'already-reviewed,' but every sentence contributes necessary information and there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter tool with a 100% schema description, an output schema, and clear annotations, the description covers the complete call flow, ownership constraint, eligibility rule, and side-effect behavior. An agent has everything needed to invoke the tool correctly in both of its modes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description's workflow instructions, such as 'OMIT `version` to LIST the prior published versions,' largely restate what the version parameter schema already says ('Omit to list the eligible targets first'). It adds safety context about prior published versions, but this does not substantially deepen the meaning of the individual parameters beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Roll YOUR OWN PUBLISHED agent BACK to a prior version.' It clearly identifies the operation, the required ownership, and the distinction between listing candidate versions and performing the rollback. No sibling tool matches this exact purpose, so it is sufficiently differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a clear two-step usage pattern: omit `version` to list eligible targets, then call again with `version` set to one of them. It also states when-not: only previously published versions are valid targets, and only the owner can perform the action. It does not explicitly name alternative sibling tools such as bump or withdraw, so it falls short of a 5, but the guidance is otherwise explicit and actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
findagent_set_agent_stateADestructiveInspect
Take YOUR OWN live agent DOWN from the marketplace, or put a withdrawn one back UP. action:"withdraw" unlists a PUBLISHED agent and stops the gateway serving it, leaving the published version itself untouched; action:"restore" puts that same previously-approved version back up with no new review. Owner-only. This is the LIVE listing — distinct from findagent_withdraw_version, which withdraws a version still awaiting review and never touches what is live.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Your agent slug (you must own it). | |
| action | Yes | withdraw = take the live listing down. restore = put a withdrawn one back up. |
Output Schema
| Name | Required | Description |
|---|---|---|
| slug | No | |
| status | No | |
| instructions | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare destructiveHint=true and readOnlyHint=false, and the description goes well beyond that: it says withdraw stops gateway serving while leaving the published version untouched, restore requires no new review, and the operation is owner-only. Reversibility, blast radius, and auth requirement are all disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The primary action is front-loaded and the disambiguation against the sibling is held to the final sentence. Some ALL-CAPS emphasis and parenthetical restatement ('This is the LIVE listing') add slight bulk without new information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be explained. Ownership requirement, action semantics, side effects, and the nearest alternative are all covered, leaving nothing an agent needs in order to invoke this correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the enum values are already documented; baseline would be 3. The description adds real meaning on top — what 'withdraw' does to serving and that the underlying version survives — which the schema text alone does not convey.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource pair ('take YOUR OWN live agent DOWN... or put a withdrawn one back UP') with the two action modes named. It explicitly distinguishes itself from the sibling findagent_withdraw_version, so an agent can route correctly without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit per-action conditions: withdraw applies to a PUBLISHED listing, restore applies to a previously-withdrawn one. It also names the alternative tool and the exact condition that selects it ('withdraws a version still awaiting review and never touches what is live').
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
findagent_skill_searchARead-onlyInspect
Search the FindAgent curated skill catalog — platform-wide how-to, domain, and integration guides (NOT your private knowledge bases). Returns the top matching guides (title + snippet + id) you can use to ground an answer. READ-ONLY, public catalog.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max results to return (1–25, default 10). | |
| query | Yes | What you want a guide for (e.g. "connect a GitHub MCP server"). |
Output Schema
| Name | Required | Description |
|---|---|---|
| usage | No | |
| skills | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, and the description reinforces this with 'READ-ONLY, public catalog.' It adds context about the catalog being public and the exact output structure (title + snippet + id), which goes beyond the annotations. No contradictions exist. The description does not cover potential rate limits or auth, but for a read-only search tool the annotations and output schema cover the essential behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with zero waste. The first sentence states the purpose and the critical exclusion (NOT private KBs), and the second describes the return and usage. All information is front-loaded and every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only search tool with a rich output schema and clear annotations, the description is fully adequate. It covers what the tool searches, what it excludes, what it returns, and how to use it. No missing information would prevent an agent from calling it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with both 'query' and 'limit' having clear descriptions. The description does not add any parameter-specific details beyond what the schema already provides, so it meets the baseline for a tool with full schema coverage. No additional value is needed here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Search') and resource ('FindAgent curated skill catalog') and explicitly differentiates from private knowledge bases, making the tool's purpose unmistakable. It also states the return format (title + snippet + id), which helps the agent understand what to expect. No sibling tool is similar enough to cause confusion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly states when to use this tool: for platform-wide public catalog guides, not private knowledge bases. It also hints at the use case (grounding an answer). However, it does not name specific alternative tools for private KBs, so it stops short of fully explicit routing. The exclusion is clear, but the alternative is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
findagent_submission_statusARead-onlyInspect
Check the review status of YOUR OWN agent and WHY it is where it is — the missing companion to findagent_submit_for_review. Pass the agent slug/id. Returns the status (draft | pending_review | needs_changes | published | rejected), the in-flight version, the reviewer's needs-changes reason when one was given, and the security-scan findings (severity + a creator-safe description). Use this after submitting to see whether it was approved, is still in review, or was sent back — and exactly what to fix. Owner-only. READ-ONLY.
| Name | Required | Description | Default |
|---|---|---|---|
| agent | Yes | The slug or id of YOUR agent (from findagent_list_my_agents / findagent_create_draft). |
Output Schema
| Name | Required | Description |
|---|---|---|
| slug | No | |
| status | No | |
| instructions | No | |
| pending_version | No | |
| security_findings | No | |
| needs_changes_reason | No | |
| security_scan_status | No | |
| security_scan_subject | No | WHICH version security_scan_status describes. A pending code-bundle carries its own scan verdict; a declarative pending version has none, so the published verdict is reported and this says so. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint and openWorldHint; the description goes well beyond them by disclosing the owner-only access constraint, the exact status enum values, and the three concrete pieces of data returned (in-flight version, reviewer's needs-changes reason, security-scan findings with severity). It also pre-empts the obvious safety question by stating READ-ONLY outright.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The lead sentence is front-loaded with the core purpose and the alternative-tool framing, and the return payload is enumerated compactly. It is slightly redundant in restating the status outcomes twice ('draft | pending_review | needs_changes | published | rejected' then 'approved, is still in review, or was sent back'), which costs it a point.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be spelled out, yet the description still summarizes the meaningful fields. Combined with owner-only scope, the status enum, and the submit-after framing, an agent has everything needed to decide when and how to call it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the schema already documents the single 'agent' parameter, so the baseline is 3. The description adds real meaning by stressing the parameter must be YOUR agent and by cross-referencing where the slug/id comes from (findagent_list_my_agents / findagent_create_draft), which scopes the value beyond the schema text.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Check the review status of YOUR OWN agent') and immediately adds the differentiator ('WHY it is where it is'). It explicitly positions itself as 'the missing companion to findagent_submit_for_review', separating it from siblings like findagent_get_agent or findagent_submission_wizard without the agent needing to open any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Use this after submitting to see whether it was approved, is still in review, or was sent back' gives a clear trigger condition and ties it to the submit workflow. It also states the owner-only restriction. It stops short of explicitly excluding the closest alternatives (e.g., when to prefer findagent_get_agent), so it is strong but not fully exhaustive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
findagent_submission_wizardARead-onlyInspect
READ-ONLY: returns the next QUESTION to ask, and writes nothing. This is not the tool that submits — when the answers are collected, findagent_submit_for_review is what actually submits. Start a guided, step-by-step submission wizard — returns the ordered steps + the selectable choices (category tree + tech facets inlined); ask the user ONE step at a time as a numbered/selectable menu, validate (slug via findagent_check_slug), then advance, and finalize with findagent_create_draft. Prefer this over asking for all listing fields at once. Optional repo/source hints are echoed back (it does not pull a repo — that is findagent_import_repo).
| Name | Required | Description | Default |
|---|---|---|---|
| repo | No | Optional owner/repo hint (where the listing is being imported from). | |
| source | No | Optional source hint (e.g. github, json) — echoed back only. |
Output Schema
| Name | Required | Description |
|---|---|---|
| repo | No | |
| steps | No | |
| source | No | |
| wizard | No | |
| instructions | No | |
| finalize_tool | No | |
| field_contract | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds substantial context beyond annotations: it is read-only and 'writes nothing' (reinforcing readOnlyHint), it clarifies the tool does NOT submit, does NOT pull a repo, and the repo/source params are 'echoed back only.' That is exactly the kind of behavioral clarification that prevents miscalls on a wizard entry point.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the READ-ONLY guarantee and the not-a-submitter clarification, which is well-prioritized. Sentences are slightly dense but every clause carries routing or behavioral info; nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a wizard entry point with an output schema (ordered steps + choices) and strong annotations, the description covers what an agent needs: flow (ask one step at a time, validate slug, advance), finalization path (findagent_create_draft), and what will not happen. Complete for this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description goes further by stating the hints are 'echoed back' and that it 'does not pull a repo,' which disambiguates the params' actual effect — useful beyond the schema's 'hint' wording.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource with explicit scope: 'Start a guided, step-by-step submission wizard — returns the ordered steps + selectable choices.' It also proactively distinguishes itself from multiple siblings (findagent_submit_for_review, findagent_import_repo, findagent_create_draft), so an agent can route correctly without opening schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit when-to-use guidance: 'Prefer this over asking for all listing fields at once,' plus named alternatives for adjacent tasks (submission via findagent_submit_for_review, repo pull via findagent_import_repo, slug validation via findagent_check_slug). It delineates what this tool is not, which is rare and valuable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
findagent_submit_for_reviewAIdempotentInspect
WRITES: this is the tool that actually SUBMITS, and the draft enters human review. Not to be confused with findagent_submission_wizard, which only returns the next question to ask and changes nothing. Submit YOUR OWN draft listing for review — the final step that reaches full parity with the web submit wizard (set price, confirm originality + prohibited content, submit). Auto-detects whether the draft is built here (instructions, skills, actions) or carries code and finalizes it the same way the web wizard does: it flips your draft to pending_review (NOT published — an admin reviews it, and for an agent with code a security scan must pass, before it goes live). Pass agent (the slug or id of your draft, created via findagent_create_draft / findagent_create_code_draft), price_type/price_cents, the LLMs it targets, and BOTH confirmations. confirm_original + confirm_not_prohibited are YOUR attestation that this is your original work and avoids prohibited content (malware, illegal, or disallowed use) — both must be true, exactly like the web wizard's checkboxes. SLUG IS PERMANENT: the first time you call this WITHOUT confirm_slug it returns the exact final slug + a notice that the public URL can never change after publish; re-call it with confirm_slug set to that exact slug to acknowledge and proceed (this mirrors the web wizard's permanence confirm — you never lock a slug you didn't see).
| Name | Required | Description | Default |
|---|---|---|---|
| llms | Yes | The clients/LLMs this agent targets (at least one). | |
| agent | Yes | The slug or id of YOUR draft (from findagent_create_draft / findagent_create_code_draft). | |
| price_type | No | Default free. "paid" requires price_cents (charged once Paddle is live). | |
| price_cents | No | Required when price_type=paid: a positive integer of US cents, max 50000 ($500). | |
| confirm_slug | No | Your acknowledgement that the listing's public URL slug is PERMANENT after publish. Must exactly match the draft's slug. Call this tool WITHOUT it first to see the exact slug + permanence notice, then re-call with confirm_slug set to that slug to publish. | |
| thumbnail_url | No | Optional. Accepted ONLY if already hosted on FindAgent assets; otherwise ignored (upload a thumbnail in the web wizard — off-site image URLs are not fetched). | |
| confirm_original | Yes | Required true — your attestation that this listing is your original work. | |
| confirm_not_prohibited | Yes | Required true — your attestation that it avoids prohibited content (no malware, illegal, or disallowed use). |
Output Schema
| Name | Required | Description |
|---|---|---|
| slug | No | |
| status | No | |
| account | No | |
| submitted | No | |
| review_url | No | |
| instructions | No | |
| thumbnail_note | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only cover readOnly/idempotent/destructive hints; the description goes well beyond them by disclosing that the state flips to pending_review rather than published, that an admin reviews it, that code-bearing agents must pass a security scan, that the slug is permanent and must be acknowledged, and that off-site thumbnail URLs are silently ignored. These are exactly the side effects and failure modes an agent needs before a mutating call.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the critical WRITES/SUBMITS signal and the sibling disambiguation, which is the right priority. The prose is dense and the permanence rule is stated twice, which costs a little, but nearly every sentence carries an actionable constraint.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 8-parameter mutating tool with an output schema, the description covers the missing pieces: prerequisites and originating tools, the attestation semantics, the review/scan gate, and the slug-permanence protocol. An agent has everything needed to invoke it correctly on the first attempt.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds genuine meaning: it frames confirm_original/confirm_not_prohibited as the caller's own attestation (mirroring the web checkboxes) and explains the non-obvious confirm_slug handshake as a call-without-then-recall pattern. It does not restate the price/llms constraints in more depth than the schema already does.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Opens with an explicit verb+resource ("the tool that actually SUBMITS, and the draft enters human review") and immediately distinguishes itself from findagent_submission_wizard by stating what that sibling does not do. An agent can route between the two without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit when-to-use (submit YOUR OWN draft as the final step), when-not-to-use (not the wizard, which only returns the next question), and names the exact creating tools (findagent_create_draft / findagent_create_code_draft). It also lays out the two-call confirm_slug sequence so the agent knows the invocation order before calling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
findagent_transfer_org_ownershipAInspect
Transfer ownership of an organization to another active member (owner only). You stay on as an admin.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | No | The organization slug (alternative to org_id). | |
| org_id | No | The organization id (from findagent_list_orgs). | |
| user_id | Yes | The user id of the active member to make the new owner (from findagent_list_members). |
Output Schema
| Name | Required | Description |
|---|---|---|
| transferred | No | |
| instructions | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only indicate the tool is not read-only, so the description carries the burden for conveying mutation effects. It usefully discloses a non-obvious consequence: the transferring owner stays on as an admin, preventing an assumption that they are removed. It does not cover reversibility or downstream permission impacts, but this is solid given annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no filler. Every phrase—'active member,' 'owner only,' and 'stay on as an admin'—adds meaningful operational context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a high-stakes ownership mutation, the description covers who may call it, who receives ownership, and the caller's resulting role. With complete schema parameter descriptions and an output schema present, no critical invocation detail is missing; the only minor omission is explicit guidance about the slug/org_id identifier alternatives, which the schema already documents.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the parameters are already well documented: slug and org_id are alternative organization identifiers, and user_id is sourced from findagent_list_members. The description adds no extra parameter-level meaning beyond confirming the transfer direction, so the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb-resource pair ('Transfer ownership of an organization') and specifies the recipient ('another active member') plus a key precondition ('owner only'). This clearly differentiates it from role-management siblings like change_member_role or remove_member.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states who is allowed to use it ('owner only') and the required target state ('active member'), which implies valid usage. However, it gives no explicit guidance on when to prefer this tool over the closely related findagent_change_member_role or when it should not be used.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
findagent_update_kb_documentADestructiveInspect
Replace the text of a pasted-text document in a knowledge base you own, in place — the document keeps its id, attachments and references; its chunks are re-embedded and swapped atomically and its version bumped. Pass document_id (from findagent_list_kb_documents) and the FULL new text (max 1 MB). Identical text is a no-op (nothing re-embedded). A document imported from a URL or uploaded as a file cannot be replaced this way — add the page again with findagent_add_kb_url_document and delete the old one. The previous text is overwritten and cannot be recovered. Counts against the per-user import allowance, because a replace re-embeds on the owner’s key. Owner-gated.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | The full replacement content for the document (plain text, max 1 MB). | |
| document_id | Yes | The document id (from findagent_list_kb_documents). |
Output Schema
| Name | Required | Description |
|---|---|---|
| document | No | |
| instructions | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false, but the description goes well beyond them: chunks are re-embedded and swapped atomically, version is bumped, previous text is unrecoverable, the call consumes the per-user import allowance because re-embedding happens on the owner's key, and access is owner-gated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Dense but front-loaded: the core action and in-place guarantee come first, followed by required inputs, edge cases, and the failure mode. Every sentence carries operational information; nothing is filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need no explanation. The description covers destructive irreversibility, quota impact, auth/ownership gating, unsupported document sources, and the correct alternative tool – everything an agent needs to invoke this safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3, but the description adds value: it tells the agent where document_id comes from (findagent_list_kb_documents) and stresses that text must be the FULL new content with a 1 MB cap, plus the no-op semantics when text is unchanged.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a precise verb+resource+scope: replace the text of a pasted-text KB document in place, with id/attachments/references preserved. It clearly distinguishes itself from findagent_add_kb_document, findagent_add_kb_url_document and findagent_delete_kb_document by naming the import path and the delete alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says when this works (pasted-text documents you own) and when it does not (URL-imported or file-uploaded documents), and names the exact alternative workflow: add again with findagent_add_kb_url_document and delete the old one. Also flags the identical-text no-op case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
findagent_update_knowledge_baseAInspect
Rename a knowledge base you own and/or change its description. Pass kb_id (from findagent_list_kbs) and any of name / description; a field you leave out is unchanged, and an empty description clears it. Only the name and description change — documents, attachments and the embedding model are untouched. Refused while the account is suspended. Renaming a SHARED organization knowledge base requires an organization owner or admin. Owner-gated.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | The new name (1–120 chars). Omit to keep it. | |
| kb_id | Yes | The knowledge base id (from findagent_list_kbs). | |
| description | No | The new description (up to 1,000 chars). Omit to keep it; an empty string or null clears it. |
Output Schema
| Name | Required | Description |
|---|---|---|
| instructions | No | |
| knowledge_base | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only supply readOnlyHint=false and openWorldHint=false; the description adds the meaningful behavior an agent needs: partial-update semantics (omitted field unchanged, empty string/null clears), the exact blast radius of the mutation, authorization gating (owner, or org owner/admin for shared KBs), and a failure mode (refused while suspended).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Effectively four dense sentences that are front-loaded with the action and followed by the semantics that matter, with no filler. Slightly long, but every clause adds a distinct constraint rather than repeating the name or title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a permission-gated mutation with an output schema, full schema coverage and annotations already present, the description covers everything an agent needs before calling: what changes, what does not, how omitted vs empty fields behave, who may call it, and when it will be refused.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the schema already documents kb_id sourcing, the 1–120 char name, and the 1,000-char description with its omit/clear semantics, so the description's parameter prose largely restates structured data. Baseline 3 is appropriate when the schema carries the load.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ("Rename a knowledge base ... and/or change its description") and immediately scopes it by declaring that documents, attachments and the embedding model are untouched, which cleanly separates it from sibling write tools like findagent_update_kb_document or findagent_bind_kb_embedding_key.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear preconditions and exclusions: pass kb_id sourced from findagent_list_kbs, omitted fields are preserved, empty description clears, refused while suspended, and shared/org KB renames require owner/admin. It stops short of naming a sibling alternative for the document-editing case, but the routing is strongly implied by the 'documents ... untouched' clause.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
findagent_update_requestAInspect
Edit YOUR OWN agent request on the PUBLIC FindAgent demand board AS the connected account: change its title (5-120 chars), its details (max 2000 chars, empty clears them), or both. Only the text changes: upvotes and status are untouched. Only a request you posted that is still on the board and still open or planned can be edited (withdrawn, removed and resolved ones cannot). The new text is moderated. Get the id from findagent_list_requests with mine:true. Free - no payment.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | The new details (max 2000 characters). Omit to keep the current ones; an empty string clears them. | |
| title | No | The new title (5-120 characters). Omit to keep the current one. | |
| request_id | Yes | The id of YOUR request to edit (from findagent_list_requests with mine:true). |
Output Schema
| Name | Required | Description |
|---|---|---|
| body | No | |
| title | No | |
| next_tool | No | |
| request_id | No | |
| instructions | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only say readOnlyHint=false and openWorldHint=false. The description adds the consequential behaviors an agent needs: only the text mutates, upvotes and status are untouched, the new text is moderated, and the call is free (no payment).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the action and scope, then eligibility, then id sourcing, then cost. Every sentence carries distinct information with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained. For a 3-param mutation tool, the description covers eligibility, side-effect boundaries, moderation, and id sourcing — nothing needed to call it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so length limits, empty-string-clears semantics, and omit-to-keep behavior are already documented in the schema. The description restates the same constraints rather than adding syntax or format detail beyond it, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb (Edit) + resource (your own agent request on the public demand board) + scope (title/details only, as the connected account). It is clearly distinguishable from siblings like findagent_create_request and findagent_vote_request without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit eligibility rules: only requests you posted, still on the board, still open or planned; withdrawn, removed and resolved ones cannot be edited. It also names the sibling to use for obtaining the id (findagent_list_requests with mine:true).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
findagent_verify_listing_claimAInspect
Check the proof for your open claim on an MCP server listing and, only if it holds, make the listing yours. For a GitHub proof, your connected GitHub account (findagent_connect_github) must be an admin of the declared repository; for a DNS proof, the TXT record returned by findagent_claim_listing must be visible. A failure says whether the proof did not hold (fix it and retry) or whether we could not check it (try again shortly). On success the listing is yours to manage like any agent you created; find it with findagent_list_my_agents. Do not poll this tool while DNS propagates: every call counts against your hourly MCP budget, so retry after a few minutes.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | No | The MCP server listing slug (the last part of its /mcp/<slug> page URL). Give this OR agent_id. | |
| agent_id | No | The listing id (a UUID). Give this OR slug; if you give both, they must name the same listing. |
Output Schema
| Name | Required | Description |
|---|---|---|
| agent_id | No | |
| verified | No | |
| next_tool | No | |
| instructions | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare the safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false), and the description adds substantial context beyond them: the two distinct failure modes (proof did not hold vs. could not check), the authorization requirement, the mutated end state ('the listing is yours to manage'), and a rate-limit/budget constraint with guidance not to poll.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core action and its conditional outcome, then prerequisites, failure handling, and the polling caution. Dense but each sentence carries distinct operational information; the DNS budget sentence is slightly long but justified by its non-obvious constraint.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be explained, and the description covers everything else an agent needs: precondition setup, both proof paths, failure interpretation, mutation semantics, and post-success discovery via findagent_list_my_agents.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and both parameters are fully documented in the schema, including the slug/agent_id OR-relationship and the both-must-match rule. The description adds no syntax or format detail beyond that, so the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Check the proof for your open claim on an MCP server listing and, only if it holds, make the listing yours'), which distinguishes it from findagent_claim_listing (which opens the claim) and findagent_list_my_agents (which finds the result). An agent can tell exactly what this tool accomplishes without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit when-to-use conditions for both proof types (GitHub admin membership vs. visible DNS TXT record), explicit prerequisites via findagent_connect_github and findagent_claim_listing, and an explicit when-NOT-to-use warning about polling during DNS propagation with a retry recommendation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
findagent_vote_requestAInspect
Upvote an agent request on the PUBLIC FindAgent demand board AS the connected account — signal that you also want the agent described by request_id (get ids from findagent_list_requests). Idempotent: voting again does not double-count. Returns the fresh upvote total. Free — no payment.
| Name | Required | Description | Default |
|---|---|---|---|
| request_id | Yes | The id of the request to upvote (from findagent_list_requests). |
Output Schema
| Name | Required | Description |
|---|---|---|
| voted | No | |
| upvotes | No | |
| request_id | No | |
| instructions | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the sparse annotations, the description discloses key behavioral facts: the action is performed as the connected account, the operation is idempotent ('voting again does not double-count'), it returns the fresh upvote total, and it is free. This substantially exceeds the annotation coverage and gives the agent important expectations about side effects and response.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences, each carrying distinct value: the core action and scope, the idempotency guarantee, and the return value/cost. The most important information is front-loaded, with no filler or redundant detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter mutation tool with an output schema, the description covers everything needed to invoke it correctly: where to get the ID, what the action means, side-effect safety through idempotency, return behavior, and cost. There is no significant missing context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%: the single request_id parameter already includes a description pointing to findagent_list_requests. The tool description repeats that source but adds no new semantic information beyond the schema, so it meets the baseline without going higher.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Upvote an agent request on the PUBLIC FindAgent demand board AS the connected account.' This clearly distinguishes the tool from siblings like findagent_create_request, findagent_withdraw_request, and findagent_list_requests. It also explains the underlying intent: 'signal that you also want the agent described by request_id.'
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description tells the agent when to use the tool: to signal support for an existing public request, and it directs the agent to findagent_list_requests for valid IDs. It does not explicitly contrast this with findagent_create_request or findagent_withdraw_request, so the guidance is strong but not fully explicit about alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
findagent_whoamiARead-onlyInspect
Report which FindAgent account this AI client is acting as (the account you authorized the connector with) plus whether GitHub is connected. Use this if a draft you created here is missing when you open it in a browser, or GitHub shows as not connected — your MCP work is scoped to THIS account, so you must be signed in to the same FindAgent account in the browser to see it.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| account | No | |
| instructions | No | |
| github_connected | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already signal readOnlyHint=true and openWorldHint=false, and the description adds substantial behavioral context: account scoping of MCP work, the need to match browser sign-in, and coverage of both account identity and GitHub connection status. This goes beyond what annotations alone convey and is fully consistent with them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no filler. The purpose is stated first, followed immediately by concrete usage triggers and a clarifying caveat. Every clause earns its place and the length is appropriate for the tool's simplicity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero parameters, an output schema, and read-only annotations, the description covers everything an agent needs: what it reports, when to use it, and why the account-scoping behavior matters. There are no meaningful gaps for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so there is nothing to document; the baseline of 4 applies. The description still clarifies what the tool reports, which is the only semantic context an agent needs, and no param descriptions are required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Report which FindAgent account this AI client is acting as' plus GitHub connection status. This is immediately distinguishable from all 49 sibling tools, none of which provide identity/connection introspection. No ambiguity about what the tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly tells the agent when to invoke it: 'Use this if a draft you created here is missing when you open it in a browser, or GitHub shows as not connected.' It also explains the underlying reason, that MCP work is scoped to the authorized account, which helps the agent decide in related scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
findagent_withdraw_requestAInspect
Withdraw (retract) YOUR OWN agent request from the PUBLIC FindAgent demand board AS the connected account — the request drops off the public board and can no longer be upvoted (it is NOT hard-deleted). You can only withdraw a request you posted (get the id from findagent_list_requests with mine:true). Idempotent: withdrawing an already-withdrawn own request succeeds. Free — no payment.
| Name | Required | Description | Default |
|---|---|---|---|
| request_id | Yes | The id of YOUR request to withdraw (from findagent_list_requests with mine:true). |
Output Schema
| Name | Required | Description |
|---|---|---|
| next_tool | No | |
| withdrawn | No | |
| request_id | No | |
| instructions | No | |
| already_withdrawn | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide readOnlyHint=false, but the description adds substantial behavioral detail beyond that: the request drops off the public board, can no longer be upvoted, is NOT hard-deleted, is idempotent (withdrawing an already-withdrawn request succeeds), and is free. This gives the agent a clear mental model of side effects, which is especially valuable for a mutation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise but packed with value. The first sentence states the action and key effects, then it adds ownership and idempotency details in subsequent sentences without fluff. It is well-structured and front-loaded with the most important information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is fully self-contained for a mutation with one parameter. It covers the ownership rule, idempotency, the soft-delete behavior, and cost. There is an output schema present, so return details are not required in the description. No critical information is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with request_id described fully. The description adds meaning by specifying that the id must come from findagent_list_requests with mine:true, and that it must be your own request. This goes beyond the schema's simple 'id of YOUR request' phrasing, providing a retrieval source and constraint.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('withdraw/retract'), a specific resource ('YOUR OWN agent request from the PUBLIC FindAgent demand board'), and the scope ('AS the connected account'). It clearly distinguishes itself from siblings like findagent_create_request, findagent_vote_request, and findagent_list_requests by emphasizing the 'withdraw' action and the ownership constraint.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides clear context on when to use (retracting your own request) and a prerequisite (get the id from findagent_list_requests with mine:true). It does not explicitly mention alternatives, but there are no direct sibling competitors for this action. The guidance to only withdraw requests you posted is a useful exclusion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
findagent_withdraw_versionAIdempotentInspect
Withdraw YOUR OWN still-pending version of an agent (so you can submit a fresh one when a prior bump is stuck in review). Pass the agent slug. NEVER touches the live published version — only a version awaiting review is withdrawn. Owner-only.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Your agent slug (you must own it). |
Output Schema
| Name | Required | Description |
|---|---|---|
| slug | No | |
| withdrawn | No | |
| version_id | No | |
| instructions | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations, the description adds precise behavioral context: it touches only the pending version and NEVER the live published version, and it requires ownership. This clarifies exactly what is withdrawn and what is preserved, complementing the destructiveHint=false annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no filler: the main action is front-loaded, the motivating scenario is parenthetical, and the critical safety limitation is stated explicitly. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter tool with a full input schema, an output schema, and relevant annotations, the description covers the action, preconditions, ownership, and side-effect boundary. Nothing an agent needs to know in order to call it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the description only restates that the agent slug should be passed. The ownership requirement is already in the schema description, so the tool description adds no meaningful parameter-level semantics beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: withdraw your own still-pending version of an agent. It explicitly distinguishes this from the live published version and from related approval workflows, so an agent can tell it apart from siblings like bump_version or rollback_version.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a clear trigger scenario: use it when a prior bump is stuck in review and you want to submit a fresh version. It also states the owner-only constraint and that only pending versions are affected, though it does not explicitly name sibling alternatives for resubmission or live-version management.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
5 tool updates
- Added
findagent_add_kb_url_document - Changed
findagent_list_requests1 field changed- added
Input schema / properties / qAdded value: +{ + "description": "Optional text search over request titles and details (case-insensitive, up to 80 characters). Applies to the public board; ignored when mine:true.", + "type": "string" +}
- Added
findagent_update_kb_document - Added
findagent_update_knowledge_base - Added
findagent_update_request
1 tool update
- Changed
findagent_edit_metadata2 fields changed- added
Input schema / properties / languagesAdded value: +{ + "description": "Replace the Language/Framework facets (slugs from findagent_list_tech_facets). Software-development agents only.", + "items": { + "type": "string" + }, + "type": "array" +} - added
Input schema / properties / tech_domainsAdded value: +{ + "description": "Replace the Tech Domain facets (slugs from findagent_list_tech_facets). Software-development agents only; ignored for any other discipline.", + "items": { + "type": "string" + }, + "type": "array" +}
1 tool update
- Changed
findagent_create_remote_mcp2 fields changed- changed
Input schema / properties / additional_category_slugs / descriptionPrevious value: -"Optional (≤12). Subcategory under every top-level you select."New value: +"Ignored (a listing is not categorised)." - changed
Input schema / properties / category_slug / descriptionPrevious value: -"The PRIMARY category: a TOP-LEVEL slug from findagent_list_categories (≥1 discipline; put subcategories in additional_category_slugs)."New value: +"Ignored. A listing is not categorised; the platform files its own placeholder."
1 tool update
- Changed
findagent_edit_metadata1 field changed- added
Input schema / properties / thumbnail_urlAdded value: +{ + "description": "The listing logo: a URL of an image already uploaded to this platform (anything else is refused). Pass an empty string to remove it, so the card draws a generated mark.", + "type": "string" +}
4 tool updates
- Added
findagent_archive_department - Added
findagent_create_department - Added
findagent_get_department - Added
findagent_list_departments
3 tool updates
- Changed
findagent_create_code_draft2 fields changed- changed
Input schema / properties / skills / descriptionPrevious value: -"Optional discovery metadata (the tools the agent exposes). Each: { id?, name, description? }. Never executed."New value: +"Optional discovery metadata (the tools the agent exposes). Each: { id?, name, description?, input_schema? }. `input_schema` is the tool's JSON-Schema argument shape (type: object; bounded, no remote $ref) so a client can render real fields. A repo's own findagent.json `skills[]` fills any you omit. Never executed." - added
Input schema / properties / skills / items / properties / input_schemaAdded value: +{ + "type": "object" +}
- Changed
findagent_new_version1 field changed- changed
Input schema / properties / repo / descriptionPrevious value: -"Action agents (kind mcp-tool) only: re-version FROM this GitHub repo (owner/name, one you can write to) — its findagent.json supplies the whole tool surface server side, so no tool array passes through a model. Omit it to pass the fields instead."New value: +"Action agents (kind mcp-tool) only: re-version FROM this GitHub repo (owner/name, one you can write to) — its findagent.json (or a manifest.json declaring schema_version 1.1) supplies the whole tool surface server side, so no tool array passes through a model. Omit it to pass the fields instead."
- Changed
findagent_repull1 field changed- changed
Input schema / properties / repo / descriptionPrevious value: -"Action agents (kind mcp-tool) only: the GitHub repo to read, owner/name or a github.com URL, one you can write to. Its findagent.json supplies the tool surface. Ignored for code and skills agents, which re-pull the repo they were imported from."New value: +"Action agents (kind mcp-tool) only: the GitHub repo to read, owner/name or a github.com URL, one you can write to. Its findagent.json (or a manifest.json declaring schema_version 1.1) supplies the tool surface. Ignored for code and skills agents, which re-pull the repo they were imported from."
2 tool updates
- Changed
findagent_new_version2 fields changed- changed
Input schema / properties / ref / descriptionPrevious value: -"Agents built from a code or skills repo only: a branch, tag or commit sha to re-pull. Ignored otherwise."New value: +"Agents built from a repo only: a branch, tag or commit sha to re-pull. Ignored otherwise." - added
Input schema / properties / repoAdded value: +{ + "description": "Action agents (kind mcp-tool) only: re-version FROM this GitHub repo (owner/name, one you can write to) — its findagent.json supplies the whole tool surface server side, so no tool array passes through a model. Omit it to pass the fields instead.", + "type": "string" +}
- Changed
findagent_repull2 fields changed- added
Input schema / properties / repoAdded value: +{ + "description": "Action agents (kind mcp-tool) only: the GitHub repo to read, owner/name or a github.com URL, one you can write to. Its findagent.json supplies the tool surface. Ignored for code and skills agents, which re-pull the repo they were imported from.", + "type": "string" +} - changed
Input schema / properties / slug / descriptionPrevious value: -"Your published agent slug, built from a code or skills repo (you must own it)."New value: +"Your published agent slug, built from a repo (you must own it): a code or skills agent, or an action agent when you also pass repo."
1 tool update
- Added
findagent_export_project_recipe
1 tool update
- Changed
findagent_import_repo1 field changed- changed
Output schema / properties / grounding / properties / code_bundle / properties / confidence / typePrevious value: -[ - "number", - "string", - "null" -]New value: +[ + "object", + "number", + "string", + "null" +]
1 tool update
- Changed
findagent_create_code_draft1 field changed- changed
Input schema / properties / runtime / descriptionPrevious value: -"From grounding.code_bundle.runtime: { kind: 'node'|'python', version? }. Defaults to node."New value: +"From grounding.code_bundle.runtime: { kind, version? } where kind is node or python (versions node22, node24, python3.13). Defaults to node."
2 tool updates
- Added
findagent_create_package_draft - Added
findagent_reupload
3 tool updates
- Added
findagent_claim_listing - Added
findagent_load_listing_tools - Added
findagent_verify_listing_claim
5 tool updates
- Changed
findagent_bump_version2 fields changed- changed
Input schema / properties / system_prompt / descriptionPrevious value: -"The updated agent instructions. For a doer whose prompt isn't the authoring surface (mcp-tool / skills-bundle) you may omit it to keep the stored one; otherwise min 50 chars."New value: +"The updated agent instructions. For an agent whose prompt isn't the authoring surface (kind 'mcp-tool' / 'skills-bundle') you may omit it to keep the stored one; otherwise min 50 chars." - changed
Input schema / properties / tools / descriptionPrevious value: -"Optional FULL doer tool set for the new version (web-builder parity). Presence REPLACES the agent's whole tool surface — pass the complete intended list (add/remove/edit); item shape is in `items`. auth_ref must match a credential_slots[].ref whose allowed_hosts cover the action host (audience binding — enforced). Omit to keep the stored tools (prompt-only edit)."New value: +"Optional FULL action and skill tool set for the new version (web-builder parity). Presence REPLACES the agent's whole tool surface — pass the complete intended list (add/remove/edit); item shape is in `items`. auth_ref must match a credential_slots[].ref whose allowed_hosts cover the action host (audience binding — enforced). Omit to keep the stored tools (prompt-only edit)."
- Changed
findagent_create_draft3 fields changed- changed
Input schema / properties / guardrails / descriptionPrevious value: -"Optional declared guardrails (doer agents). { input?: { max_length?, deny_patterns?:string[], pii_redaction?:string[] }, output?: { schema? }, actions?: { [toolName]: { approval?:\"none\"|\"human\"|\"human_strict\", max_amount?, rate_limit?:\"10/hour\", idempotent?, requires?:string[] } } }. `human` confirms where the client can prompt and proceeds where it cannot; `human_strict` BLOCKS where it cannot — use it for anything irreversible. You can only TIGHTEN — the platform always applies its mandatory rails. An invalid block fails the draft."New value: +"Optional declared guardrails (agents with actions). { input?: { max_length?, deny_patterns?:string[], pii_redaction?:string[] }, output?: { schema? }, actions?: { [toolName]: { approval?:\"none\"|\"human\"|\"human_strict\", max_amount?, rate_limit?:\"10/hour\", idempotent?, requires?:string[] } } }. `human` confirms where the client can prompt and proceeds where it cannot; `human_strict` BLOCKS where it cannot — use it for anything irreversible. You can only TIGHTEN — the platform always applies its mandatory rails. An invalid block fails the draft." - changed
Input schema / properties / kind / descriptionPrevious value: -"Optional — usually INFERRED from whether you pass `tools` (tools present → 'mcp-tool' doer, else 'static-recipe' recipe). Declared so a manifest-shaped payload is accepted, not rejected."New value: +"Optional — usually INFERRED from whether you pass `tools` (tools present → 'mcp-tool', an agent with actions or skills; else 'static-recipe', instructions only). Declared so a manifest-shaped payload is accepted, not rejected." - changed
Input schema / properties / tools / descriptionPrevious value: -"Optional doer tools (full web-builder parity). Omit for a recipe agent. Each item's shape is defined in `items` — name/description/tool_type/action are the load-bearing fields; auth_ref must match a credential_slots[].ref whose allowed_hosts cover the action host (audience binding — enforced)."New value: +"Optional actions and skills (full web-builder parity). Omit for an instructions-only agent. Each item's shape is defined in `items` — name/description/tool_type/action are the load-bearing fields; auth_ref must match a credential_slots[].ref whose allowed_hosts cover the action host (audience binding — enforced)."
- Changed
findagent_new_version1 field changed- changed
Input schema / properties / ref / descriptionPrevious value: -"code-bundle / skills-bundle only: a branch, tag or commit sha to re-pull. Ignored for other kinds."New value: +"Agents built from a code or skills repo only: a branch, tag or commit sha to re-pull. Ignored otherwise."
- Changed
findagent_preflight1 field changed- changed
Input schema / properties / smoke / descriptionPrevious value: -"Optional. Set true to also run ONE tool once in the sandbox on your OWN code agent (after the build passes) to confirm it responds. Advisory only — the result is in `smoke` and never blocks submit."New value: +"Optional. Set true to also run ONE tool once in the sandbox on your OWN agent’s code (after the build passes) to confirm it responds. Advisory only — the result is in `smoke` and never blocks submit."
- Changed
findagent_repull1 field changed- changed
Input schema / properties / slug / descriptionPrevious value: -"Your published code-bundle or skills-bundle agent slug (you must own it)."New value: +"Your published agent slug, built from a code or skills repo (you must own it)."
2 tool updates
- Changed
findagent_edit_department3 fields changed- changed
Input schema / properties / report_instructions / descriptionPrevious value: -"Standing instructions prepended to every member's and the orchestrator's prompt at run time — e.g. how to report, what to prioritise, what house style to use. Pass an empty string to remove it. Checked on save against a prompt-injection deny-list and scanned for leaked secrets; the save is rejected on a hit."New value: +"Standing instructions prepended to every member's and the orchestrator's prompt on every run, and to every prompt-template tool result on a direct <alias>__<tool> call — e.g. how to report, what to prioritise, what house style to use. Pass an empty string to remove it. Checked on save against a prompt-injection deny-list and scanned for leaked secrets; the save is rejected on a hit." - added
Input schema / properties / statusAdded value: +{ + "description": "Pass \"draft\" to RESTORE a department you archived (deleted): it becomes a draft again and serves its connector, runs and schedules exactly as before, with its members and report_instructions untouched. Send it ALONE — restore first, then edit in a second call. \"draft\" is the only value: a department is never published.", + "enum": [ + "draft" + ], + "type": "string" +} - added
Output schema / properties / restoredAdded value: +{ + "type": "boolean" +}
- Changed
findagent_get_agent1 field changed- added
Output schema / properties / tools / items / properties / actionAdded value: +{ + "properties": { + "body_template": { + "type": "string" + }, + "method": { + "type": "string" + }, + "template": { + "type": "string" + }, + "type": { + "enum": [ + "prompt-template", + "http" + ], + "type": "string" + }, + "url": { + "type": "string" + } + }, + "type": "object" +}
1 tool update
- Changed
findagent_import_repo2 fields changed- added
Output schema / properties / grounding / properties / detected_componentsAdded value: +{ + "type": "object" +} - added
Output schema / properties / grounding / properties / detected_warningsAdded value: +{ + "items": { + "type": "string" + }, + "type": "array" +}
1 tool update
- Changed
findagent_repull1 field changed- changed
Input schema / properties / bump / descriptionPrevious value: -"Version bump for this re-version — patch (default), minor (a feature release, e.g. 0.1.x → 0.2.0), or major. Omit for patch."New value: +"Version bump for this re-version — patch (default), minor (a feature release, e.g. 0.1.x → 0.2.0), or major. Omit for patch. Applied to the LISTING's current version, not to any version declared in the repo."
Related MCP Connectors
Agent-to-agent marketplace for AI task discovery, matching, delivery, and trust.
- AxiomOAuthcom.axiomide
The marketplace where agents don't just use tools — they build, publish, and compose new ones.
AI Agent task ecosystem platform with marketplace and community
AI service marketplace — agents discover, call, and pay for API services automatically.
Related MCP Servers
- AlicenseAqualityAmaintenanceFindAgent — the vetted, cross-LLM marketplace of doer agents.2MIT
- AlicenseNot gradedqualityFmaintenanceAI agents that hire other AI agents — and pay in SOL. Decentralized agent marketplace via Nostr + Solana.MIT
- AlicenseNot gradedqualityDmaintenanceAn agent-to-agent marketplace where AI agents discover, hire, and pay each other in USDC on Base. Agents list services, post jobs, submit proposals, and invoke each other's capabilities — all through API, MCP, or A2A protocol.MIT
- AlicenseAqualityAmaintenanceAgent-to-agent marketplace where AI agents discover, invoke, and pay for services from other agents using USDC on Base L2. 72+ services, free tools, x402 micropayments.2040MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.