Conta Simples
Server Details
Business finance on Conta Simples, bank and card statements, corporate cards (list/block/unblock), c
- Status
- Healthy
- Uptime
- 99.7% over 40 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- mcp-dir/contasimples-mcp
- GitHub Stars
- 0
- Server Listing
- Conta Simples MCP Server
TDQS
Scored across 24 tools
Most contasimples_* tools map cleanly to distinct resources or actions, such as balance, bill, card, statement, summary, user, and invite. A few related tools could still be confused — card vs statement_card vs bill, and authenticate vs connect — but the descriptions are generally clear enough to guide correct selection.
Reads consistently use contasimples_<resource> and writes use contasimples_<resource>_write_<action>, all in snake_case. Minor inconsistencies exist: card block/unblock are split into separate tools while other writes use a single tool, and the generic platform tools follow a different naming style.
24 tools is on the heavy side. The 16 Conta Simples resource tools are defensible for the financial domain, but the additional 8 generic platform/marketplace utilities make the set feel broader and less focused than the server's core purpose.
The read side is well covered: balances, bank and card statements, invoices, cards, categories, cost centers, suppliers, users, and invites. Write coverage, however, is sparse — only card block/unblock, invite creation, and user deletion — leaving gaps for payment actions and broader lifecycle management.
Available Tools
24 toolsauthenticateAIdempotentInspect
MCP.AI for IDE agents (Cursor, etc.): log in in the browser, copy the access token. Best: add it to this server's config as a header Authorization: Bearer <token> for a permanent, non-expiring connection. Or paste it here for a session-only login: call with { token: "" } after the user pastes, or with no args to get the link.
| Name | Required | Description | Default |
|---|---|---|---|
| token | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds useful behavior beyond the annotations: config header yields a permanent connection, while passing a token yields a session-only login, and no args returns a link. It does not fully spell out side effects or success/failure return values, but annotations already cover idempotency and non-destructiveness.
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 and front-loaded, with no fluff, but the long single sentence with parenthetical clauses and multiple alternatives could be structured into clearer separate instructions. Still, every part adds necessary 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 one-parameter auth tool with no output schema, it covers the no-arg return (the link), the token-paste path, and the persistent-config alternative. It doesn't state the response on a token success/failure, but the invocation guidance is sufficient 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?
With 0% schema coverage, the description carries the full burden for the optional `token` parameter. It explains that token is a JWT/access token pasted by the user and how to pass it, compensating well for the bare 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 identifies the tool as MCP.AI authentication for IDE agents, with a concrete browser-login + access-token flow and two invocation paths (no args for a link, token for login). This specific verb+resource is unambiguous and easily distinguished from the unrelated calculo_* sibling 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 differentiates the persistent config-header approach ('best... permanent, non-expiring') from the session-only paste/login path, and states exactly when to call with no args versus with { token }. This gives the agent clear selection criteria for both setup and invocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
connectARead-onlyIdempotentInspect
Returns connection status and URLs. When all providers are connected, returns authenticated:true and empty pending[]. When credentials are missing, returns connect_url for the toolkit and per-install URLs.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish this is read-only, idempotent, and non-destructive. The description adds useful behavioral detail beyond that by specifying the two main response states: authenticated:true with empty pending[] when all providers are connected, and connect_url plus per-install URLs when credentials are missing. This helps an agent predict what 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?
The description is compact, front-loads the core purpose, and then adds only the essential conditional details. Every sentence contributes meaningful information, and there is no waste.
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 status tool with no output schema, the description is complete enough. It tells the agent what information will be returned, what the success condition looks like, and what happens when credentials are missing. The low complexity means no additional guidance is required.
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 description does not need to explain any input semantics. The baseline of 4 applies because there is no parameter burden at all.
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: returning connection status and URLs. It distinguishes connect from its sibling authenticate by framing it as a status/read operation rather than an action, and the conditional output descriptions reinforce this.
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 clear that this is the tool to call when checking connection state or getting URLs. It does not explicitly mention alternatives like authenticate, but the context strongly implies connect is for status checking rather than initiating authentication, so usage is clear without being fully explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
contasimples_attachmentARead-onlyIdempotentInspect
Baixa anexo por ID (PNG/JPEG/PDF) — retorna content_base64, content_type, size_bytes. Aceita accounts com 1 entrada (ou omitido em install single-account).
Bulk support: accepts attachment_ids for batched execution.
| Name | Required | Description | Default |
|---|---|---|---|
| accounts | No | ||
| attachment_id | Yes | ||
| attachment_ids | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses return format (content_base64, content_type, size_bytes) and bulk execution behavior. Annotations already indicate read-only, idempotent, non-destructive, so the description adds useful context about what is returned and batch capability.
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 pack significant information, but the first sentence is in Portuguese which may cause slight confusion. Overall efficient with no fluff.
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 retrieval tool with no output schema, the description covers input parameters, return fields, and bulk support, making it self-sufficient.
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 0% schema description coverage, the description fully explains the meaning of each parameter: accounts (single entry or omit), attachment_id (single download), attachment_ids (bulk). This adds essential meaning beyond the raw 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 downloads attachments by ID, specifying supported formats (PNG/JPEG/PDF) and return fields. It differentiates from sibling tools which handle other entities like balance, bill, card, etc.
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 guidance on when to use the accounts parameter (single entry or omit for single-account installs) and describes bulk support via attachment_ids. However, it doesn't explicitly state when not to use this tool or compare to alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
contasimples_balanceARead-onlyIdempotentInspect
Saldo disponível da Conta PJ AGORA (valor instantâneo em BRL, direto da API, sem cache nem último-valor).
Retorna { amount } por conta. Use para relatórios de saldo em tempo real.
Opcional: accounts — agrega N empresas em paralelo (accounts[] + errors[]).
| Name | Required | Description | Default |
|---|---|---|---|
| accounts | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations (readOnlyHint, idempotentHint), the description adds that the value is instant, no cache, and returns {amount} per account. It also explains optional aggregation behavior, enhancing transparency.
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 very concise with three short sentences, each adding essential information: purpose, usage, and optional parameter behavior. No fluff.
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 low complexity (one optional parameter, no output schema), the description covers all needed context: real-time balance, per-account return, and optional aggregation. No missing details.
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 one optional parameter (accounts) with no description. The description explains it aggregates multiple companies in parallel and returns accounts[] and errors[], adding critical 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 it returns the available balance in real-time, specifying it's 'direto da API, sem cache nem último-valor'. It explicitly says 'Use para relatórios de saldo em tempo real', distinguishing it from sibling tools like statements or summaries.
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 says to use for real-time balance reports, providing clear context. It does not explicitly state when not to use or name alternatives, but its focus on balance makes it distinct from siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
contasimples_billARead-onlyIdempotentInspect
Faturas do cartão de crédito (valores em BRL). Sem due_date: lista as faturas (filtro status opcional), cada uma com total (totalAmount) e quanto falta pagar (amountToPay), datas de corte/vencimento e paymentStatus. Com due_date (YYYY-MM-DD): retorna os totalizadores + os itens (transações) daquela fatura.
Observação: a Conta Simples não expõe um campo de "limite disponível" do cartão via API; a fatura mostra o valor em aberto/a pagar, não o limite.
Opcional: accounts — agrega N empresas em paralelo (accounts[] + errors[]).
| Name | Required | Description | Default |
|---|---|---|---|
| status | No | ||
| accounts | No | ||
| due_date | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, destructiveHint, idempotentHint, which the description aligns with. Additionally, it discloses the aggregation behavior (accounts[] + errors[]) and the limitation about available limit, adding value 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?
The description is well-structured with line breaks and front-loads purpose. It is slightly verbose but every sentence adds value. Could be more concise by omitting explanatory notes about Conta Simples API limitations, but those add useful 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?
The description covers both modes and explains return fields (total, amountToPay, dates, paymentStatus, items). It also addresses the missing limit field explicitly. Without output schema, it gives enough information to understand the tool's output. Slightly incomplete regarding pagination or error handling.
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 0%, so the description fully explains parameters: due_date changes mode, status is optional filter, accounts enables parallel aggregation. Though status enum values are not listed, the description provides sufficient context for usage.
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 it's about credit card invoices (faturas do cartão de crédito) and distinguishes two modes: listing invoices and retrieving details with due_date. It differentiates from sibling tools like contasimples_balance and contasimples_card.
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 explains when to use each mode (without due_date for listing, with due_date for details) and mentions that it doesn't expose available limit, implying not to use for limits. However, it doesn't explicitly compare to other tools or provide exclusionary guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
contasimples_cardARead-onlyIdempotentInspect
Lista cartões corporativos (crédito).
Filtros opcionais: status (ACTIVATED|BLOCKED|CANCELLED|INACTIVATED), type (PHYSICAL|VIRTUAL), email, product_name, last4, limit, next_page_start_key.
Opcional: accounts — lista cartões de N empresas em paralelo (accounts[] + errors[]). next_page_start_key proibido quando accounts > 1; pagine por conta isoladamente.
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | ||
| No | |||
| last4 | No | ||
| limit | No | ||
| status | No | ||
| accounts | No | ||
| product_name | No | ||
| next_page_start_key | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint and idempotentHint annotations, the description discloses that the tool supports optional filtering and a multi-account parallel mode with specific pagination constraints. This adds behavioral detail about how accounts and pagination interact, which annotations do not cover.
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, with two sentences covering purpose and key usage details. It front-loads the main function and adds special behavior in the second sentence. Could be improved by structuring the filter list for 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?
Missing return value description, pagination details (beyond the restriction), and output format. With no output schema, the agent needs to know the shape of results, which is absent. Parameter semantics are also incomplete, making the tool harder to use accurately.
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 0% schema description coverage, the description only enumerates parameter names (status, type, email, etc.) without explaining their meaning or expected format. For example, 'last4' and 'limit' are not defined, leaving ambiguity about their purpose and usage.
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 it lists corporate cards (credit) with optional filters, distinguishing it from sibling tools like contasimples_card_write_block which are write operations. It specifies the resource (corporate cards) and action (list), with a comprehensive list of filters.
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 explicit context on when to use the accounts parameter for parallel queries across companies, and a critical restriction that next_page_start_key cannot be used when accounts > 1, requiring per-account pagination. While it doesn't explicitly state when not to use the tool, the read-only intent and sibling naming make it clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
contasimples_card_write_blockCInspect
Mutações em cartão: block (body reason opcional), unblock. Aceita accounts com 1 entrada (ou omitido em install single-account) — o card_id existe em apenas uma empresa.
[Flattened action: block]
Bulk support: accepts card_ids for batched execution.
| Name | Required | Description | Default |
|---|---|---|---|
| reason | No | ||
| card_id | Yes | ||
| accounts | No | ||
| card_ids | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide no safety hints beyond non-read-only. Description adds that it supports bulk execution via card_ids and that card_id exists in only one company. However, it does not disclose what blocking actually does (e.g., prevents transactions, duration) or if it's reversible.
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 but disorganized; it mixes block/unblock, a flattened action note, and bulk support without clear separation. Could be more concise and structured.
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?
As a mutation tool with 4 parameters and no output schema, the description should explain behavior, return values, and comparison to siblings. It partially covers bulk support and accounts limitation but lacks details on side effects, error conditions, or when to use block vs unblock.
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 0% schema description coverage, description partially compensates by explaining 'reason' is optional for blocking, 'accounts' accepts one entry or omitted, and 'card_ids' enables bulk. But it leaves 'accounts' purpose unclear and doesn't describe 'card_id' beyond being 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 states it performs block mutations on cards with optional reason, but it also mentions 'unblock' which is confusing given a separate sibling tool for unblock. The purpose is mostly clear but ambiguous.
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?
No explicit when-to-use or when-not-to-use guidance is given. It mentions parameter restrictions (accounts limited to one entry), but does not differentiate from sibling contasimples_card_write_unblock or other tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
contasimples_card_write_unblockCInspect
Mutações em cartão: block (body reason opcional), unblock. Aceita accounts com 1 entrada (ou omitido em install single-account) — o card_id existe em apenas uma empresa.
[Flattened action: unblock]
Bulk support: accepts card_ids for batched execution.
| Name | Required | Description | Default |
|---|---|---|---|
| reason | No | ||
| card_id | Yes | ||
| accounts | No | ||
| card_ids | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations show readOnlyHint=false and destructiveHint=false. The description adds that it is a mutation (unblock), supports bulk execution, and that card_id belongs to one company. It does not contradict annotations, but lacks details on side effects, error behavior, or whether the action is reversible. The added context is useful but not comprehensive.
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 relatively short but mixes languages (Portuguese and English) and includes tangential information about 'block'. It is not as streamlined as it could be, but it conveys essential points. A more structured, single-focus description would improve clarity.
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 has 4 parameters, no output schema, and is a mutation, the description lacks completeness: it does not describe return values, error handling, authentication requirements, or the effect of the operation in detail. It covers basic parameter semantics and bulk support but misses important behavioral and post-condition information.
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 has 0% description coverage. The description clarifies that reason is optional, card_id is required, accounts accepts at most one entry, and card_ids enables bulk. This adds meaning beyond the raw schema. However, it does not explain the exact format or constraints for each parameter, so it partially compensates.
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 'Mutações em cartão: unblock' and clarifies 'Flattened action: unblock', clearly indicating the tool unblocks a card. Although it also mentions 'block' in the same sentence, the intent is disambiguated by the tool name and the flattened action note. The purpose is specific and distinguishable from sibling tools by name.
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?
No explicit guidance on when to use this tool over alternatives like the sibling 'contasimples_card_write_block'. The description does not specify prerequisites, recommended scenarios, or when not to use it. The mention of 'accounts' and 'card_ids' implies some context but lacks clear usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
contasimples_categoryARead-onlyIdempotentInspect
Lista categorias financeiras. Aceita accounts (agrupa por conta em accounts[]).
| Name | Required | Description | Default |
|---|---|---|---|
| accounts | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint. The description adds value by explaining the grouping behavior of the accounts parameter.
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?
Extremely concise: one sentence plus a parenthetical. Every word serves a purpose, and it is front-loaded with the main action.
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 list tool with one optional parameter, the description covers purpose and parameter meaning. Annotations cover safety. Could mention return format but not necessary.
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%, but the description explains that accounts groups by account, adding meaning beyond the schema's type definition.
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 (Lista) and resource (categorias financeiras), distinguishing it from sibling tools like contasimples_balance or contasimples_bill.
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?
No guidance on when to use this tool versus alternatives; the description only mentions a parameter, not usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
contasimples_cost_centerARead-onlyIdempotentInspect
Lista centros de custo da empresa (id, name). Com cost_center_id: retorna um único centro de custo.
Use para classificar despesas em relatórios (o id casa com o costCenter das transações).
Opcional: accounts — agrupa por conta em accounts[].
Bulk support: accepts cost_center_ids for batched execution.
| Name | Required | Description | Default |
|---|---|---|---|
| accounts | No | ||
| cost_center_id | No | ||
| cost_center_ids | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnly, idempotent, non-destructive. The description adds value by detailing bulk execution and grouping behaviors, which are 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 very concise: three sentences with clear structure. Front-loaded with main purpose, then details. 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 no output schema and three parameters with zero coverage, the description provides sufficient context for usage. However, it could mention response format or pagination, but it's not critical.
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 0% schema description coverage, the description must compensate. It explains cost_center_id, accounts, and cost_center_ids but lacks type details or constraints. Barely adequate.
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 lists cost centers (id, name) and can return a single one with cost_center_id. It also explains its use for classifying expenses, distinguishing it from siblings like contasimples_category.
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 explains when to use (classify expenses) and mentions optional grouping (accounts) and bulk support (cost_center_ids). Though it doesn't explicitly state when not to use or name alternatives, the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
contasimples_inviteARead-onlyIdempotentInspect
Lista convites pendentes ou histórico (status, role_id, limit, next_page_start_key). Aceita accounts (agrupa por conta).
Bulk support: accepts role_ids for batched execution.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| status | No | ||
| role_id | No | ||
| accounts | No | ||
| role_ids | No | ||
| next_page_start_key | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, so the description adds minimal behavioral context beyond mentioning bulk support. The description aligns with annotations and does not contradict them, but it doesn't disclose additional traits like auth requirements or rate limits.
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 extremely concise, using only two sentences to convey purpose, key parameters, and special features like grouping and bulk support. Every sentence adds value without unnecessary 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 read-only listing tool with no output schema, the description should indicate what is returned (e.g., list of invites, pagination details). It mentions next_page_start_key but doesn't explain it as a pagination token or that it appears in the response. The description covers parameters but omits response structure, leaving the agent with incomplete 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 input schema has 0% description coverage, so the description must compensate. It lists all parameters (status, role_id, limit, next_page_start_key, accounts, role_ids) and implies their roles (e.g., filtering, pagination, grouping), but lacks specifics such as allowed values for status or format requirements. This is insufficient for full parameter understanding.
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 lists pending invites or history, with filtering by status, role_id, limit, and next_page_start_key. It also mentions grouping by account and bulk support, making the purpose specific and distinguishable from sibling tools like contasimples_invite_write_create.
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 usage hints such as accepting accounts for grouping and role_ids for bulk execution. While it doesn't explicitly state when not to use the tool, the sibling names make the read vs write distinction clear. More explicit exclusion criteria would improve this score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
contasimples_invite_write_createAInspect
Cria convite: action create com role_id e email. Aceita accounts com 1 entrada.
[Flattened action: create]
Bulk support: accepts role_ids for batched execution.
| Name | Required | Description | Default |
|---|---|---|---|
| Yes | |||
| role_id | Yes | ||
| accounts | No | ||
| role_ids | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=false (write operation) and destructiveHint=false. The description adds 'Bulk support' behavior but does not disclose side effects (e.g., duplicate handling) or required permissions. It is adequate but not rich.
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 very concise (three sentences), front-loaded with the core action, and includes a parenthetical note and bulk clarification 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?
The description covers main parameters and bulk support, but lacks any mention of return values (no output schema) or error conditions. For a 4-parameter tool with no schema descriptions, it is moderately complete but has 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?
With 0% schema coverage, the description compensates by explaining that role_id and email are primary, accounts holds a single entry, and role_ids supports batching. However, it does not detail formats, constraints, or valid values, leaving ambiguity.
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 creates an invite ('Cria convite') with specific action 'create', using role_id and email. It distinguishes from the sibling tool 'contasimples_invite' (which likely lists invites) by indicating this is the write variant.
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 usage context: it accepts a single account entry and supports bulk creation via role_ids. However, it does not explicitly contrast with sibling tools or state when not to use, though the name and purpose imply differentiation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
contasimples_list_accountsBRead-onlyIdempotentInspect
Lista conexões Conta Simples (empresas) vinculadas a este install — id, label e apelido de exibição.
| Name | Required | Description | Default |
|---|---|---|---|
| accounts | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, indicating safe read-only behavior. The description adds value by specifying the output fields (id, label, display nickname) and scoping to 'this install', which aids in understanding the 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?
The description is a single concise sentence that front-loads the verb and resource. It avoids unnecessary words, though it could benefit from structured formatting (e.g., bullet points for outputs).
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?
No output schema exists, so the description must compensate by detailing return values and edge cases. While it lists some output fields, it fails to explain the 'accounts' parameter, pagination, or limits, leaving gaps for a complete understanding.
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 has a single optional array parameter 'accounts' with 0% description coverage. The tool description does not explain its purpose or behavior, leaving the agent without guidance on how to use it effectively.
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 it lists Conta Simples connections (companies) linked to the install, specifying the returned fields (id, label, display nickname). The verb 'lista' and resource 'conexões' are specific, and no sibling tool directly competes.
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?
No guidance is provided on when to use this tool versus alternatives like contasimples_balance or contasimples_bill. The description lacks explicit context or exclusion criteria, forcing the agent to infer usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
contasimples_roleARead-onlyIdempotentInspect
Lista papéis (roles) para convites de usuário. Aceita accounts (agrupa por conta).
| Name | Required | Description | Default |
|---|---|---|---|
| accounts | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true. The description adds one behavioral nuance (grouping by account) but does not disclose other traits like rate limits or data volume. With annotations covering the base safety profile, this is adequate but not exceptional.
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?
Single sentence, front-loaded with purpose, no redundant information. 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?
Given the simple tool (one optional parameter, no output schema, rich annotations), the description provides enough context: it lists roles and explains the account grouping. It is complete without being verbose.
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 sole parameter 'accounts' has no schema description (0% coverage). The description compensates by explaining it allows grouping by account, adding meaning beyond the raw schema definition.
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 it lists roles for user invites, with an optional accounts parameter to group by account. This is a specific verb+resource, and it distinguishes from sibling tools like contasimples_invite or contasimples_invite_write_create.
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 implies usage context (listing roles, optionally grouped by account) but does not provide explicit when/when-not or alternatives. It is adequate for a straightforward listing tool but lacks guidance on when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
contasimples_statement_bankingARead-onlyIdempotentInspect
Extrato bancário (transações). start_date e end_date devem vir juntos ou omitidos. No máximo um entre amount_eq, amount_gt, amount_lt. limit 1–50.
Opcional: keywords — filtro textual client-side nesta página (_meta.keyword_filter).
Opcional: accounts — agrega N empresas em paralelo (accounts[] + errors[]). next_page_start_key proibido quando accounts > 1; pagine por conta isoladamente.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| status | No | ||
| sorting | No | ||
| accounts | No | ||
| end_date | No | ||
| keywords | No | ||
| amount_eq | No | ||
| amount_gt | No | ||
| amount_lt | No | ||
| account_id | No | ||
| start_date | No | ||
| category_ids | No | ||
| was_conciled | No | ||
| movement_type | No | ||
| cost_center_ids | No | ||
| has_attachments | No | ||
| responsible_email | No | ||
| next_page_start_key | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations (readOnlyHint, idempotentHint, destructiveHint) align with the description. The description adds behavioral context: client-side filtering, parallel aggregation, and pagination constraints, which are not covered by 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 concise and front-loaded with key information. However, it mixes Portuguese and English and lacks clear separation between parameter rules, which slightly hampers 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 18 parameters and no output schema, the description covers essential operational constraints but does not explain the return format or all parameter semantics, leaving gaps for a complex tool.
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 0%, so the description must compensate. It explains constraints for some parameters (date range, amount filters, limit, keywords, accounts, next_page_start_key) but leaves many parameters (e.g., status, sorting, account_id, category_ids) unexplained, only partially compensating.
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 it is a bank statement (transações) tool for retrieving transactions. It distinguishes itself from sibling tools like contasimples_statement_card and contasimples_balance by specifying the resource and 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 provides explicit guidelines: start_date and end_date must be together or omitted, at most one amount filter, limit 1–50, optional keywords as client-side filter, and accounts parallel aggregation with pagination restrictions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
contasimples_statement_cardARead-onlyIdempotentInspect
Extrato de cartão de crédito. start_date e end_date (YYYY-MM-DD) emparelhados; janela ≤ 62 dias. types opcional (ex. PURCHASE). limit 5–100.
Opcional: keywords — filtro textual client-side nesta página (_meta.keyword_filter).
Opcional: accounts — agrega N empresas em paralelo (accounts[] + errors[]). next_page_start_key proibido quando accounts > 1; pagine por conta isoladamente.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| types | No | ||
| accounts | No | ||
| end_date | No | ||
| keywords | No | ||
| start_date | No | ||
| next_page_start_key | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds significant behavioral details beyond annotations: date pairing, window constraint, client-side keyword filtering, multi-account parallel aggregation with errors array, and pagination prohibition. These are not captured by readOnlyHint/idempotentHint/destructiveHint.
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 for the amount of information conveyed, but a bulleted or structured format could improve readability. No unnecessary sentences.
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 all 7 parameters with usage rules, aggregation constraints, and filtering details. No output schema exists, but the description does not need to explain return values as per rules. Complete for accurate tool 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?
With 0% schema description coverage, the description fully compensates by explaining each parameter's role, constraints (e.g., start_date/end_date paired, limit range 5-100, next_page_start_key prohibited when accounts>1), and optionality.
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 credit card statements ('Extrato de cartão de crédito'), with a specific verb (extrato) and resource. It distinguishes from sibling 'contasimples_statement_banking' which handles banking statements.
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 usage context: date pairing, window limit, optional types, limit range, and aggregation behavior. Does not explicitly state when not to use or list alternatives, but the constraints guide correct usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
contasimples_summaryARead-onlyIdempotentInspect
Resumo agregado do período (bancário + cartão) — uma chamada em vez de paginar centenas de transações.
Retorna totais (entradas/saídas, PIX/TED, cartão compras/IOF/estorno), top categorias e top estabelecimentos, cash_flow e flags _meta (truncated se passar do limite de páginas).
Período máximo 62 dias (API). Por padrão só transações bancárias processadas (status=2); include_canceled=true busca todas e exclui canceladas (status=1) dos totais, contando-as em banking.canceled_excluded.
Opcional: accounts — agrega N empresas em paralelo, resposta vem em accounts[] (uma entrada por conta) + errors[] se alguma falhar.
Opcional: keywords — restrinja o agregado às transações cuja descrição/contraparte/categoria/tipo contenham qualquer uma das palavras (_meta.keyword_filter mostra matched vs scanned).
| Name | Required | Description | Default |
|---|---|---|---|
| top_n | No | ||
| accounts | No | ||
| end_date | Yes | ||
| keywords | No | ||
| start_date | Yes | ||
| movement_type | No | ||
| include_canceled | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description provides extensive behavioral context beyond annotations, including return structure (totals, top categories, cash flow, meta flags), truncation handling, period limit, include_canceled behavior, parallel aggregation for multiple accounts, and keyword filtering. Annotations already indicate read-only and idempotent, so no contradiction.
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, well-structured, and front-loaded. It begins with the main purpose, lists return values, then constraints and optional parameters. Every sentence adds value 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?
The description is largely complete given the schema's lack of descriptions and no output schema. It explains return structure, constraints, and optional parameters. Minor gaps: movement_type and top_n are not mentioned, and error handling beyond accounts could be elaborated.
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 0% schema description coverage, the description compensates by explaining the roles of start_date, end_date, include_canceled, accounts, and keywords. However, movement_type and top_n are not described, leaving minor gaps.
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 returns an aggregated summary of banking and card transactions for a period, distinguishing it from paginating through detailed transactions. It specifies what it returns: totals, top categories, top establishments, cash flow, and meta flags.
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 explains that the tool is a one-call alternative to paginating hundreds of transactions, implying usage for aggregate queries. It also notes the maximum period of 62 days and explains the include_canceled behavior. However, it does not explicitly list when not to use this tool or name specific sibling alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
contasimples_supplierARead-onlyIdempotentInspect
Lista fornecedores da empresa (id, name, type CUSTOM|DEFAULT). Sem paginação. Com supplier_id: retorna um único fornecedor.
Use para classificar despesas em relatórios.
Opcional: accounts — agrupa por conta em accounts[].
Bulk support: accepts supplier_ids for batched execution.
| Name | Required | Description | Default |
|---|---|---|---|
| accounts | No | ||
| supplier_id | No | ||
| supplier_ids | No |
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 valuable behavioral details: no pagination, single vs bulk retrieval, and optional accounts grouping. This fully informs the agent about the tool's safety and behavior without contradiction.
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 at 4 sentences, each adding unique value. It front-loads the core action and then provides options and use case. 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 no output schema, the description mentions returned fields (id, name, type) but could elaborate on the structure of accounts[], though the complexity is low (3 params). It is mostly complete for its purpose.
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 has no descriptions (0% coverage). The description compensates by explaining each parameter's effect: supplier_id returns one supplier, supplier_ids enables bulk, and accounts groups results. This adds significant meaning beyond the raw 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 lists suppliers with specific fields (id, name, type), supports single retrieval by supplier_id and bulk via supplier_ids, and mentions grouping by accounts. It distinguishes from sibling tools like contasimples_bill or contasimples_category by focusing on suppliers and expense classification.
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 'Use para classificar despesas em relatórios' (use to classify expenses in reports), giving a clear usage context. It also mentions bulk support. However, it does not specify when not to use it or provide alternative tools, leaving some room for improvement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
contasimples_userBRead-onlyIdempotentInspect
Lista usuários da empresa (email, limit, next_page_start_key opcionais). Aceita accounts (agrupa por conta).
| Name | Required | Description | Default |
|---|---|---|---|
| No | |||
| limit | No | ||
| accounts | No | ||
| next_page_start_key | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint. The description adds that pagination parameters are optional and the accounts parameter groups results, but does not explain behavior with no parameters or clarify rate limits. It adds modest value 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?
The description is two concise sentences: the first states the core action with parameters, the second explains the accounts parameter. No filler; key information is front-loaded.
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 no output schema and 4 parameters with no individual descriptions, the description provides the basic purpose and parameter roles. However, it lacks details on pagination mechanics, email usage, and output format, leaving gaps for an agent to fully understand usage.
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 0% schema coverage, the description names optional parameters and explains the accounts grouping. However, it does not describe the email parameter (filter or field?), limit defaults, or next_page_start_key as a pagination token. Some meaning is added but not comprehensive.
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 lists users of the company and mentions optional filtering/pagination parameters. It effectively distinguishes from write tools like contasimples_user_write_delete, but does not specify the exact scope or what fields are listed.
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?
No explicit guidance on when to use this tool versus siblings (e.g., contasimples_role, contasimples_invite). The context of shared tool names implies it is for listing users, but no when-to-use or when-not-to-use advice is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
contasimples_user_write_deleteBInspect
Remove usuário da empresa (DELETE na API). action: delete. Aceita accounts com 1 entrada.
[Flattened action: delete]
Bulk support: accepts user_ids for batched execution.
| Name | Required | Description | Default |
|---|---|---|---|
| user_id | Yes | ||
| accounts | No | ||
| user_ids | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations show destructiveHint=false, but description describes a DELETE operation ('Remove usuário' and 'DELETE na API'), which is inherently destructive. This is a clear contradiction. Description does not add behavioral context beyond indicating deletion.
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?
Description is brief and to the point, covering action, accounts constraint, and bulk support. Could be more structured (e.g., separate lines for params) but no fluff.
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?
No output schema provided, and description omits return value, prerequisites, or post-condition details. For a destructive tool, more context (e.g., is user permanently removed? any cascade effects?) would improve completeness.
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 0% schema coverage, description adds value by explaining the 'accounts' parameter accepts only 1 entry and 'user_ids' supports batch execution. This clarifies usage beyond the schema's bare property definitions.
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 specifies the action ('Remove usuário da empresa' and 'DELETE na API') and resource ('user'), distinguishing it from sibling tools like 'contasimples_user' (likely read-only) and 'contasimples_invite_write_create' (invite creation). The verb 'remove' and scope 'from company' are explicit.
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?
Description mentions bulk support via 'user_ids' and accounts constraint ('Aceita `accounts` com 1 entrada'), but lacks explicit when-to-use or when-not-to-use guidance compared to alternatives. No direct comparison to sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
marketplaceAInspect
The official mcp.ai marketplace — the in-platform catalog of every MCP/tool, AND the way to run them. Covers capability requests like "find an MCP that does X", "consulta um CPF", "is there a tool for Y". Core flow: action=search discovers MCPs by intent → describe returns one MCP's full profile (every tool with its id + params, pricing, auth) so you pick the right tool_id → invoke RUNS that tool. KEY: invoke works even when the MCP is NOT installed — it runs the tool pontualmente (one-off), without adding the MCP to the toolkit and without bloating the tool list. If the MCP needs a credential/login, invoke returns a connect link; if it is paid and the wallet is empty, invoke returns a checkout/top-up link (the user opens it, then you retry). Use install only to make an MCP PERMANENT in the active toolkit (its tools then show up natively in future sessions); prefer invoke for a single/occasional use. list_tools lists what is callable right now. subscribe/cancel handle per-MCP billing; report_bug sends feedback; request_mcp asks us to build a NEW MCP when nothing fits. Search/describe flag installed_in_toolkit vs installed_in_workspace. Writes (install/uninstall/subscribe/cancel and the one-off install behind invoke) require workspace owner/admin. It also carries the mcp.ai PROMPT LIBRARY, which is about ready-made prompt TEXT rather than MCPs: search_prompts finds one, get_prompt returns its full text with {{variables}} filled, and publish_prompt saves a prompt and returns a shareable mcp.ai/p/ link that opens without login.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | No | ||
| action | No | search | |
| mcp_id | No | ||
| message | No | ||
| tool_id | No | ||
| arguments | No | {} | |
| immediate | No | ||
| tier_slug | No | ||
| prompt_body | No | ||
| prompt_slug | No | ||
| prompt_tool | No | ||
| prompt_vars | No | {} | |
| conversation | No | [] | |
| prompt_title | No | ||
| request_name | No | ||
| cancel_reason | No | ||
| cancel_comment | No | ||
| prompt_targets | No | ||
| report_context | No | ||
| prompt_category | No | ||
| request_details | No | ||
| prompt_description | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations, the description discloses important behaviors: invoke runs an MCP even when it is not installed, does a one-off run without adding the MCP to the toolkit, returns a connect link when credentials are needed, returns a checkout/top-up link when payment is needed, and requires workspace owner/admin for write operations. The description enriches the annotations and does not contradict 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 front-loaded with identity and the core flow, and nearly every sentence carries useful guidance. However, it is one dense, wall-of-text paragraph with mixed language ("pontualmente") and heavy inline emphasis, which makes the many action alternatives hard to scan and parse.
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 complex 23-parameter, 14-action facade with no output schema, the description is remarkably complete: it covers the core flow, one-off invoke semantics, auth/credential/payment behavior, permission requirements, installed flags, the prompt library, and most action outcomes. The main gaps are the resume action and return-shape details for a few actions, but the overall guidance is sufficient for correct invocation in most cases.
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 0% schema description coverage, the description does a lot of compensating work: it maps action values such as search, describe, invoke, install, list_tools, publish_prompt, and explains tool_id, arguments, and prompt-related intent. However, several parameters and enum actions remain unexplained, including resume, limit, immediate, tier_slug, cancel_reason, report_context, conversation, request_name, and request_details, leaving agents under-specified for those paths.
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 tool as the official mcp.ai marketplace: the in-platform catalog of MCPs/tools and the way to run them. It states the core discovery→describe→invoke flow, distinguishes the prompt-library subdomain from the MCP flow, and makes it clear this is a marketplace orchestrator rather than one of the sibling calculator/authenticate 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 when-to-use guidance: use install only to make an MCP permanent, prefer invoke for one-off use, use list_tools to see what is callable now, use subscribe/cancel for billing, and use request_mcp when nothing fits. It also explains what to do when invoke returns a connect link or checkout link, including retry behavior.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
report_bugAIdempotentInspect
Report a bug, missing feature, or send feedback. Include the conversation array with recent messages for reproduction.
| Name | Required | Description | Default |
|---|---|---|---|
| context | No | ||
| message | Yes | ||
| conversation | No | [] |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already carry the safety profile with idempotentHint=true and destructiveHint=false. The description adds that conversation data is needed for reproduction, which is useful context. However, it does not disclose what happens after submission, such as whether a ticket is created or whether the report is asynchronous, though the annotations lower the burden.
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 consists of two tight sentences: the first states the purpose, the second gives the key usage instruction. There is no filler, repetition, or irrelevant 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 three-parameter reporting tool with annotations already covering idempotency and destructiveness, the description is mostly sufficient. The main gaps are the unexplained `context` parameter and the absence of any indication of what the response or outcome will be, though no output schema is expected.
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 0%, so the description must compensate for undocumented parameters. It only clarifies the `conversation` parameter via 'conversation array with recent messages,' leaving the required `message` and optional `context` undefined. The agent must guess at their intended content.
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 the verb 'Report' and explicitly enumerates three targets: 'bug, missing feature, or send feedback'. This makes the tool's purpose unmistakable and easily distinguishable from the sibling calculo_* and authentication tools, which serve entirely different functions.
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 establishes a clear context: use when a user reports a problem or wants to provide feedback. It also adds practical guidance to 'Include the conversation array with recent messages for reproduction.' It does not name alternatives, but none of the sibling tools overlap with bug reporting, so exclusions are unnecessary.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
show_versionARead-onlyIdempotentInspect
Show the current MCP platform and adapter versions.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true and idempotentHint=true, so the agent knows this is a safe, non-mutating call. The description adds little beyond that—it names the output as versions but doesn't specify the format (e.g., semver strings, JSON object) or whether the output is human-readable. Since the annotations carry the safety profile, a 3 is appropriate.
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 sentence of 9 words, front-loading the action ('Show') and the object ('version'). There is zero waste, and it fully conveys the tool's purpose within its scope. This is a model of 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?
For a zero-parameter, read-only, idempotent tool with no output schema, the description is nearly complete. An agent can confidently invoke it without additional context. The only minor gap is that the return format is unspecified, but since there is no output schema, a brief note on the output structure (e.g., 'returns a plain-text summary') would elevate completeness. Still, the description is sufficient 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, and the schema coverage is 100% (no properties). The description doesn't need to explain parameters. The baseline for zero-parameter tools is 4, and the description is consistent with that—it correctly implies that no input is 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 clearly states the tool's purpose: 'Show the current MCP platform and adapter versions.' This is a specific verb-resource pair that distinguishes it from sibling tools, which are all calculation or authentication tools. It could be slightly more explicit about what 'show' returns (e.g., a text summary vs. structured data), but the resource is 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 implies that this tool is for checking version information, which makes sense in contexts where an agent needs to confirm platform/adapter versions before proceeding. However, it does not explicitly state when to use this tool versus alternatives, nor does it mention whether version information is needed for authentication or compatibility checks. Given the sibling tools are all calculations, the usage context is reasonably clear, but not explicitly delineated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
toolkit_infoARead-onlyIdempotentInspect
Returns the current toolkit state: installed MCPs, their connection status, the accounts connected to each one, and how many catalog tools each exposes.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the description does not need to restate safety. It adds value by detailing what kind of state is returned, including connection status and account bindings, which helps the agent understand the tool's informational scope.
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 tightly packed sentence with the main action front-loaded, followed by a colon-delimited list of return contents. Every phrase earns its place with no repetition 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 zero-parameter, read-only introspection tool, the description fully covers what the agent needs to know before calling: what information it will receive. No output schema exists, but the description essentially provides a light output contract by enumerating the returned components.
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 is empty with zero parameters, and schema description coverage is 100%, so the description has no parameter burden. Per calibration, zero-parameter tools receive a baseline of 4; the description's output-focused content is more than sufficient.
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 ('Returns') and resource ('current toolkit state'), then enumerates exactly what is included: installed MCPs, connection status, connected accounts, and catalog tool counts. This is specific enough to distinguish it from computational siblings like calculo_* and action tools like authenticate or connect.
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 conveys that this is the tool to call when an agent needs an overview or snapshot of the toolkit's current state. It does not explicitly list exclusion criteria or name alternatives such as show_version, but the context is clear enough for routine selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Related MCP Connectors
Financial & accounting management on Omie (Brazil's leading cloud ERP), payables/receivables, financ
Digital account and billing on Asaas with the full official REST API v3 (api.asaas.com), balance, ch
Conta Azul ERP MCP — sales, customers, finance and NF-e via OAuth 2.0. Read + write, 35 tools.
Your Organizze finances in natural language: consolidated balances, monthly overview, transaction se
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables interaction with Qonto's Business API for banking operations. Supports all API key-accessible endpoints for managing business banking transactions and account information.3MIT
- AlicenseNot gradedqualityNot gradedmaintenanceEnables AI assistants to interact with Conta Azul Financial APIs to manage accounts, balances, and transactions through natural language. It features specialized tools for tracking cash flow, processing payables and receivables, and generating comprehensive financial reports.-
- AlicenseNot gradedqualityFmaintenanceEnables AI assistants to interact with Banco Inter business accounts, including balance inquiries, statement downloads, and full boleto management via natural language.19 npm5ISC
- AlicenseNot gradedqualityDmaintenanceEnables reading C6 Bank account balances, statements, credit card bills, and investments via Open Finance Brasil. It is read-only and regulated by the Central Bank of Brazil.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.