Skip to main content
Glama

savi-tools

Server Details

Ask your AI assistant about your Savi Tools business: invoices, expenses, mileage, and more.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.2/5 across 25 of 25 tools scored.

Server CoherenceA
Disambiguation5/5

Each tool targets a specific financial, client, project, or tax aspect with clear, distinct descriptions. Overlaps like get_cost_summary vs get_expense_summary are resolved by explicit scope differences (costs include mileage and bills; expenses are line-item). No two tools serve the same purpose.

Naming Consistency5/5

All 25 tools follow a strict `verb_noun` pattern: `get_` for detailed summaries and `list_` for enumerations. No mixed conventions (camelCase, abbreviations) are present, making the pattern predictable for an agent.

Tool Count4/5

At 25 tools, the set is on the larger side but fully justified by the breadth of the domain (financial summaries, clients, projects, taxes, contacts, time, mileage). Each tool covers a distinct slice; minor redundancies (e.g., cost vs expense summary) are acceptable due to nuanced differences.

Completeness4/5

The surface covers essential business operations: revenue, costs, expenses, cash, invoices, bills, projects, clients, contacts, taxes, time, mileage, and goals. Notably missing are any mutation tools (create/update), but the server appears intentionally read-only (analytics/reporting). For that purpose, the coverage is strong.

Available Tools

25 tools
get_1099_summary1099 summaryA
Read-only
Inspect

Summary of the 1099-NEC amounts owed to contractors for a tax year, per vendor and in total, with the filing deadline. Answers "which contractors need a 1099 this year?"

ParametersJSON Schema
NameRequiredDescriptionDefault
yearNoTax year. Defaults to the current year.
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=true and destructiveHint=false. Description adds no additional behavioral insights beyond 'summary'. Minimal added value.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences, front-loaded with key information. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers tool's purpose and output adequately for a simple read-only tool. No output schema, but description explains what is returned (per vendor, total, deadline). Could mention return format for completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Single parameter 'year' is fully documented in schema. Description reiterates 'for a tax year' but adds no semantic detail beyond what schema provides. Baseline score.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it provides a summary of 1099-NEC amounts owed to contractors per vendor and total, with filing deadline. Answers a specific question, distinguishing it from other summary tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implicitly suggests use for tax year contractor 1099 needs, but does not explicitly state when to use or alternatives. Lacks explicit exclusions or 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.

get_business_profileBusiness profileA
Read-only
Inspect

The business’s own profile: legal name, entity type, the tax return it files, accounting method, fiscal year, industry, and address. Answers "what tax form does my business file and what is my fiscal year?"

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so description does not need to reiterate safety. It adds value by listing returned fields, but does not disclose any additional behavioral traits beyond the schema and annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with key fields, and answers a specific question. No unnecessary words; every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no parameters and no output schema, the description fully conveys what the tool returns. It lists all relevant fields and addresses a common use case, making it self-contained.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters exist (schema coverage 100%), so baseline is 4. Description adds meaning by enumerating the fields returned, which is helpful for understanding the output without an output schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it retrieves the business's own profile, listing specific fields (legal name, entity type, tax return, accounting method, fiscal year, industry, address). It distinguishes from sibling tools like get_client_summary or get_business_snapshot by specifying 'own profile'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description answers a specific question about tax form and fiscal year, implying usage when you need business identity info. However, it does not explicitly state when to use this tool versus alternatives like get_business_snapshot or list_clients, nor does it provide exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_business_snapshotBusiness snapshotA
Read-only
Inspect

One-look snapshot of the business right now: money in, money out, net, outstanding invoices, bills owed, and how much tax to set aside. Answers "how is my business doing this year?"

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, covering safety. The description adds context on the kind of data returned but does not detail response format or additional behavioral traits. 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with purpose and scope. Every sentence adds value with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description lists key data fields (money in/out, net, invoices, bills, tax), which is fairly complete for a snapshot. Lacks details on response structure but is sufficient for an agent to understand output nature.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters exist, and schema coverage is 100%. The description adds no parameter info because none needed. Baseline for 0 parameters is 4.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it's a one-look snapshot of the business, listing specific financial components (money in/out, net, invoices, bills, tax). It distinguishes from sibling tools by being the high-level overview, while siblings focus on specific areas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description answers the question 'how is my business doing this year?', implying when to use it for a high-level health check. It does not explicitly mention alternatives or when not to use, but the context of sibling tools makes the use case clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_cash_summaryCash summaryA
Read-only
Inspect

