Codex Pets Registry
Server Details
Search, preview, install community Codex pet packs, and discover the pet request flow.
- Status
- Healthy
- Uptime
- 98.2% over 73 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 9 tools
Most tools have crisply distinct purposes, and the descriptions actively cross-reference alternatives ("Do not use for X; use Y instead"), which strongly aids selection. The weak spot is the cluster of five slug-based tools (get_pet, get_badge_code, get_card_code, get_embed_code, get_install_instructions) that take identical input and differ only by output artifact, so an agent must parse descriptions carefully to pick correctly.
All nine tools follow a strict verb_noun snake_case pattern (generate_pet, get_pet, get_pet_generation, search_pets, etc.). No camelCase or style mixing, and the get_* family forms a clearly readable hierarchy.
Nine tools is well within a comfortable range and each maps to a discrete job: discovery, detail, three share-artifact formats, install, generation start, generation poll, and manual-request info. Nothing appears redundant enough to remove.
Core read paths and the paid generation lifecycle are covered, but the generation workflow has explicit dead ends: accepting an animationRevision, editing metadata, submitting to moderation, and downloading the ZIP are all delegated to a private web preview rather than exposed as tools, and there is no way to list or manage one's own tasks. Agents can work around this by directing users to the preview, but the surface is not self-sufficient.
Available Tools
9 toolsgenerate_petGenerate an animated petAIdempotentInspect
Use only when the user requests a new animated pet from a text brief. Starts one server-paid pet generation task (twelve image stages, each with at most one delayed retry after a retryable provider failure, plus one text/vision request for an editable name, description and tags). Supply a fresh random UUID requestId; reuse it unchanged when retrying the same request. Limits: 200 accepted tasks/day globally, 10/IP by default, Moscow time. Admin IP allowances can add attempts until midnight; the global cap and budget still apply. Returns a task ID; poll get_pet_generation. The result is unlisted and expires after 24 hours. Do not use to publish a pet, edit an image, or create a manual administrator request. Experimental generation: animations and gaze directions may contain visual errors or look too similar. Review the preview before submitting your pet to moderation. Accepted tasks count toward the limit even if the result is unsuitable. A failed image stage may be retried once after a delay, which can incur an additional provider charge.
| Name | Required | Description | Default |
|---|---|---|---|
| prompt | Yes | ||
| requestId | Yes | ||
| displayName | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the mutation/idempotent/open-world profile, but the description adds far more: server-paid generation with up to 13 provider calls, retry-with-delay semantics that can incur extra charges, 200 tasks/day global and 10/IP rate limits in Moscow time, admin allowance extensions, unlisted results expiring after 24 hours, and an experimental-quality caveat. This is exactly the cost and side-effect context an agent needs before a write with no undo.
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 usage, limits, return handling, exclusions and caveats, and each sentence carries operational weight. It is dense and runs long, but almost nothing is filler except the slightly redundant restatement of the retry cost in the final sentence.
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 no output schema and no annotations describing return behavior, the description supplies the return contract (task ID), the follow-up tool to poll, and result lifetime (24h, unlisted). Combined with the rate limits and failure semantics, it is complete enough to invoke and manage the call 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 0%, so the description must carry all three parameters. It handles requestId well (fresh random UUID, reuse unchanged on retry) and implies prompt via 'text brief', but displayName (max 80 chars) is never mentioned, leaving a required-adjacent field unexplained. Partial compensation only.
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 (generate a new animated pet from a text brief) and explicitly separates itself from siblings with 'Do not use to publish a pet, edit an image, or create a manual administrator request.' An agent can distinguish it from get_pet_generation, get_pet, and search_pets 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 only when the user requests a new animated pet from a text brief'), names two sibling tools (get_pet_generation for polling, get_pet_request_info implied), and lists concrete exclusions. The when-to-use/when-not split is fully spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_badge_codeGet README badge codeARead-onlyIdempotentInspect
Use for a known approved pet slug when the user needs README badge Markdown, HTML, or SVG URL. Do not use for animated README cards, website iframe embeds, install instructions, or pet discovery; use get_card_code, get_embed_code, get_install_instructions, or search_pets instead.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Exact slug of an approved public Codex pet. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only, idempotent, non-destructive behavior. Description adds that output includes Markdown, HTML, or SVG URL, which are behavioral details not covered by annotations. Could mention more about prerequisites or error handling, but sufficient given 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?
Two sentences, front-loaded with purpose, second sentence providing exclusions and alternatives. 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?
For a simple one-parameter tool with no output schema, the description covers what it returns, constraints (approved pet slug), and when to avoid. Complete given the tool's simplicity and rich annotations.
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 parameter 'slug' is fully documented. The description reinforces that it must be an exact slug of an approved pet but adds no new semantic 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?
The description clearly states the tool's purpose: generating README badge Markdown, HTML, or SVG URL for a known approved pet slug. It distinguishes from siblings by explicitly naming alternatives for other use cases.
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 provides when to use (known approved pet slug, need badge code) and when not to use (animated cards, iframe embeds, install instructions, pet discovery), listing specific alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_card_codeGet animated README card codeARead-onlyIdempotentInspect
Use for a known approved pet slug when the user needs animated README card Markdown, HTML, or GIF URL. Do not use for simple badges, website iframe embeds, install instructions, or pet discovery; use get_badge_code, get_embed_code, get_install_instructions, or search_pets instead.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Exact slug of an approved public Codex pet. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate safe, read-only, idempotent behavior. The description adds context that the input must be an 'approved' pet slug and that the output includes Markdown, HTML, or GIF URL, which is useful 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?
Two concise sentences, front-loaded with the core purpose and conditional usage. 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 simple tool (one parameter, rich annotations, no output schema), the description sufficiently covers input and output types. It could mention the exact format of the returned code but is complete enough for selection and 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 parameter 'slug' is well-described in the schema. The description reinforces the requirement ('known approved pet slug') but does not add significant new meaning 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 clearly states the tool's purpose: retrieving animated README card code (Markdown, HTML, or GIF URL) for a known approved pet slug. It distinguishes itself from siblings by listing specific alternative tools for other use cases.
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 guidance on when to use (for a known approved pet slug needing animated README card code) and when not to use (badges, embeds, install instructions, pet discovery), with named alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_embed_codeGet website embed codeARead-onlyIdempotentInspect
Use for a known approved pet slug when the user needs website iframe embed HTML or an embed URL. Do not use for README badges/cards, install instructions, or pet discovery; use get_badge_code, get_card_code, get_install_instructions, or search_pets instead.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Exact slug of an approved public Codex pet. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description mentions 'approved public Codex pet' which adds context about authorization, but does not disclose additional behavioral traits beyond the 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?
Two sentences with no waste. The key information is front-loaded and every sentence earns its place, providing purpose and exclusions efficiently.
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 tool with one parameter, good annotations, and no output schema, the description covers when to use, what it returns, and what not to use it for. No gaps given the tool's 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% for the single required 'slug' parameter, which has a description. The description does not add extra semantic meaning beyond what the 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?
Description clearly states the tool retrieves website embed HTML or URL for a known approved pet slug. It uses specific verbs ('get website iframe embed HTML or an embed URL') and distinguishes from sibling tools like get_badge_code.
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 (known approved pet slug, needs embed) and when not to use (README badges/cards, install instructions, pet discovery) with named alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_install_instructionsGet install instructionsARead-onlyIdempotentInspect
Use for a known approved pet slug when the user wants CLI or manual install instructions. Do not use to search for pets or inspect general metadata; use search_pets or get_pet instead. This tool is read-only and does not increment install or download counters.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Exact slug of an approved public Codex pet. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint, destructiveHint, and idempotentHint. The description adds useful context that it does not increment install/download counters, going beyond 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?
Two sentences, no redundant information, front-loaded with the primary purpose, and each sentence 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?
For a simple tool with one parameter, good schema, and clear description that covers purpose, usage boundaries, and behavioral traits, it is fully complete.
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 clear description of the 'slug' parameter. The description does not add new details about the parameter, so baseline score 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 clearly states the tool provides CLI or manual install instructions for a known approved pet slug, and distinguishes from sibling tools search_pets and get_pet by stating what it should not be used for.
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 (user wants install instructions for approved pet slug) and when not to use (search/inspect metadata), with named alternative tools (search_pets, get_pet).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_petGet Codex petARead-onlyIdempotentInspect
Use when you already have an exact approved pet slug and need the sanitized public pet card, asset URLs, page URL, and install command for that one pet. Use search_pets first when you only have a name/query or need multiple results. Do not use for focused install, badge, embed, card, or request workflow details; use the matching get_* tool instead.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Exact slug of an approved public Codex pet. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds the return types (sanitized card, asset URLs, page URL, install command), providing useful behavioral context beyond 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?
Two sentences, front-loaded with purpose and usage condition. No wasted words; every sentence 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?
With one required parameter, rich annotations, and clear return behavior described, the description is fully sufficient for an agent to select and invoke the 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?
Only one parameter (slug) with 100% schema coverage. Description confirms it expects an exact approved pet slug, adding no new syntax or constraints beyond the schema. Baseline of 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 clearly states the tool retrieves a specific pet's public card, assets, page URL, and install command using an exact approved slug. It distinguishes itself from sibling tools like search_pets by specifying the exact slug requirement.
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 to use when you have an exact slug and need pet details; advises to use search_pets first for name/query or multiple results. Also warns against using for other specific get_* tools, providing clear alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_pet_generationGet pet generation status and filesARead-onlyIdempotentInspect
Use to read your generation task by its private generationId. Completed results include a preview, name/description/tags in metadata, and pet.json and spritesheet. An animationRevision without acceptedAt must be explicitly accepted on its private preview before ZIP download, metadata editing or gallery submission. Other completed results include the ZIP. Website jobs may return awaiting_confirmation: open their private preview for the user to confirm the character. Edit metadata on the private preview before submitting for moderation; this read tool never confirms, edits or starts a paid retry. Failed results include error.code, message, hint and automaticRetry=false: stop polling and explain the failure. Do not use to list other tasks, publish results, or start another paid generation; use generate_pet only for a new user-requested task.
| Name | Required | Description | Default |
|---|---|---|---|
| generationId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare the safe-read profile; the description adds substantial behavior beyond that — this tool "never confirms, edits or starts a paid retry," failed results carry error.code/message/hint with automaticRetry=false, and unaccepted animationRevision gates ZIP download, metadata editing and gallery submission. That is exactly the operational context an agent needs before deciding its next 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 purpose and the read-only/never-mutates constraint, and nearly every sentence carries actionable state information. It is dense but slightly sprawling — the completed-result enumeration ("preview, name/description/tags" then "pet.json and spritesheet" then "other completed results include the ZIP") is fragmented and 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?
With no output schema and a single required param, the description fully covers return shapes across states: completed assets, metadata, ZIP, awaiting_confirmation jobs, and structured error fields. An agent can act on the response without any additional documentation.
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 0%, so the description must carry the parameter meaning; it only contributes that the generationId is "private" and scopes it to "your" task. It never mentions the 64-character hex format enforced by the pattern, nor what happens with an invalid or foreign ID, leaving a real gap.
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+key: "read your generation task by its private generationId." It is immediately distinguishable from siblings (generate_pet for new tasks, search_pets for listing, get_pet for the pet entity), so an agent can route correctly 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 states when not to use it ("Do not use to list other tasks, publish results, or start another paid generation") and names the alternative (generate_pet for new user-requested tasks). It also supplies state-specific guidance: stop polling on failure, open the private preview for awaiting_confirmation jobs, and accept animationRevision before download/edit/submit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_pet_request_infoGet pet request infoARead-onlyIdempotentInspect
Use when the user wants to request a new Codex pet or understand the public request form fields and reference image limits. Do not use to create, submit, update, or inspect private generation requests; these manual workflows are separate from generate_pet and get_pet_generation. Use search_pets or get_pet for existing approved pets.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and not-open-world, so the safety profile is fully covered. The description adds useful context that this concerns the 'public' form and that manual request workflows are separate from automated generation, but it says nothing about the returned content, since there is no output schema.
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 sentences, all load-bearing: purpose, exclusion with named alternatives, and positive routing to sibling read tools. Front-loaded and waste-free.
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, no-output-schema info tool, the description supplies enough to select and call it correctly, and annotations carry the safety profile. The only minor gap is that it does not enumerate the actual form fields or limit values, though that is reasonably left to the tool's 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 tool takes zero parameters (empty object schema, 100% coverage), so there is nothing for the description to disambiguate. Baseline 4 applies for a parameterless 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 conveys the resource (pet request form fields and reference image limits) and its nature as a read-only info lookup, distinguishing it from generate_pet, get_pet_generation, search_pets, and get_pet. It is phrased obliquely through 'Use when the user wants...' rather than a direct declarative statement of what the tool returns, so it is clear but not maximally crisp.
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 ('request a new Codex pet or understand the public request form fields'), when-not-to-use ('Do not use to create, submit, update, or inspect private generation requests'), and named alternatives (generate_pet, get_pet_generation, search_pets, get_pet). Nothing about routing 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.
search_petsSearch Codex petsARead-onlyIdempotentInspect
Use to discover one or more approved public Codex pet packs by query, kind, tags, author, or Codex compatibility. Prefer this over get_pet when you do not already have an exact slug or need multiple candidates. Do not use for private generation requests or known-slug install/share snippets; use get_pet_request_info or a slug-specific get_* tool instead.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | Optional pet kind filter. Use all or omit the field to include every kind. | |
| tags | No | Optional tag filter as a comma-separated string or array. All provided tags must match. | |
| limit | No | Optional maximum result count. Defaults to 10 and is clamped to 1-60. | |
| query | No | Optional text matched against approved pet names, descriptions, tags, and authors. | |
| author | No | Optional author text matched against the public submitter name or verified public email. | |
| compatibleWith | No | Optional compatibility filter. Use codex for Codex-compatible pets; other values return no matches. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, idempotent, non-destructive behavior. The description adds meaningful context beyond that by clarifying the search only covers approved public packs and explicitly excludes private generation requests, which is valuable behavioral scope not encoded in 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 with the core action, followed by precise routing instructions. Every sentence earns its place with no redundancy 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?
For a search tool with fully documented optional parameters and clear sibling routing, the description covers what the tool returns, when to use it, and when to avoid it. The lack of an output schema is acceptable because the tool's purpose is to discover matching pet packs, which the description conveys.
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 six parameters are already documented. The description restates the filter dimensions (query, kind, tags, author, compatibility) but does not add new semantic detail beyond what the 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 uses a specific verb ('discover') with a clearly scoped resource ('approved public Codex pet packs') and enumerates the search dimensions. It explicitly contrasts itself with get_pet, making the tool's distinct role immediately clear.
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 when-to-use guidance: prefer when no exact slug or when multiple candidates are needed. It also states what not to use it for and names the correct alternatives, get_pet_request_info and slug-specific get_* tools.
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.
2 tool updates
- Added
generate_pet - Added
get_pet_generation
1 tool update
- Changed
search_pets1 field changed- changed
Input schema / properties / author / descriptionPrevious value: -"Optional author name text matched against the public submitter name."New value: +"Optional author text matched against the public submitter name or verified public email."
7 tool updates
- Changed
get_badge_code1 field changed- changed
Input schema / properties / slug / descriptionPrevious value: -"Approved Codex pet slug."New value: +"Exact slug of an approved public Codex pet."
- Added
get_card_code - Changed
get_embed_code1 field changed- changed
Input schema / properties / slug / descriptionPrevious value: -"Approved Codex pet slug."New value: +"Exact slug of an approved public Codex pet."
- Changed
get_install_instructions1 field changed- changed
Input schema / properties / slug / descriptionPrevious value: -"Approved Codex pet slug."New value: +"Exact slug of an approved public Codex pet."
- Changed
get_pet1 field changed- changed
Input schema / properties / slug / descriptionPrevious value: -"Approved Codex pet slug."New value: +"Exact slug of an approved public Codex pet."
- Added
get_pet_request_info - Changed
search_pets6 fields changed- added
Input schema / properties / author / descriptionAdded value: +"Optional author name text matched against the public submitter name." - added
Input schema / properties / compatibleWith / descriptionAdded value: +"Optional compatibility filter. Use codex for Codex-compatible pets; other values return no matches." - added
Input schema / properties / kind / descriptionAdded value: +"Optional pet kind filter. Use all or omit the field to include every kind." - added
Input schema / properties / limit / descriptionAdded value: +"Optional maximum result count. Defaults to 10 and is clamped to 1-60." - added
Input schema / properties / query / descriptionAdded value: +"Optional text matched against approved pet names, descriptions, tags, and authors." - added
Input schema / properties / tags / descriptionAdded value: +"Optional tag filter as a comma-separated string or array. All provided tags must match."
7 tool updates
- Changed
get_badge_code1 field changed- changed
Input schema / properties / slug / descriptionPrevious value: -"Exact slug of an approved public Codex pet."New value: +"Approved Codex pet slug."
- Removed
get_card_code - Changed
get_embed_code1 field changed- changed
Input schema / properties / slug / descriptionPrevious value: -"Exact slug of an approved public Codex pet."New value: +"Approved Codex pet slug."
- Changed
get_install_instructions1 field changed- changed
Input schema / properties / slug / descriptionPrevious value: -"Exact slug of an approved public Codex pet."New value: +"Approved Codex pet slug."
- Changed
get_pet1 field changed- changed
Input schema / properties / slug / descriptionPrevious value: -"Exact slug of an approved public Codex pet."New value: +"Approved Codex pet slug."
- Removed
get_pet_request_info - Changed
search_pets6 fields changed- removed
Input schema / properties / author / descriptionRemoved value: -"Optional author name text matched against the public submitter name." - removed
Input schema / properties / compatibleWith / descriptionRemoved value: -"Optional compatibility filter. Use codex for Codex-compatible pets; other values return no matches." - removed
Input schema / properties / kind / descriptionRemoved value: -"Optional pet kind filter. Use all or omit the field to include every kind." - removed
Input schema / properties / limit / descriptionRemoved value: -"Optional maximum result count. Defaults to 10 and is clamped to 1-60." - removed
Input schema / properties / query / descriptionRemoved value: -"Optional text matched against approved pet names, descriptions, tags, and authors." - removed
Input schema / properties / tags / descriptionRemoved value: -"Optional tag filter as a comma-separated string or array. All provided tags must match."
Related MCP Connectors
Paw to paw. Shelter pets, one question away. Ask in plain words, in any of ten languages ("Use Petnecto to find me a calm older dog near Seattle that is good with cats") and get real adoptable pets near the place you name, with photos, ages, sizes, what each rescue says about them, and exactly how to reach the rescue. Listings come from open public data that shelters and governments publish (Taiwan's national adoption listings, King County WA and Montgomery County MD in the US, Zaragoza and Vienna in Europe), credited in every answer. Adoption always happens through the rescue: Petnecto takes no payments, applications or personal details, and needs no account.
Search and fetch curated AI agent skills, prompts and MCP servers.
Find vets, emergency animal hospitals, and pet supplies via your AI assistant.
Search and get install details on MCP servers, right from your agent -- a unified marketplace index.
Related MCP Servers
AlicenseAqualityCmaintenanceEnables agents to discover, compare, and install other MCP servers using natural language tasks, backed by a searchable index of thousands of servers.6100 npmMIT- AlicenseAqualityDmaintenanceEnables AI assistants to search, discover, and get recommendations from 20,000+ skills, tools, agents, rules, and MCP servers.510 npm1MIT
- AlicenseAqualityDmaintenanceEnables Claude to search and install skills from a database of ~200k scraped Claude skills, MCP servers, and plugins.21MIT
- AlicenseAqualityBmaintenanceLets AI agents search and discover skill files from a curated catalog to fill missing capabilities, providing download URLs for free items and purchase info for paid ones.34MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.