iscabox
Server Details
Sport fishing in Brazil: species, spots, tides, lures and gear with today's prices (pt-BR).
- Status
- Healthy
- Uptime
- 98.6% over 40 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 12 tools
Most tools follow a clear search/get pattern for distinct resources (species, locations, equipment, rivers). However, get_species includes iscas while get_lures_for_species is the dedicated lure tool, and build_tralha also assembles baits, creating some overlap for 'what lure for fish' queries.
All tool names use snake_case with a consistent verb_noun structure (build_, get_, search_). The only non-English term 'tralha' appears consistently in build_tralha and get_creator_tralha, so predictability holds.
12 tools is well within the ideal 3–15 range and each tool covers a distinct function like search, detail retrieval, specialized recommendation, kit building, and conditions. No tool feels redundant or missing a key partner.
The surface covers core fishing questions: species, lures, locations, rivers, conditions, equipment details, creator tralhas, and full kit building. Minor gaps exist, such as no tool to search for creators by name or to list rivers without already knowing a name, but agents can work around these.
Available Tools
12 toolsbuild_tralhaMontar uma tralha completaAInspect
Monta uma tralha completa e coerente (vara, carretilha ou molinete, linha, leader, iscas, anzóis) para uma pescaria. Use quando o usuário pedir uma montagem inteira, um kit ou "o que eu preciso para pescar X", inclusive pescaria de pesqueiro com isca natural (massa, minhoca, ração): a montagem vem com a isca natural como item fixo. Respeita o orçamento em budgetBRL. Para dúvidas sobre um produto só, use search_equipment.
| Name | Required | Description | Default |
|---|---|---|---|
| prompt | Yes | Briefing em português: espécie, água, orçamento e preferências. Ex: "tralha para tucunaré em represa até R$800, prefiro carretilha". | |
| budgetBRL | No | Teto de gasto em reais dito pelo usuário (ex: 250). Obrigatório sempre que ele citou um valor. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=false and destructiveHint=false, so the description doesn't need to restate mutation semantics. It adds meaningful behavioral context beyond annotations: the rig always includes natural bait as a fixed item for pesqueiro trips, and it respects the budget in budgetBRL. It does not fully describe the output format or whether it performs web searches, but the openWorldHint=true and the 'Respeita o orçamento' line give useful practical constraints. A 4 is appropriate because it adds valuable behavioral details 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 two sentences, front-loaded with the core purpose and followed by usage contexts and exclusions. Every sentence earns its place: the first defines the output scope, the second covers when to use it, the natural-bait special case, the budget constraint, and the sibling alternative. Slightly dense, but no wasted words; a 4 is fitting.
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?
This is a moderately complex tool with a single free-text parameter, an optional budget parameter, and no output schema. The description tells the agent what kind of prompt to expect, how the budget constraints behavior, and which sibling handles single-item questions. It doesn't specify the exact return format or what happens if the budget is impossible, but for a generative assembly tool with two parameters and no output schema, the context is largely complete. A 4 is justified.
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 (prompt, budgetBRL) are documented in the schema. The description adds meaning beyond the schema by explaining what the prompt should contain (species, water, budget, preferences) with a concrete example, and by tying budgetBRL to the tool's budget-respecting behavior. This is a solid contribution, though the schema already carried the essential meaning, so it's not a 5.
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 is specific: it states the tool assembles a complete, coherent fishing rig (rod, reel, line, leader, lures, hooks) for a fishing trip, and distinguishes itself from sibling tools by explicitly covering kit requests and 'what do I need to fish X'. It uses a clear verb (Monta) and a precise resource (tralha completa), so an agent can tell it apart from single-item tools like search_equipment.
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: when the user asks for a full assembly, a kit, or 'what do I need to fish X', including pesqueiro with natural bait. It also provides an exclusion: 'Para dúvidas sobre um produto só, use search_equipment.' This directly routes the agent to the correct sibling and prevents mis-selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_creator_pageTralhas de um criadorBRead-onlyIdempotentInspect
As tralhas publicadas por um criador de conteúdo de pesca na iscabox (iscabox.com/@handle): nome, link e peixe de cada uma. Use quando o usuário perguntar pela tralha de um canal ou vídeo.
| Name | Required | Description | Default |
|---|---|---|---|
| handle | Yes | O @ do criador na iscabox, com ou sem @. Ex: "pescadordonegro". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered by structured data. The description adds the return content (nome, link e peixe) but nothing about auth, rate limits, or failure modes, so it earns only modest incremental credit.
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 compact sentences that front-load what is returned and then give the usage trigger. Nothing is padded, though the parenthetical URL/format is slightly redundant with the schema's own handle description.
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?
There is no output schema, and the description compensates by naming the returned fields (nome, link, peixe), which is helpful. What is missing is disambiguation from the very similar 'get_creator_tralha' sibling, which is essential context for correct tool selection here.
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 there is a single required 'handle' parameter whose format ('com ou sem @') is already documented in the schema. The 'iscabox.com/@handle' in the description merely restates the handle concept, adding no syntax or constraint 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?
The description states a specific resource (as tralhas publicadas por um criador de conteúdo de pesca na iscabox) and even enumerates the returned fields (nome, link e peixe), so the agent knows what this returns. The gap is sibling differentiation: 'get_creator_tralha' is a near-identical sibling and the description never clarifies how these two differ, leaving the agent to guess.
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 supplies a trigger condition ('Use quando o usuário perguntar pela tralha de um canal ou vídeo'), which is real usage guidance. However, it offers no when-not guidance and no routing to alternatives, which is a notable omission given the presence of the confusingly similar 'get_creator_tralha' and 'build_tralha' siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_creator_tralhaTralha de um criadorARead-onlyIdempotentInspect
Uma tralha de um criador: o equipamento que ele usou no vídeo, com a versão de cada item e o menor preço de hoje. Entregue ao usuário o url da tralha: comprando por ele, o criador recebe parte da comissão. storyImageUrl é uma imagem 1080x1920 (JPEG) da tralha, pronta para postar como story.
| Name | Required | Description | Default |
|---|---|---|---|
| handle | Yes | O @ do criador na iscabox. | |
| tralha | Yes | O slug da tralha (de get_creator_page). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnly, idempotent, non-destructive behavior, so the bar is lower. The description adds real output context beyond annotations: the returned `url` earns the creator commission, and `storyImageUrl` is a 1080x1920 JPEG ready to post as a story.
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 with zero filler. It front-loads what the tool returns, then the actionable instruction (deliver the url), then a note on the image asset, each earning 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?
With no output schema, the description carries the burden of explaining returns and does so: the url, the commission mechanic, and storyImageUrl format. It is nearly complete, only lacking any note on error cases or what happens if the tralha slug is invalid.
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 parameters (handle as the creator's @ on iscabox, tralha as the slug from get_creator_page) are already documented in the schema. 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+resource: retrieves a creator's 'tralha' (the gear kit used in a video), and details what it contains (each item's version and today's lowest price). This distinguishes it from generic equipment searches, though it does not explicitly contrast with the sibling build_tralha.
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 implied through chaining: the tralha param is noted as coming from get_creator_page, and the description instructs delivering the `url` to the user. However, there is no explicit when-to-use/when-not guidance or direct comparison against alternatives like build_tralha or get_equipment_details.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_equipment_detailsDetalhes e preço de um equipamentoRead-onlyIdempotentInspect
Detalhes completos de um equipamento: especificações, prós e contras, preço ao vivo. Use depois de search_equipment quando o usuário quiser saber mais sobre um produto específico.
| Name | Required | Description | Default |
|---|---|---|---|
| productPath | Yes | O productPath retornado por search_equipment (aceita também a URL da página do produto). |
get_fishing_conditionsMarés, lua e solunar de hojeARead-onlyIdempotentInspect
Condições de pesca de um dia: tábua de marés, fase da lua, melhores janelas de horário, temperatura da água e tempo. Use quando o usuário perguntar sobre maré, lua, melhor horário para pescar, ou se o dia está bom. Hoje por padrão; passe date para amanhã, um dia da semana ou uma data, e range para a semana ou o mês inteiro. Maré só existe para portos do litoral; para água doce a ferramenta devolve a fase da lua e as janelas de horário do dia (bestWindows).
| Name | Required | Description | Default |
|---|---|---|---|
| lat | No | Latitude em graus decimais do ponto citado, se você souber. Ex: -26.24. | |
| lng | No | Longitude em graus decimais. Ex: -48.63. | |
| date | No | O dia perguntado: "hoje", "amanhã", um dia da semana ("domingo") ou uma data ("2026-09-13", "13/09"). Omita para hoje. | |
| query | No | Cidade ou porto que o usuário citou. Ex: "São Francisco do Sul", "Guarapari". | |
| range | No | Quanto tempo o usuário quer: "dia" (padrão), "semana" (7 dias) ou "mes" (o mês inteiro publicado). Use "mes" quando ele pedir "tábua completa", "mês completo", "a tábua do mês" ou uma programação de viagem. | |
| water | No | 'doce' quando o ponto é rio, lago, represa, açude ou pesqueiro: a resposta sai sem maré. | |
| portSlug | No | Slug do porto coberto pela iscabox. Se a cidade que o usuário citou é um destes portos (ou é atendida por um deles), passe o slug direto — é mais confiável que a busca por texto. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, idempotent, non-destructive behavior, and the description adds substantial behavioral context beyond that: default date handling, range semantics, the fact that tides only exist for coastal ports, and that freshwater requests return only moon phase and bestWindows. This is exactly the kind of runtime behavior an agent needs to know.
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 tool's output first, then usage triggers, then parameter defaults, then the important freshwater caveat. Every sentence carries useful information with 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 read-only tool with 7 optional parameters and no output schema, the description covers the main invocation scenarios, date/range semantics, and the freshwater exception. The main gap is the absence of the exact return structure, though the description does enumerate key returned data fields (tide table, moon phase, windows, water temperature, weather).
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 7 parameters. The description adds extra meaning by explaining date/range behavior and the freshwater fallback ('para água doce a ferramenta devolve a fase da lua e as janelas de horário do dia (bestWindows)'), which goes beyond the schema's parameter-level details.
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 concrete resource and payload: 'Condições de pesca de um dia: tábua de marés, fase da lua, melhores janelas de horário, temperatura da água e tempo.' It also ties the tool to specific user intents (maré, lua, melhor horário para pescar, se o dia está bom), making it easy to distinguish from sibling tools that cover species, locations, equipment, and techniques.
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 trigger conditions ('Use quando o usuário perguntar sobre maré, lua, melhor horário para pescar, ou se o dia está bom') and explains date/range usage ('Hoje por padrão; passe date para amanhã... e range para a semana ou o mês inteiro'). It does not name an alternative tool or give an explicit 'when not to use', but it does describe the coastal vs freshwater boundary clearly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_locationGuia de um local de pescaARead-onlyIdempotentInspect
Detalhes de um local de pesca: como chegar, melhores pontos, espécies, iscas e técnicas que funcionam ali.
| Name | Required | Description | Default |
|---|---|---|---|
| locationPath | Yes | O locationPath exato retornado por search_locations. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, covering the safety profile. The description adds value beyond those by specifying the guide's content categories (how to get there, best points, species, baits, techniques), giving the agent a concrete picture of the returned information. 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?
A single, information-dense sentence that front-loads the primary purpose ('Detalhes de um local de pesca') and then enumerates the deliverable content. No filler or 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 one-parameter read-only tool with rich annotations, the description sufficiently explains what the guide contains. Since there is no output schema, the listed content areas provide the necessary expectations, though it could have mentioned the overall return structure.
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%, with the locationPath property already explained as the exact path from search_locations. The description adds no additional parameter semantics, so the 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 returns details for a fishing spot, listing specific content areas (access, best spots, species, baits, techniques). This distinguishes it from sibling tools like search_locations, get_species, and get_technique by its focus on a single location's guide.
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 parameter description adds usage guidance by stating locationPath must be the exact value returned by search_locations, implying search_locations should be called first. It does not explicitly discuss alternatives or exclusions, but the context is clear enough for an agent to know when to use this getter.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_lures_for_speciesIscas recomendadas por espécieARead-onlyIdempotentInspect
As iscas certas para um peixe específico, com o motivo de cada uma: a lista curada da página "melhores iscas artificiais para X" da iscabox e, para peixes sem essa página, as iscas (artificiais e naturais) que o guia da espécie recomenda. Use SEMPRE que a pergunta for "que isca para ", em vez de search_equipment: o catálogo de iscas não sabe para que peixe cada isca serve. Aceita nome de família ("robalo" cobre peva e flecha). Retorna preços ao vivo.
| Name | Required | Description | Default |
|---|---|---|---|
| species | Yes | Nome ou slug do peixe. Ex: "robalo", "tucunaré", "tilapia". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, and non-destructive behavior. The description adds meaningful context: the data source, the fallback from curated lists to species guide recommendations, acceptance of family names, and that live prices are returned. This goes beyond the annotations 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?
The description is compact but information-dense, front-loaded with what the tool does and followed by clear usage guidance. Every sentence contributes: purpose, source/fallback behavior, when to use over the sibling, family-name handling, and output 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 simple one-parameter lookup tool with annotations covering safety and idempotency, the description is complete. It explains what is returned, where the data comes from, how to route the query, and what edge cases are handled, leaving no significant gap for the agent.
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 describes the species parameter with examples. The description adds extra semantic value by explaining that family names are accepted and that 'robalo' covers 'peva' and 'flecha', which is not present in 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 states that the tool returns the right lures for a specific fish, with the reason for each lure, and explicitly contrasts it with search_equipment. This gives a clear verb, resource, and enough detail to 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 explicitly instructs to use this tool whenever the question is 'what lure for <fish>' and says to use it instead of search_equipment, with a reason why. It also covers family-name handling, so an agent knows when a broader query is acceptable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_riverPor onde um rio passaARead-onlyIdempotentInspect
Traçado de um rio que a iscabox mapeou: os municípios que ele atravessa, na ordem da nascente à foz, com o trecho em km de cada um, e os locais de pesca do acervo ao longo dele. Use quando o usuário perguntar por onde um rio passa, que cidades ficam nele, ou onde pescar ao longo de um rio.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Nome do rio como o usuário escreveu. Ex: "rio taquari". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish that the call is read-only and idempotent. The description adds useful behavioral detail beyond that: results are ordered from nascente to foz, include per-municipality km stretches, and include fishing locations from the collection.
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 compact sentences: the first front-loads what the tool returns, the second states exactly when to invoke it. No filler or repetition of the schema.
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 lookup with no output schema, the description covers the essential return content and the triggering user intents. An agent has enough context to select and call 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?
The only parameter, name, is fully described in the schema with an example ('rio taquari'). The description adds no additional parameter semantics, 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 clearly identifies the resource (a mapped river) and the specific output: municipalities in source-to-mouth order, km segments, and fishing spots. It does not explicitly contrast with sibling tools like get_location or search_locations, but the river-route focus is distinctive enough to set it apart.
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 trigger conditions: 'Use quando o usuário perguntar por onde um rio passa, que cidades ficam nele, ou onde pescar ao longo de um rio.' It does not mention when not to use it or name an alternative tool, 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.
get_speciesGuia de uma espécieARead-onlyIdempotentInspect
Detalhes de uma espécie: habitat, dieta, técnicas que funcionam, iscas, melhor época do ano (seasonalCalendar) e regiões onde pescar. Use antes de recomendar equipamento ou local para um peixe específico, e para "melhor época / quando pescar X".
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | O slug retornado por search_species. Ex: "tucunare". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is fully covered. The description adds that it returns seasonalCalendar and regions, which is useful context beyond the annotations, but doesn't detail any other behavioral quirks (e.g., whether it returns null if the slug is unknown). 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 short and front-loaded: it opens with an explicit noun-phrase definition of what the tool returns, then lists the content categories, then gives precise usage guidance. Every sentence earns its place and there is no repetition of schema 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 single-parameter read-only lookup with no output schema, the description covers what the tool does, when to use it, and what data it returns (habitat, diet, techniques, baits, seasonal calendar, regions). It's slightly lacking an explicit statement of what happens if the slug doesn't match, but that's minor; the tool is otherwise fully usable from the description alone.
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 already fully documented in the schema. The description reinforces that the slug comes from search_species and gives an example ('tucunare'), which adds a small practical hint beyond the schema, but the schema covers the essential meaning. 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 clearly states a specific verb ('Detalhes de uma espécie') and enumerates the exact content covered: habitat, dieta, técnicas, iscas, seasonalCalendar, and fishing regions. It distinguishes itself from sibling tools by focusing on species-level biological/fishing context rather than equipment, locations, or techniques.
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: before recommending equipment or location for a specific fish, and for questions about best season / when to fish X. This gives an agent clear routing criteria and implies when not to use it, since equipment/location-specific tools exist as siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_equipmentBuscar equipamentos de pescaRead-onlyIdempotentInspect
Busca equipamentos de pesca no catálogo da iscabox (varas, carretilhas, molinetes, linhas, iscas, anzóis, acessórios). Use sempre que o usuário pedir recomendação de produto, comparação ou faixa de preço. Retorna preços ao vivo.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Quantos resultados (1-8, padrão 5). | |
| query | No | Termos livres: marca, modelo ou tipo. Ex: "carretilha perfil baixo", "shimano". | |
| category | No | Categoria exata. Uma de: acessorios, anzois, barcos-e-caiaques, boias, carretilhas, chumbadas, iscas-artificiais, linhas, molinetes, motores, pesca-submarina, roupas, varas. | |
| technique | No | Estilo de pesca: limita aos equipamentos que servem para ele e devolve o guia da técnica. Combina com category (ex.: technique "praia" + category "molinetes"). | |
| maxPriceBRL | No | Preço máximo em reais. | |
| minPriceBRL | No | Preço mínimo em reais. | |
| sortByPrice | No | 'asc' para o mais barato primeiro. Use quando o usuário pedir "a mais barata". | |
| subcategory | No | Subcategoria exata, se souber. Em varas: casting (vara para carretilha), spinning (vara para molinete), vara-de-mao, fly, praia, telescopicas. | |
| targetPriceBRL | No | Faixa de preço em que a conversa está: o orçamento dito pelo usuário ou o preço dos itens já discutidos. Aproxima os resultados dessa faixa sem excluir nada. |
search_locationsBuscar locais de pescaARead-onlyIdempotentInspect
Busca locais de pesca no acervo da iscabox — rios, represas, praias, pesqueiros. Filtre por estado, espécie ou tipo de água. Use quando o usuário perguntar onde pescar. Se o usuário citar uma cidade, passe lat e lng dela: locais próximos entram na resposta mesmo quando a cidade em si não tem página. Use kind para separar pesque-pague de água livre.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | No | Latitude, em graus decimais, da cidade ou ponto que o usuário citou. Preencha com o que você sabe da geografia brasileira. Ex: Marau (RS) é -28.45. | |
| lng | No | Longitude do mesmo ponto. Ex: Marau (RS) é -52.20. | |
| kind | No | Tipo de local. "pesqueiro" = pesque-pague; "natural" = rio, represa, lagoa, praia. Passe "natural" quando o usuário não quer pesque-pague. | |
| limit | No | Quantos resultados (1-8, padrão 5). | |
| query | No | Nome do local, cidade, região ou espécie. | |
| state | No | Nome ou slug do estado. Ex: "sao-paulo", "Mato Grosso". | |
| water | No | Tipo de água. Use "estuarine" para estuários e "pelagic" para pesca em alto-mar / oceânica / mar aberto. | |
| anchor | No | Lugar citado antes na conversa, quando a mensagem atual não cita nenhum ("quero locais na beira do lago" depois de falar de Fortaleza): a busca fica ancorada nele. | |
| exclude | No | locationPath dos locais já mostrados, para não repeti-los. | |
| radiusKm | No | Distância máxima em km quando o usuário pede para ampliar ("até 1 hora e meia", "uns 100 km"). Dentro do raio, os melhores locais vêm primeiro, não os mais perto. | |
| speciesSlug | No | Slug de espécie (de search_species) para achar onde pescá-la. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, and non-destructive behavior, and the prose adds genuinely useful semantics: cities without their own page still return nearby locations when lat/lng are passed, and kind changes which sub-collection is searched. There is no contradiction with 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?
Five short sentences with no filler: purpose, filters, trigger, proximity rule, and kind rule. The most important decision rule appears early, and 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 read-only search with 11 optional parameters and no output schema, the prose plus detailed parameter descriptions cover the main decisions. It is not a 5 only because it never explicitly routes to nearby siblings like get_location or get_river.
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 11 parameters; the baseline is 3. The description adds cross-parameter meaning by tying lat/lng to the city-proximity fallback and tying kind to the pesque-pague vs. natural-water split, which the individual enums do not fully 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?
The description opens with a specific action and resource: 'Busca locais de pesca no acervo da iscabox', and it enumerates the kinds of places (rios, represas, praias, pesqueiros). This makes it immediately clear this is a place-search tool and distinguishes it from the sibling species, equipment, and technique searches.
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 an explicit trigger ('Use quando o usuário perguntar onde pescar') and concrete conditional rules: supply lat/lng when a city is mentioned, and use kind to separate pesque-pague from open water. It stops short of naming alternatives or stating when not to use it, so it does not earn a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_speciesBuscar espécies de peixeARead-onlyIdempotentInspect
Busca espécies de peixes no acervo da iscabox pelo nome popular ou científico. Use quando o usuário mencionar um peixe para confirmar qual espécie é antes de responder.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Quantos resultados (1-8, padrão 5). | |
| query | No | Nome do peixe. Ex: "tucunaré", "robalo". | |
| water | No | Filtra por tipo de água. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds context that the search is a confirmation step, but it does not disclose additional behavior like return format, pagination, or matching behavior. The added value is modest but not absent.
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 function is stated first, followed by a clear usage directive. Every sentence earns its place and the structure is easy to scan.
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 search tool with all parameters documented, no output schema, and annotations covering safety, the description is largely complete. It states what is searched, the search criteria, and when to use it. The only notable gap is the lack of differentiation from the 'get_species' sibling, but this is not critical for basic 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 the schema fully documents all three parameters. The description adds minor semantic context by indicating the query can be a popular or scientific name, but this largely overlaps with the schema's description of 'query'. No additional meaning is provided for 'limit' or 'water'.
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 'Busca' (searches) and the resource 'espécies de peixes no acervo da iscabox', specifying it searches by popular or scientific name. However, it does not distinguish itself from the sibling tool 'get_species', so the differentiation between them is unclear.
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 says to use this tool when the user mentions a fish to confirm which species before responding. This provides clear context for when to invoke it, but it does not explicitly state when not to use it or mention alternatives such as 'get_species'.
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.
4 tool updates
- Changed
get_equipment_details1 field changed- changed
Input schema / properties / productPath / descriptionPrevious value: -"O productPath exato retornado por search_equipment."New value: +"O productPath retornado por search_equipment (aceita também a URL da página do produto)."
- Removed
get_technique - Changed
search_equipment1 field changed- added
Input schema / properties / techniqueAdded value: +{ + "description": "Estilo de pesca: limita aos equipamentos que servem para ele e devolve o guia da técnica. Combina com category (ex.: technique \"praia\" + category \"molinetes\").", + "enum": [ + "ultralight", + "arremesso-carretilha", + "superficie", + "meia-agua", + "iscas-de-silicone", + "pesqueiro", + "praia", + "embarcada-mar", + "jigging", + "fly", + "caiaque", + "pesca-submarina" + ], + "type": "string" +}
- Removed
search_techniques
3 tool updates
- Added
get_creator_page - Added
get_creator_tralha - Changed
search_equipment1 field changed- changed
Input schema / properties / subcategory / descriptionPrevious value: -"Subcategoria exata, se souber."New value: +"Subcategoria exata, se souber. Em varas: casting (vara para carretilha), spinning (vara para molinete), vara-de-mao, fly, praia, telescopicas."
2 tool updates
- Changed
search_equipment1 field changed- changed
Input schema / properties / category / descriptionPrevious value: -"Categoria exata. Uma de: acessorios, anzois, barcos-e-caiaques, boias, carretilhas, chumbadas, iscas-artificiais, linhas, molinetes, motores, roupas, varas."New value: +"Categoria exata. Uma de: acessorios, anzois, barcos-e-caiaques, boias, carretilhas, chumbadas, iscas-artificiais, linhas, molinetes, motores, pesca-submarina, roupas, varas."
- Changed
search_locations2 fields changed- added
Input schema / properties / excludeAdded value: +{ + "description": "locationPath dos locais já mostrados, para não repeti-los.", + "items": { + "type": "string" + }, + "type": "array" +} - added
Input schema / properties / radiusKmAdded value: +{ + "description": "Distância máxima em km quando o usuário pede para ampliar (\"até 1 hora e meia\", \"uns 100 km\"). Dentro do raio, os melhores locais vêm primeiro, não os mais perto.", + "type": "number" +}
2 tool updates
- Changed
get_fishing_conditions1 field changed- added
Input schema / properties / waterAdded value: +{ + "description": "'doce' quando o ponto é rio, lago, represa, açude ou pesqueiro: a resposta sai sem maré.", + "type": "string" +}
- Changed
search_equipment1 field changed- added
Input schema / properties / sortByPriceAdded value: +{ + "description": "'asc' para o mais barato primeiro. Use quando o usuário pedir \"a mais barata\".", + "type": "string" +}
1 tool update
- Changed
search_locations1 field changed- added
Input schema / properties / anchorAdded value: +{ + "description": "Lugar citado antes na conversa, quando a mensagem atual não cita nenhum (\"quero locais na beira do lago\" depois de falar de Fortaleza): a busca fica ancorada nele.", + "type": "string" +}
1 tool update
- Changed
get_fishing_conditions1 field changed- added
Input schema / properties / rangeAdded value: +{ + "description": "Quanto tempo o usuário quer: \"dia\" (padrão), \"semana\" (7 dias) ou \"mes\" (o mês inteiro publicado). Use \"mes\" quando ele pedir \"tábua completa\", \"mês completo\", \"a tábua do mês\" ou uma programação de viagem.", + "enum": [ + "dia", + "semana", + "mes" + ], + "type": "string" +}
1 tool update
- Changed
get_fishing_conditions1 field changed- added
Input schema / properties / dateAdded value: +{ + "description": "O dia perguntado: \"hoje\", \"amanhã\", um dia da semana (\"domingo\") ou uma data (\"2026-09-13\", \"13/09\"). Omita para hoje.", + "type": "string" +}
12 tool updates
- First observed
build_tralha - First observed
get_equipment_details - First observed
get_fishing_conditions - First observed
get_location - First observed
get_lures_for_species - First observed
get_river - First observed
get_species - First observed
get_technique - First observed
search_equipment - First observed
search_locations - First observed
search_species - First observed
search_techniques
Related MCP Connectors
Brazilian deals: search active promos, coupons and price history from Brazilian online stores.
PC hardware decision engine for Brazil (pt-BR): compatibility, GPU recommendations, build analysis.
Brazilian case law: 1.1M+ decisions from 17 courts, with citable links to official sources.
Search 1.8M+ live Brazilian used-car and motorcycle listings, with FIPE reference prices.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables searching vehicle listings on Brazil's largest automotive marketplace, with full ad details (specs, photos, seller) and average market price for a model.MIT
- AlicenseNot gradedqualityDmaintenanceProvides vehicle reference prices in Brazil (Tabela FIPE) for cars, motorcycles, and trucks, enabling navigation by brand/model/year, historical price queries, depreciation curves, and fuzzy model search.MIT
- AlicenseAqualityDmaintenanceMCP server for Brazilian marketplace product search across Mercado Livre, Shopee, and AliExpress, with automatic x402 micropayments.451 npmMIT
- FlicenseAqualityDmaintenanceEnables querying Brazilian electoral data through TSE's official API. Supports candidate searches, election information, and campaign finance records for municipalities and states.72-
Glama MCP Gateway
Add one secure layer between your agents and this server.