Cash position from bank activity: money in, money out, net, and how many transactions still need review. Answers "how much cash has moved through my accounts?"

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds beyond this by specifying the exact data returned (money in, out, net, pending transactions). No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with key purpose, no redundant information. Every word serves a purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no parameters and no output schema, the description adequately covers purpose and return data. However, it lacks details like default time period or account scope, which would improve completeness for a summary tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has zero parameters and 100% schema coverage. Description adds meaning by explaining what the tool returns, though no parameter details are needed. Baseline score of 4 for no-param tool with clear return description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description specifies 'cash position from bank activity' including money in, out, net, and pending review transactions. It directly answers the question 'how much cash has moved through my accounts?'. This clearly distinguishes it from sibling tools like get_revenue_summary or get_expense_summary.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for cash flow overview but does not explicitly state when to use it versus alternatives like get_revenue_summary or get_expense_summary. No 'when not to use' or alternative tool references.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_client_summaryClient summaryA
Read-only
Inspect

A single client’s summary: total invoiced, paid, outstanding, expenses, active projects, and last invoice date. Answers "how much has Acme paid me and what do they still owe?"

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesClient name to look up.
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, indicating a safe read operation. The description adds the specific data fields returned but does not disclose any additional behavioral traits or constraints beyond what annotations provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences: the first front-loads the purpose and data fields, the second gives an example question. No redundant information; every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (single parameter, no output schema), the description fully covers the return fields and purpose. The agent has sufficient information to invoke correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with one parameter 'name' already described in the schema. The description does not add further meaning beyond the schema, so baseline score applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it provides a single client's summary including specific financial fields and an example question, distinguishing it from sibling tools like get_contact_summary or get_business_snapshot.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description includes an example question that implies usage context (client financial inquiry). While it doesn't explicitly exclude alternatives, the sibling list provides context, and the purpose is clear enough for proper selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_contact_historyContact historyA
Read-only
Inspect

Search the subscriber’s own contacts by name, company, industry, or profession. Returns each match with phone/mobile/email, title, company, industry, tags, and relationship history. Answers "I am about to call the Chens, what is our history?" and "list my real-estate contacts with their phone numbers." Contacts flagged doNotShare asked not to be passed along.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesName or company to search for.
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds context about a 'doNotShare' flag and lists returned fields, but does not detail behavior for empty results or pagination. This additional context is moderate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is relatively short (four sentences) and front-loaded with the main purpose. It includes examples that aid understanding without excessive length.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has only one parameter, no output schema, and no nested objects, the description sufficiently explains inputs, outputs (fields), and special behavior (doNotShare flag). Examples cover typical queries.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema defines 'query' with description 'Name or company to search for.' The tool description expands this to include 'industry or profession,' adding value beyond the schema. Schema coverage is 100%, so a baseline of 3 applies, but the extra detail raises the score.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool searches the subscriber's own contacts by name, company, industry, or profession, and lists the returned fields. The examples further clarify intent. It is distinct from sibling tools which focus on financial or business data.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description includes example questions that indicate use cases (e.g., retrieving history before a call, listing contacts by industry). It does not explicitly state when not to use it, but the sibling list helps differentiate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_contact_summaryContact summaryA
Read-only
Inspect

Rolodex overview: how many contacts the subscriber has, how many have a phone or email, and the top industries and tags. Answers "how many contacts do I have?" and "what industries are my contacts in?" Use get_contact_history to look up specific people.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark readOnlyHint=true and destructiveHint=false. The description adds context about the type of data returned (counts, top industries/tags), but does not mention authentication or rate limits; however, given the simplicity and read-only nature, it is sufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences: first covers what the tool provides, second gives example questions and alternative tool. No wasted words, and the structure is effective.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has no parameters, no output schema, and low complexity, the description fully explains what it returns and how to interpret it, with an explicit alternative for specific lookups.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters exist, and schema coverage is 100% (empty). The description does not need to add param info, but it implicitly clarifies that no input is required.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool provides a Rolodex overview with counts of contacts, phone/email ownership, top industries and tags. It answers specific questions ('how many contacts?', 'what industries?'), and distinguishes from sibling tool get_contact_history for specific people.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says when to use it (to answer aggregate contact questions) and directs to get_contact_history for looking up specific people, providing clear guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_cost_summaryCost summaryA
Read-only
Inspect

All business costs for a period — expenses, mileage, and contractor bills — with by-category and by-month breakdowns. Answers "what were my total costs last quarter?"

ParametersJSON Schema
NameRequiredDescriptionDefault
periodNoA 4-digit year, or this_year / last_year / this_quarter / last_quarter. Omit for the current fiscal year.
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds value by explaining the breakdown structure (by-category, by-month) and confirming it covers multiple cost types, without contradicting annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the core purpose, no redundancy. Every sentence adds value: first states what it includes and breakdowns, second gives an example query.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only summary tool with one optional parameter and no output schema, the description fully explains the scope (all costs, breakdowns). Annotations cover safety, so no gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with a single period parameter. The description adds meaning by linking the period to 'all business costs' and providing an example ('last quarter'), aiding understanding beyond the schema's generic description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses specific verbs and resources: 'All business costs' with categories (expenses, mileage, contractor bills) and breakdowns. It distinguishes itself from siblings like get_expense_summary or get_mileage_summary by covering all cost types combined.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context by listing the cost components and example query ('what were my total costs last quarter?'), but does not explicitly state when to use this tool over siblings like get_expense_summary.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_expense_summaryExpense summaryA
Read-only
Inspect

Total expenses for a year with by-category and by-month breakdowns. Answers "what did I spend on software this year?" or "where is my money going?"

ParametersJSON Schema
NameRequiredDescriptionDefault
yearNoCalendar year. Defaults to the current year.
categoryNoOptional category name to filter to (e.g. "Software & Subscriptions").
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so the description's addition of breakdown types (category, month) is useful but not essential. No other behavioral traits (e.g., aggregation details, data freshness) are disclosed beyond what annotations provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no fluff. Key information (yearly totals, breakdowns) is front-loaded. Every word contributes to understanding the tool's output.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only summary tool with simple parameters and no output schema, the description adequately covers what the tool returns (total expenses with breakdowns). Could mention default year behavior, but schema already covers that. Overall sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the description does not need to add parameter meaning. However, the example question hints at the 'category' parameter usage, which adds marginal context. No additional syntax or constraints are explained beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool provides total expenses for a year with by-category and by-month breakdowns. Example questions ('what did I spend on software this year?') further clarify use cases, distinguishing it from sibling tools like get_cost_summary or list_recent_expenses.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use (yearly expense summaries with breakdowns) but does not explicitly state when not to use or provide alternatives. Sibling tools like list_recent_expenses could be mentioned for granular queries, but no such guidance is given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_goals_progressGoals progressA
Read-only
Inspect

Progress toward the subscriber’s business goals: each outcome, its success signals, current vs. target, and percent complete. Answers "how am I tracking against my goals this year?"

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false. The description adds useful behavioral context by specifying the data included: outcomes, success signals, current vs. target, and percent complete. It provides transparency beyond annotations 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the core purpose ('Progress toward the subscriber’s business goals'), and uses a direct question to illustrate use case. No extraneous information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no parameters and no output schema, the description provides a solid overview of the returned data structure. However, it doesn't specify formatting details (e.g., whether it's a list or single object), but for a simple progress report, this is acceptable.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are no parameters (schema coverage 100%), so the description bears full responsibility for explaining semantics. It clearly describes what the tool returns, including the granularity of each outcome and its associated metrics, which is sufficient for an agent to understand the tool's output.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states the tool provides progress toward business goals, detailing the structure (outcomes, success signals, current vs. target, percent complete) and the question it answers. This clearly differentiates it from sibling tools that focus on financials, contacts, or projects.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description includes the question 'how am I tracking against my goals this year?' which implies annual performance review context. While it doesn't explicitly state when not to use or list alternatives, the sibling tools are distinct enough that no further guidance is needed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_invoice_detailsInvoice detailsA
Read-only
Inspect

Full detail for one invoice — status, amounts, line items, payments, and balance due — found by invoice number or client name. Answers "what is on invoice 1042?" or "what does the Acme invoice still owe?"

ParametersJSON Schema
NameRequiredDescriptionDefault
number_or_clientYesInvoice number or client name to look up.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the tool is clearly read-only. The description adds value by specifying the returned fields (status, amounts, line items, etc.), providing behavioral context beyond annotations 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loading the core purpose and examples. Every word adds value, with no redundancy or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only tool with one parameter and no output schema, the description sufficiently covers what the tool returns and how to use it. It is complete given the tool's simplicity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema fully describes the single parameter 'number_or_client' with a clear description. The description reiterates this but does not add new semantic details such as format examples or constraints, so it meets the baseline for full schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns full invoice details including status, amounts, line items, payments, and balance due, using invoice number or client name. It distinguishes from sibling summary tools by focusing on a single invoice's detailed breakdown.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit example queries like 'what is on invoice 1042?' and 'what does the Acme invoice still owe?', indicating when to use this tool. However, it does not explicitly state when not to use it or mention alternative tools for comparison.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_mileage_summaryMileage summaryA
Read-only
Inspect

Total business miles and IRS mileage deduction for a calendar year, with a per-type breakdown. Answers "what is my mileage deduction so far this year?"

ParametersJSON Schema
NameRequiredDescriptionDefault
yearNoCalendar year, e.g. 2026. Defaults to the current year.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, indicating safe read operation. The description adds value by specifying the output includes business miles, deduction, and per-type breakdown, and the time scope is a calendar year. However, it does not disclose any additional behavioral traits like data freshness or aggregation logic.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise at two sentences. It first states the output and then provides a relevant question the tool answers. Every sentence adds value with no unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having no output schema and low complexity, the description adequately explains the return values (business miles, IRS deduction, per-type breakdown) and the temporal scope (calendar year). This is sufficient for an agent to understand the tool's output.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has one parameter 'year' with a description that is already clear ('Calendar year, e.g. 2026. Defaults to the current year.'). Schema coverage is 100%, so the description adds no additional meaning beyond the schema. Baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool provides total business miles and IRS mileage deduction for a calendar year with a per-type breakdown, and it answers a specific question about mileage deduction. This makes the purpose very clear and distinguishes it from sibling tools like get_expense_summary or get_tax_deductions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for mileage deduction queries by answering 'what is my mileage deduction so far this year?'. It provides clear context but does not explicitly exclude alternatives or state when not to use it. Given the sibling tools, the usage context is clear but lacks explicit when-not guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_profitabilityProfitabilityA
Read-only
Inspect

Revenue vs. costs, net profit, and margin over a period, optionally broken down by client. Answers "am I profitable this year?" or "which client is most profitable?"

ParametersJSON Schema
NameRequiredDescriptionDefault
periodNoA 4-digit year, or this_year / last_year / this_quarter / last_quarter. Omit for the current fiscal year.
byClientNoInclude a per-client profitability breakdown.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint and destructiveHint. The description adds behavioral context: the tool returns revenue vs. costs, net profit, margin, and optional per-client breakdown. It does not contradict annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no wasted words. Key information is front-loaded: what the tool provides (revenue vs. costs, net profit, margin) and optional breakdown. Then example questions.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With two optional parameters, no output schema needed, the description sufficiently explains what the tool returns and how it can be customized. It addresses the core use cases.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, with descriptions for both parameters. The description adds some context (example values for period, explanation of byClient) but does not substantially enhance beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Revenue vs. costs, net profit, and margin over a period, optionally broken down by client.' It provides specific examples of questions it answers ('am I profitable this year?'), distinguishing it from sibling tools like get_revenue_summary or get_cost_summary.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives context for when to use the tool (profitability queries) and provides example questions. It does not explicitly exclude scenarios or name alternatives, but the context is clear given the sibling tool names.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_project_summaryProject summaryA
Read-only
Inspect

A single project’s summary: hours logged vs. budget, billable hours, expenses, and mileage. Answers "how many hours are left in the Acme redesign budget?"

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesProject name to look up.
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=true and destructiveHint=false. The description adds that it provides specific metrics but does not disclose additional behavioral traits such as permissions 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two efficient sentences with no wasted words; purpose is front-loaded and clear.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple single-parameter tool, the description explains what the summary includes and provides an example. However, it does not describe the return format or structure, which would be helpful.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% for the single parameter 'name'. The description does not add meaning beyond the schema's description, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it provides a single project's summary with specific metrics (hours vs budget, billable, expenses, mileage) and gives an example question, distinguishing it from sibling summary tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies use for project-level summaries but does not explicitly state when to use or when to avoid it compared to sibling tools like get_client_summary.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_revenue_summaryRevenue summaryA
Read-only
Inspect

Total revenue with month-by-month and by-client breakdowns and any direct deposit income. Answers "how much have I made this year and who are my top clients?"

ParametersJSON Schema
NameRequiredDescriptionDefault
yearNoCalendar year. Omit to use the current fiscal year.
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, but the description adds valuable behavioral context: it provides breakdowns (month-by-month, by-client, direct deposit income) and answers specific revenue-related questions. 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences with no wasted words. The first sentence defines the functionality, and the second provides a concrete example question, making it efficient and front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (1 optional parameter, no output schema, clear annotations), the description is largely complete. It explains what the tool returns and the kind of questions it answers. However, it could slightly improve by explicitly mentioning that the output is a summary or a report, but this is minor.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 1 parameter (year) with 100% coverage, including a description. The tool description does not add any additional meaning or usage hints for this parameter, so it relies entirely on the schema. Baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it provides total revenue with month-by-month and by-client breakdowns, and directly answers the questions 'how much have I made this year and who are my top clients?'. It distinguishes itself from sibling tools like get_cash_summary or get_client_summary by specifying revenue focus and breakdowns.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage by stating the questions it answers, giving clear context for when an agent should invoke it. However, it does not explicitly mention when not to use it or name alternative tools, leaving some ambiguity.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_tax_deductionsTax deductionsA
Read-only
Inspect

Deductible costs mapped onto the lines of the tax return the business actually files (Schedule C, 1120, 1120-S, 1065, or 990), with entity-aware treatment (meals at 50%, etc.). Answers "what are my deductions this year and where do they land on my return?"

ParametersJSON Schema
NameRequiredDescriptionDefault
yearNoCalendar year. Omit to use the current fiscal year.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint=true and destructiveHint=false, so safety is clear. Description adds value by detailing entity-aware treatment (e.g., meals at 50%) and mapping to specific tax forms.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, both informative and front-loaded. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the single optional parameter, no output schema, and thorough annotations, the description provides enough context for an agent to use the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with a clear parameter description for 'year'. The description does not add additional parameter semantics beyond what is already in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it maps deductible costs to tax return lines for specific business entity types, answering a precise question. This differentiates it from sibling tools like get_expense_summary.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies it is used for tax deduction mapping with entity-aware treatment, but does not explicitly state when not to use it or mention alternatives. However, 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.

get_tax_setasideTax setasideA
Read-only
Inspect

Estimated annual and quarterly tax to set aside, the IRS safe-harbor minimum, and the next payment due date. Answers "how much should I be setting aside for taxes and when is the next payment due?"

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=true and destructiveHint=false, so the tool is clearly non-destructive. Description adds that it returns estimates and safe-harbor minimum, but does not disclose additional behavioral traits beyond what annotations provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences concisely convey the tool's purpose and value. Front-loaded with key information, no unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description adequately explains the return values (annual/quarterly estimates, safe-harbor minimum, next due date). For a zero-parameter tool, this is sufficient for an agent to understand output.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has no parameters, and the description provides meaningful information about the return values (annual, quarterly, safe-harbor, next due date), adding value beyond the empty schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool provides estimated annual and quarterly tax to set aside, IRS safe-harbor minimum, and next payment due date. It answers a specific question, distinguishing it from sibling tools like get_tax_deductions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Description explicitly frames the tool as answering 'how much should I be setting aside for taxes and when is the next payment due?', giving clear usage context. It does not explicitly list when not to use or provide alternatives, but the purpose is well-defined.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_time_summaryTime summaryA
Read-only
Inspect

Hours logged over a period, split billable vs. non-billable and broken down by project. Answers "how many hours did I bill last month?"

ParametersJSON Schema
NameRequiredDescriptionDefault
periodNoA 4-digit year, or this_year / last_year / this_quarter / last_quarter. Omit for the current fiscal year.
projectNoOptional project name to filter to.
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds context about the data breakdown (billable/non-billable, project), which goes beyond annotations but does not disclose other behavioral traits like data freshness, pagination, or access requirements. It adds moderate value given the annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences long, front-loaded with the core functionality and a concrete example. Every word earns its place; there is no fluff or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the main functionality (hours logged, breakdowns) and use case, but lacks any mention of output format or structure. Given no output schema, a brief note on what the response contains (e.g., totals per project) would improve completeness. However, it is mostly sufficient for a summary tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with each parameter (period, project) fully described in the schema. The description adds no additional parameter information beyond what the schema provides. Baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns hours logged over a period, split into billable vs. non-billable and broken down by project. It provides a concrete example question, 'how many hours did I bill last month?', which makes the purpose highly specific and distinguishes it from sibling tools like get_cash_summary or get_expense_summary.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage via a natural language question but does not explicitly state when to use this tool vs. alternatives. No exclusions or alternative recommendations are given. The context of siblings suggests it is the only time-focused summary tool, reducing ambiguity, but explicit guidance is missing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_bills_owedBills owedA
Read-only
Inspect

List the contractor/vendor bills the business still owes, with balance due and how overdue each is. Answers "what bills do I still need to pay?"

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds behavioral details: the tool returns balance due and overdue information. It does not mention any pagination or limits, but for a simple list with no parameters, this is sufficient. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise: one sentence plus a clarifying question. Every word adds value, with no redundancies. It is front-loaded with the core action.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description explains what the tool returns ('balance due' and 'how overdue'). This is adequate for a simple list tool. It could be more explicit about fields like vendor name or due date, but it still provides sufficient context for the agent to understand the output.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so schema coverage is 100% by default. Per the guidelines, 0 parameters earns a baseline of 4. The description adds no parameter info, which is acceptable since none exist.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'List', the resource 'bills owed', and specifies the scope (bills still owed with balance and overdue info). It also provides a natural language query ('what bills do I still need to pay?'), making the purpose unmistakable. This distinguishes it from sibling tools like list_clients or list_outstanding_invoices.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives a clear usage context via the quoted question, indicating when to use this tool (to find unpaid bills). However, it does not explicitly state alternatives or when not to use it. Given zero parameters, the guidance is still effective but lacks exclusion criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_clientsClientsA
Read-only
Inspect

List the subscriber’s clients with their billing profile, optionally filtered by a name/notes search. Answers "who are my clients?"

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNoOptional name or notes search.
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds that the tool returns billing profiles and supports optional search, but does not disclose additional behaviors like pagination, limits, or performance characteristics.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences that front-load the main purpose and optional filter. No wasted words; every part adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simplicity (one optional parameter, no output schema), the description covers the essential functionality. However, it could be more complete by mentioning what fields constitute the billing profile, but that is a minor gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with one parameter (query) described as 'Optional name or notes search.' The description reiterates this exactly, adding no new semantic detail beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (List), the resource (subscriber’s clients), and includes the billing profile context. It also answers the implied question 'who are my clients?', distinguishing it from sibling tools that summarize specific aspects.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides a clear usage context ('Answers who are my clients?') and mentions optional filtering. However, it does not explicitly state when not to use this tool or point to alternatives among the many sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_outstanding_invoicesOutstanding invoicesA
Read-only
Inspect

List the outstanding (sent, viewed, or overdue) invoices with aging buckets and the oldest one. Answers "who still owes me money, and how old is the oldest invoice?"

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds behavioral details beyond annotations, such as returning aging buckets and the oldest invoice, providing additional transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences that are front-loaded with the action and then the question it answers. Very concise with no fluff, each sentence serves a purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool with no parameters and no output schema, the description adequately explains what it returns. It could mention pagination or totals, but overall it is sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are no parameters, so the description does not need to explain them. The baseline is 4 for zero parameters, and the description adds no param info, which is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it lists outstanding invoices (sent, viewed, overdue) and provides aging buckets and the oldest invoice. It explicitly answers the user's question 'who still owes me money, and how old is the oldest invoice?', distinguishing it from siblings like list_recent_invoices.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly indicates when to use this tool: to find out who owes money and invoice age. It does not explicitly state when not to use it or compare with alternatives, but the purpose is clear and context is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_projectsProjectsA
Read-only
Inspect

List projects with their client, type, budget, and dates, optionally filtered to active-only. Answers "what projects am I working on?"

ParametersJSON Schema
NameRequiredDescriptionDefault
activeNoFilter to active (true) or paused (false) projects. Omit for all.
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so agent knows it's safe. Description adds that it answers 'what projects am I working on?' implying user-scoping, but lacks details like pagination or sorting.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two succinct sentences with front-loaded verb and resource. No wasted words; every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Adequately covers purpose, filtering, and what fields are returned. Lacks mention of return format (array of objects) but that is typical. Simple tool, no output schema needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Only one parameter 'active' with full schema description (100% coverage). Description mentions 'filtered to active-only' but does not add meaning beyond the schema's own description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states verb 'List', resource 'projects', and includes fields (client, type, budget, dates). It also distinguishes by answering a specific question and providing optional filtering.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states optional filtering for active projects and answers a common question. However, among 24 sibling tools (e.g., get_project_summary), no guidance on when not to use this tool or alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_recent_expensesRecent expensesA
Read-only
Inspect

List the most recent expenses, newest first, optionally filtered by category. Answers "what are my latest expenses?"

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoHow many to return (default 10, max 50).
categoryNoOptional category name to filter to.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is clear. Description adds ordering and optional filtering behavior beyond annotations. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no fluff, front-loaded with key action. Every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema, but for a simple list tool, the description is adequate. It covers purpose, ordering, and filtering. Could mention that it returns recent expenses but not necessary given simplicity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptions for both parameters. Description adds no new meaning beyond 'optionally filtered by category' which is already in the schema. Baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states verb (list), resource (recent expenses), ordering (newest first), and optional filter by category. It also provides a typical user question, distinguishing it from siblings like get_expense_summary.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use vs alternatives. The description implies usage through the example question but lacks when-not-to or alternative tool references.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_recent_invoicesRecent invoicesA
Read-only
Inspect

List the most recent invoices, newest first, optionally filtered by status. Answers "show me my latest invoices" or "which invoices are overdue?"

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoHow many to return (default 10, max 50).
statusNoOptional status filter: draft, sent, viewed, overdue, paid, or void.
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so description needn't repeat safety. Description adds ordering ('newest first') and optional filtering, which adds value beyond annotations but is not extensive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences front-loaded with action and purpose, immediately followed by exemplar queries. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool with 2 optional params and no output schema, description covers purpose, ordering, and filter. It could mention the return format (e.g., list of invoice objects), but is largely adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers 100% of parameters with clear descriptions. Description only repeats 'optionally filtered by status', adding no new meaning beyond what schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool lists recent invoices sorted newest first with optional status filter, and provides example queries. This distinguishes it from siblings like list_outstanding_invoices which focus on unpaid ones.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Description gives concrete example questions ('show me my latest invoices', 'which invoices are overdue?') indicating when to use. However, it does not explicitly exclude alternatives or state when not to use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_uncategorized_transactionsUncategorized transactionsA
Read-only
Inspect

List bank transactions still waiting to be categorized/reviewed, with a count and total. Answers "what bank transactions still need categorizing?"

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoHow many to return (default 10, max 50).
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the description adds limited new behavioral context. It mentions returning 'count and total', which is useful but not extensive. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the action and resource, and no extraneous information. Every phrase earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

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 and no output schema, the description covers the key aspects: purpose, result (count and total), and a usage question. Could mention pagination or default limit, but the schema covers the limit. Satisfactory.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for the single 'limit' parameter, which provides adequate meaning. The description does not add further parameter details beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists bank transactions waiting to be categorized, with count and total. It answers a specific question, distinguishing it from sibling tools that focus on summaries or other lists.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context by specifying the purpose (waiting to be categorized/reviewed) and the question it answers. However, it does not explicitly state when not to use it or mention alternative tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Discussions

No comments yet. Be the first to start the discussion!

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources