Skip to main content
Glama
inakirealise

BoondManager MCP Server

by inakirealise

BoondManager MCP Server

A Model Context Protocol (MCP) server that provides seamless integration with the BoondManager API, enabling AI assistants like Claude to search, retrieve, create, and update records in your BoondManager instance.

Features

  • Comprehensive API Coverage: 94 tools across 8 business domains

  • Full CRUD Operations: Search, read, create, and update records

  • Type-Safe: Built with TypeScript and Zod validation

  • Claude Desktop Integration: Easy setup with Claude for Desktop

  • Error Handling: Comprehensive error handling with helpful messages

Related MCP server: yt-mcp-server-odoo

Prerequisites

  • Node.js 18+ or Bun

  • A BoondManager account with API access

  • Your BoondManager API token

Installation

# Clone the repository
git clone https://github.com/yourusername/boond-mcp.git
cd boond-mcp

# Install dependencies
bun install

# Build the project
bun run build

# Set up environment variables
cp .env.example .env
# Edit .env and add your BOOND_API_TOKEN

Configuration

Environment Variables

Create a .env file in the project root:

BOOND_API_TOKEN=your_api_token_here

Claude Desktop Setup

Add the following to your Claude Desktop configuration file:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "boondmanager": {
      "command": "node",
      "args": ["/absolute/path/to/boond-mcp/build/index.js"],
      "env": {
        "BOOND_API_TOKEN": "your_api_token_here"
      }
    }
  }
}

Note: Make sure to use the absolute path to the built index.js file.

Available Tools (94 Total)

HR Domain (16 tools)

Manage candidates, contacts, resources, and contracts.

Candidates

  • boond_candidates_search - Search for candidates with optional filters

    • Parameters: query, page, limit, status

  • boond_candidates_get - Get a candidate by ID

    • Parameters: id

  • boond_candidates_create - Create a new candidate

    • Parameters: firstName, lastName, email, phone, address, city, country

  • boond_candidates_update - Update an existing candidate

    • Parameters: id, plus any fields to update

Contacts

  • boond_contacts_search - Search for contacts

    • Parameters: query, page, limit, companyId

  • boond_contacts_get - Get a contact by ID

    • Parameters: id

  • boond_contacts_create - Create a new contact

    • Parameters: firstName, lastName, email, companyId, phone, title

  • boond_contacts_update - Update an existing contact

    • Parameters: id, plus any fields to update

Resources

  • boond_resources_search - Search for resources

    • Parameters: query, page, limit, status

  • boond_resources_get - Get a resource by ID

    • Parameters: id

  • boond_resources_create - Create a new resource

    • Parameters: firstName, lastName, email, type, startDate

  • boond_resources_update - Update an existing resource

    • Parameters: id, plus any fields to update

Contracts

  • boond_contracts_search - Search for contracts

    • Parameters: query, page, limit, status

  • boond_contracts_get - Get a contract by ID

    • Parameters: id

  • boond_contracts_create - Create a new contract

    • Parameters: resourceId, startDate, endDate, type, salary

  • boond_contracts_update - Update an existing contract

    • Parameters: id, plus any fields to update

CRM Domain (15 tools)

Manage companies, opportunities, and quotations.

Companies

  • boond_companies_search - Search for companies

    • Parameters: query, page, limit, type

  • boond_companies_get - Get a company by ID

    • Parameters: id

  • boond_companies_create - Create a new company

    • Parameters: name, type, address, city, country, phone, email

  • boond_companies_update - Update an existing company

    • Parameters: id, plus any fields to update

Opportunities

  • boond_opportunities_search - Search for opportunities

    • Parameters: query, page, limit, status, companyId

  • boond_opportunities_get - Get an opportunity by ID

    • Parameters: id

  • boond_opportunities_create - Create a new opportunity

    • Parameters: title, companyId, value, currency, probability, expectedCloseDate

  • boond_opportunities_update - Update an existing opportunity

    • Parameters: id, plus any fields to update

Quotations

  • boond_quotations_search - Search for quotations

    • Parameters: query, page, limit, status, opportunityId

  • boond_quotations_get - Get a quotation by ID

    • Parameters: id

  • boond_quotations_create - Create a new quotation

    • Parameters: opportunityId, title, total, currency, validUntil

  • boond_quotations_update - Update an existing quotation

    • Parameters: id, plus any fields to update

  • boond_quotations_send - Send a quotation to client

    • Parameters: id, email, message

Finance Domain (16 tools)

Manage invoices, purchases, orders, and banking.

Invoices

  • boond_invoices_search - Search for invoices

    • Parameters: query, page, limit, status, dateFrom, dateTo

  • boond_invoices_get - Get an invoice by ID

    • Parameters: id

  • boond_invoices_create - Create a new invoice

    • Parameters: companyId, projectId, amount, currency, dueDate

  • boond_invoices_update - Update an existing invoice

    • Parameters: id, plus any fields to update

Purchases

  • boond_purchases_search - Search for purchases

    • Parameters: query, page, limit, status, dateFrom, dateTo

  • boond_purchases_get - Get a purchase by ID

    • Parameters: id

  • boond_purchases_create - Create a new purchase

    • Parameters: supplierId, amount, currency, description, date

  • boond_purchases_update - Update an existing purchase

    • Parameters: id, plus any fields to update

Orders

  • boond_orders_search - Search for orders

    • Parameters: query, page, limit, status, dateFrom, dateTo

  • boond_orders_get - Get an order by ID

    • Parameters: id

  • boond_orders_create - Create a new order

    • Parameters: companyId, projectId, amount, currency, description

  • boond_orders_update - Update an existing order

    • Parameters: id, plus any fields to update

Banking

  • boond_banking_accounts_search - Search banking accounts

    • Parameters: query, page, limit

  • boond_banking_accounts_get - Get a banking account by ID

    • Parameters: id

  • boond_banking_transactions_search - Search banking transactions

    • Parameters: accountId, dateFrom, dateTo, page, limit

Projects Domain (13 tools)

Manage projects, deliveries, and actions.

Projects

  • boond_projects_search - Search for projects

    • Parameters: query, page, limit, status, companyId

  • boond_projects_get - Get a project by ID

    • Parameters: id

Deliveries

  • boond_deliveries_search - Search for deliveries

    • Parameters: query, page, limit, projectId, status

  • boond_deliveries_get - Get a delivery by ID

    • Parameters: id

  • boond_deliveries_create - Create a new delivery

    • Parameters: projectId, name, description, dueDate

  • boond_deliveries_update - Update an existing delivery

    • Parameters: id, plus any fields to update

  • boond_deliveries_send - Send a delivery notification

    • Parameters: id, email, message

Actions

  • boond_actions_search - Search for actions

    • Parameters: query, page, limit, projectId, status, assignedTo

  • boond_actions_get - Get an action by ID

    • Parameters: id

  • boond_actions_create - Create a new action

    • Parameters: projectId, name, description, assignedTo, dueDate, priority

  • boond_actions_update - Update an existing action

    • Parameters: id, plus any fields to update

  • boond_actions_delete - Delete an action

    • Parameters: id

Time Domain (16 tools)

Manage time reports, absences, and expenses.

Time Reports

  • boond_timereports_search - Search time reports

    • Parameters: resourceId, startDate, endDate, status, page, limit

  • boond_timereports_get - Get a time report by ID

    • Parameters: id

  • boond_timereports_create - Create a new time report

    • Parameters: resourceId, date, hours, projectId, description

Absences

  • boond_absences_search - Search for absences

    • Parameters: resourceId, startDate, endDate, type, status, page, limit

  • boond_absences_get - Get an absence by ID

    • Parameters: id

  • boond_absences_create - Create a new absence

    • Parameters: resourceId, startDate, endDate, type, reason

  • boond_absences_update - Update an existing absence

    • Parameters: id, plus any fields to update

Expenses

  • boond_expenses_search - Search for expense reports

    • Parameters: resourceId, startDate, endDate, status, page, limit

  • boond_expenses_get - Get an expense report by ID

    • Parameters: id

  • boond_expenses_create - Create a new expense report

    • Parameters: resourceId, date, amount, currency, category, description

  • boond_expenses_update - Update an existing expense report

    • Parameters: id, plus any fields to update

  • boond_expenses_certify - Certify an expense report

    • Parameters: id

  • boond_expenses_reject - Reject an expense report

    • Parameters: id, reason

Admin Domain (12 tools)

Manage agencies, business units, and accounts.

Agencies

  • boond_agencies_search - Search for agencies

    • Parameters: query, page, limit

  • boond_agencies_get - Get an agency by ID

    • Parameters: id

  • boond_agencies_create - Create a new agency

    • Parameters: name, address, city, country, phone, email

  • boond_agencies_update - Update an existing agency

    • Parameters: id, plus any fields to update

Business Units

  • boond_businessunits_search - Search for business units

    • Parameters: query, page, limit

  • boond_businessunits_get - Get a business unit by ID

    • Parameters: id

  • boond_businessunits_create - Create a new business unit

    • Parameters: name, code, description, managerId

  • boond_businessunits_update - Update an existing business unit

    • Parameters: id, plus any fields to update

Accounts

  • boond_accounts_search - Search for accounts

    • Parameters: query, page, limit

  • boond_accounts_get - Get an account by ID

    • Parameters: id

  • boond_accounts_create - Create a new account

    • Parameters: name, type, number, currency, balance

  • boond_accounts_update - Update an existing account

    • Parameters: id, plus any fields to update

Documents Domain (4 tools)

Manage documents and files.

  • boond_documents_search - Search for documents

    • Parameters: query, page, limit, folderId

  • boond_documents_get - Get a document by ID

    • Parameters: id

  • boond_documents_update - Update document metadata

    • Parameters: id, name, folderId

  • boond_documents_download - Get document download URL

    • Parameters: id

System Domain (10 tools)

Manage apps, settings, and alerts.

Apps

  • boond_apps_search - Search for apps

    • Parameters: query, page, limit, type

  • boond_apps_get - Get an app by ID

    • Parameters: id

  • boond_apps_install - Install an app

    • Parameters: id

  • boond_apps_uninstall - Uninstall an app

    • Parameters: id

Settings

  • boond_settings_search - Search for settings

    • Parameters: query, page, limit, category

  • boond_settings_get - Get a setting by ID

    • Parameters: id

  • boond_settings_update - Update a setting

    • Parameters: id, value, category

Alerts

  • boond_alerts_search - Search for alerts

    • Parameters: query, page, limit, status, severity

  • boond_alerts_get - Get an alert by ID

    • Parameters: id

  • boond_alerts_update - Update an alert (resolve)

    • Parameters: id, status, resolution

Usage Examples

With Claude Desktop

Once configured, you can ask Claude to:

HR Management:

"Find candidates with React experience in Paris"
"Create a new contact for John Doe at Acme Corp"
"Get resource details for employee ID 12345"
"Update contract end date for resource 67890"

CRM Operations:

"Search for all client companies"
"Create a new opportunity worth €50,000 for Company XYZ"
"Send quotation ID 12345 to the client"
"Get all active opportunities for Q1"

Financial Management:

"Search for unpaid invoices from last month"
"Create a new purchase order for €5,000"
"Get banking transaction history for account 12345"
"Update invoice status to paid for ID 67890"

Project Management:

"Show me all active projects"
"Create a new delivery milestone for Project ABC"
"Assign action item to John for Project XYZ"
"Get project details including all deliveries"

Time & Expenses:

"Create a time report for resource 123 on project 456 for 8 hours today"
"Search time reports for resource 123 from January 1st to January 31st"
"Submit expense report for €150 in travel costs"
"Certify expense report ID 789"

Administration:

"Search for all agencies"
"Create a new business unit called 'Sales Team'"
"Get account balance for account ID 12345"
"Update agency address for Paris office"

Document Management:

"Search for documents in folder 'Contracts'"
"Get download URL for document ID 12345"
"Update document name to 'Updated Contract v2'"

System Configuration:

"Search for email notification settings"
"Install the Gmail integration app"
"Get all active alerts"
"Resolve alert ID 12345"

Direct MCP Protocol

You can also interact with the server directly using the MCP protocol:

# List available tools
echo '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | node build/index.js

# Search candidates
echo '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"boond_candidates_search","arguments":{"query":"developer","limit":5}}}' | node build/index.js

# Get company by ID
echo '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"boond_companies_get","arguments":{"id":"12345"}}}' | node build/index.js

# Create time report
echo '{"jsonrpc":"2.0","id":4,"method":"tools/call","params":{"name":"boond_timereports_create","arguments":{"resourceId":"123","date":"2024-01-15","hours":8,"projectId":"456","description":"Worked on feature X"}}}' | node build/index.js

Development

# Build the project
bun run build

# Watch mode for development
bun run dev

# Run the server
bun start

# Type check
bunx tsc --noEmit

# Count registered tools
echo '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | BOOND_API_TOKEN=test bun run src/index.ts 2>/dev/null | jq '.result.tools | length'

Project Structure

boond-mcp/
├── src/
│   ├── index.ts              # MCP server entry point
│   ├── api/
│   │   ├── client.ts         # BoondManager API client
│   │   └── index.ts          # API exports
│   ├── tools/
│   │   ├── index.ts          # Main tool exports
│   │   ├── hr/               # HR domain tools
│   │   │   ├── candidates.ts
│   │   │   ├── contacts.ts
│   │   │   ├── resources.ts
│   │   │   ├── contracts.ts
│   │   │   └── index.ts
│   │   ├── crm/              # CRM domain tools
│   │   │   ├── companies.ts
│   │   │   ├── opportunities.ts
│   │   │   ├── quotations.ts
│   │   │   └── index.ts
│   │   ├── finance/          # Finance domain tools
│   │   │   ├── invoices.ts
│   │   │   ├── purchases.ts
│   │   │   ├── orders.ts
│   │   │   ├── banking.ts
│   │   │   └── index.ts
│   │   ├── projects/         # Projects domain tools
│   │   │   ├── projects.ts
│   │   │   ├── deliveries.ts
│   │   │   ├── actions.ts
│   │   │   └── index.ts
│   │   ├── time/             # Time domain tools
│   │   │   ├── timeReports.ts
│   │   │   ├── absences.ts
│   │   │   ├── expenses.ts
│   │   │   └── index.ts
│   │   ├── admin/            # Admin domain tools
│   │   │   ├── agencies.ts
│   │   │   ├── businessUnits.ts
│   │   │   ├── accounts.ts
│   │   │   └── index.ts
│   │   ├── documents/        # Documents domain tools
│   │   │   ├── documents.ts
│   │   │   └── index.ts
│   │   └── system/           # System domain tools
│   │       ├── apps.ts
│   │       ├── settings.ts
│   │       ├── alerts.ts
│   │       └── index.ts
│   └── types/
│       ├── boond.ts          # BoondManager API types
│       ├── mcp.ts            # MCP-specific types
│       ├── schemas.ts        # Zod validation schemas
│       └── index.ts          # Type exports
├── build/                    # Compiled JavaScript
├── package.json
├── tsconfig.json
└── README.md

Troubleshooting

"BOOND_API_TOKEN environment variable is not set"

Make sure you've set the BOOND_API_TOKEN environment variable either in your .env file or in the Claude Desktop configuration.

"Authentication failed" or 401 errors

  • Verify your API token is correct

  • Check that the token has the necessary permissions

  • Ensure your BoondManager instance URL is correct (default: https://ui.boondmanager.com)

"Resource not found" or 404 errors

  • Verify the ID you're using exists in your BoondManager instance

  • Check that you have permission to access that resource

"Validation error" or 422 errors

  • Check that all required parameters are provided

  • Verify parameter types (e.g., dates should be in ISO format)

  • Ensure enum values match allowed options

Server won't start

  • Ensure you've run bun run build to compile the TypeScript

  • Check that all dependencies are installed (bun install)

  • Verify Node.js version is 18 or higher

  • Check that BOOND_API_TOKEN is set

Tool not found

If you get "Tool not found" errors:

  • Verify the tool name is correct (check spelling)

  • Ensure the server has been rebuilt after adding new tools

  • Check that the tool is properly registered in src/index.ts

API Reference

This MCP server wraps the BoondManager API. For detailed API documentation, visit: https://doc.boondmanager.com/api-externe/

License

MIT

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Changelog

v0.2.0 (2026-02-03)

  • Expanded from 12 to 94 tools

  • Added 8 domain-based tool organization

  • New domains: HR, CRM, Finance, Projects, Time, Admin, Documents, System

  • Full CRUD operations across all domains

  • Comprehensive documentation

v0.1.0 (2026-01-15)

  • Initial release with 12 tools

  • Basic CRUD for candidates, companies, projects, time reports

Available Tools

95 tools
boond_absences_createC

Create a new absence

ParametersJSON Schema
NameRequiredDescriptionDefault
typeYes
reasonNo
statusNo
endDateYes
startDateYes
resourceIdYes

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are present, so the description carries the full burden of behavioral disclosure. It only restates the mutation ('create') and does not explain persistence behavior, default status, required permissions, validation rules, or the response. This is insufficient for a mutation tool.

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

Conciseness4/5

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

The description is a single, efficient sentence with no filler and the verb front-loaded. It is appropriately brief for a straightforward create operation, though it is so sparse that it sacrifices useful guidance.

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

Completeness2/5

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

For a create operation with 6 parameters, 4 required fields, enum constraints, no output schema, and no annotations, a one-line description is inadequate. The agent lacks information about required field semantics, type combinations, status default behavior, or what the create call returns.

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

Parameters1/5

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 by explaining parameter meanings; it names none. Required parameters like resourceId, type, startDate, and endDate are left entirely to the schema. The description adds no semantic value beyond the parameter names already present in the schema.

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

Purpose4/5

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

The description states a clear verb and resource: 'Create a new absence.' It also distinguishes itself from sibling tools like boond_absences_search, boond_absences_get, and boond_absences_update via the create operation. It lacks additional scoping details, but the purpose is unambiguous.

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?

Usage is only implied by the tool name and the imperative 'Create'; there is no explicit guidance about when to use this over alternatives or any prerequisites. The intended use case—creating a new absence—is reasonably inferable, but no conditions or exclusions are provided.

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

boond_absences_getB

Get an absence by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

B3/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. 'Get' clearly implies a read-only operation, which is accurate, but it does not disclose what happens if the ID is not found, whether there are rate limits, or what the response format is. For a simple getter, this 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.

Conciseness5/5

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

The description is a single, tight sentence with no filler. It front-loads the action and scope efficiently.

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

Completeness2/5

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

For a simple get-by-ID tool, the description fails to mention what is returned (e.g., the absence object) and does not address error cases. With no output schema and no annotations, the agent is left without essential details about the expected response, making the description incomplete for a tool this simple.

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

Parameters2/5

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

The schema has one parameter 'id' with zero description coverage. The tool description adds only 'by ID', which does not elaborate on the ID's format, source, or any constraints beyond the schema's minLength. Since schema coverage is 0%, the description should compensate but does not provide meaningful added information.

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

Purpose4/5

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

The description 'Get an absence by ID' clearly states a specific verb and resource, and the ID parameter anchors it as a single-record retrieval. It is distinguishable from its search sibling by the explicit 'by ID' scope, though it does not name the sibling explicitly.

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

Usage Guidelines2/5

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 the search alternative (boond_absences_search). The description does not mention that one would typically search first to obtain the ID, nor does it state any exclusions or prerequisites. This leaves the agent to infer usage context.

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

boond_absences_updateC

Update an existing absence

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
typeNo
reasonNo
statusNo
endDateNo
startDateNo
resourceIdNo

TDQS

C2.4/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure, but it merely says 'Update an existing absence.' It does not state whether the update is partial, whether it modifies all fields or only provided ones, what validations apply, who can perform it, or what response 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.

Conciseness3/5

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

The description is extremely short and front-loaded, which is structurally clean, but it is under-specified for a tool with 7 parameters and no annotations. Conciseness is achieved at the expense of essential information.

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

Completeness1/5

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

Given 7 parameters, no output schema, no annotations, and 0% schema description coverage, the description is far too sparse. An agent has no idea what fields are updatable, what the required id means contextually, or what happens after the call succeeds.

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

Parameters1/5

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

Schema description coverage is 0%, and the description adds zero meaning to any of the 7 parameters. It neither maps simple parameters to intent nor clarifies nuanced fields like status or type beyond what the schema enums already show.

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

Purpose4/5

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

The description clearly identifies the action ('Update') and the resource ('an existing absence'), and the word 'existing' distinguishes it from create, search, or get operations for absences. It is concise and unambiguous, though it does not enumerate what aspects of the absence can be updated.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus siblings like boond_absences_create, boond_absences_search, or boond_absences_get. It implies the absence must already exist but gives no prerequisites, workflow context, or exclusions.

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

boond_accounts_createC

Create a new account

ParametersJSON Schema
NameRequiredDescriptionDefault
roleYes
emailYes
statusNo
usernameYes

TDQS

C2.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. 'Create a new account' implies a write operation, but it does not state whether the account is immediately active, whether email verification is required, whether duplicate usernames/emails are rejected, or what the response contains. The description adds no behavioral context beyond the obvious mutation.

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

Conciseness3/5

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

The description is extremely short and front-loaded, which is good for conciseness, but it is under-specified. A single sentence with no additional context is not a well-structured description; it is merely a label. It earns a 3 because it is not verbose, but it fails to provide useful structure or detail.

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

Completeness2/5

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

Given the tool has 4 parameters, 3 required, no output schema, and no annotations, the description is incomplete. An agent needs to know what an 'account' is in this domain, what the required fields mean, and what happens after creation. The description provides none of this, making it inadequate for reliable invocation.

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

Parameters2/5

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 the schema's lack of parameter documentation. The description does not mention any parameters, leaving the agent to infer that username, email, role, and status are the relevant fields. The schema provides enums for role and status, but the description adds no meaning about how these fields interact or which are required beyond the schema's required list.

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

Purpose3/5

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

The description 'Create a new account' states a clear verb and resource, but it does not distinguish this tool from the many other create tools in the sibling list, nor does it clarify what kind of 'account' is being created (e.g., user account, login account, client account). It is minimally clear but lacks specificity.

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

Usage Guidelines2/5

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. The sibling list includes boond_accounts_search, boond_accounts_get, and boond_accounts_update, but the description does not mention them or any conditions for choosing this create tool. The agent must infer usage from the name alone.

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

boond_accounts_getC

Get an account by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It says 'Get an account by ID' which implies a read-only operation, but it does not mention side effects, error behavior, authorization requirements, or return format. This is minimal and leaves too much to inference.

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 and front-loaded, containing six words with no fluff. It states the core action and scope immediately, which is ideal for quick agent parsing.

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

Completeness3/5

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

For a simple get-by-ID tool with one parameter, this is minimally adequate. However, there is no output schema or description of the return value, and the description does not address potential errors (e.g., not found) or response shape. Given the lack of annotations, a bit more context would improve completeness.

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

Parameters2/5

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 the undocumented 'id' parameter. It adds 'by ID', which is nearly redundant with the schema property name and the tool name. It does not clarify what type of ID, whether it is a path or query parameter, or any format constraints beyond the schema's minLength.

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

Purpose4/5

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

The description uses a specific verb and resource ('Get an account') and clarifies the scope ('by ID'), which distinguishes it from the sibling search tools like boond_accounts_search. However, it does not explicitly differentiate from boond_banking_accounts_get, and the word 'account' could be ambiguous in this context.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives, such as boond_accounts_search for listing or boond_accounts_get when you have an ID. The description simply states the action without providing contextual selection criteria or exclusions.

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

boond_accounts_updateC

Update an existing account

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
roleNo
emailNo
statusNo
usernameNo

TDQS

C2.6/5.0
Behavior2/5

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

No annotations exist, so the description carries the full burden of behavioral disclosure. 'Update' implies mutation, but the description does not state whether this is a partial or full update, what happens to unspecified fields, whether re-authentication is needed, or any side effects. This is a significant gap for a mutation tool.

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

Conciseness4/5

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

The description is a single, front-loaded sentence with no filler or repetition. It is concise and easy to parse, though the brevity sacrifices informative content. No structural issues.

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

Completeness1/5

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

With five parameters, no output schema, and no annotations, this one-sentence description is severely under-specified. An agent cannot know which parameters are intended to be updated together, whether all fields are optional besides id, the effect on the account, or the expected response. This is grossly inadequate for safe invocation.

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

Parameters2/5

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

Schema description coverage is 0%, and the description adds no parameter information at all. The schema itself provides field names and enums, but the description does not clarify semantics like whether 'status' and 'role' are limited to the enum values, whether 'id' must identify an existing account, or if updating one field preserves others. The description fails to compensate for the schema's lack of textual guidance.

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

Purpose4/5

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

The description states a clear action and resource: 'Update an existing account.' It distinguishes the operation (update vs. search/get/create) and names the resource, which is sufficient to identify what the tool does. However, it doesn't mention which fields are updatable or any specifics beyond the generic verb-resource pairing.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives like boond_accounts_create or boond_accounts_get. No conditions, prerequisites, or exclusions are provided. The agent must infer usage solely from the name and sibling list.

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

boond_actions_createB

Create a new action

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesAction name
statusNoAction statusopen
dueDateNoDue date (ISO 8601 format)
priorityNoAction priority
projectIdNoProject ID
assignedToNoUser ID to assign action to
descriptionNoAction description

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of disclosing behavioral traits. It only says 'Create a new action,' which conveys a mutating create operation but not side effects, permissions, required context, or what happens on success or failure. There is no contradiction with annotations because none exist.

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 a single clear sentence with no filler. It is front-loaded and appropriately sized for a straightforward create tool, making it easy for an agent to parse quickly.

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

Completeness3/5

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

For a create tool with complete schema coverage, the description is minimally viable: it names the operation and resource, and the schema covers invocation. However, with no annotations and no output schema, there is no information about the returned object, error behavior, or any business-specific constraints tied to creating an action.

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 already describes all seven parameters with 100% coverage, so the description does not need to repeat them. The description adds no additional parameter-level meaning beyond what the schema provides, which matches the baseline for high schema coverage.

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

Purpose4/5

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

The description uses a specific verb and resource: 'Create a new action.' This identifies the operation and distinguishes it from sibling create tools for other resources like candidates, contracts, or invoices. It does not explain what an 'action' represents in the domain, so it stops short of a 5.

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 verb 'Create' and the resource 'action' imply this tool is for creating a new action, and the schema reinforces that only 'name' is required. However, there is no explicit guidance about when to use this over boond_actions_update, boond_actions_search, or how this create differs from other resource creates.

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

boond_actions_deleteC

Delete an action

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesAction ID

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. 'Delete an action' only restates the operation and does not disclose that deletion is permanent/irreversible, what consequences may occur, or whether special authorization is required.

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 three words, front-loads the verb, and contains no filler or redundant phrasing. It earns its place, though the resulting lack of detail is captured in other dimensions.

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

Completeness2/5

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

For a destructive one-parameter tool with no annotations and no output schema, the description is too thin. It omits the irreversible nature of the delete, any response behavior, and confirmation/caution guidance, leaving an agent without enough context about consequences before invoking.

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 already fully documents the sole 'id' parameter with minLength and 'Action ID', so the description adds no additional parameter meaning. Since schema coverage is 100%, the baseline of 3 applies despite the description being minimal.

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

Purpose4/5

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

The description uses a specific verb ('Delete') and resource ('action'), and the destructive verb distinguishes it from sibling tools like boond_actions_create, update, get, and search. However, it is nearly a direct restatement of the tool name and adds no clarifying detail about scope or behavior.

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

Usage Guidelines2/5

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

No guidance is provided about when to use this tool vs alternatives, whether the action must already exist, or any caveats about deletion. The intended use case is only implied by the verb 'delete', and no exclusions or prerequisites are mentioned.

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

boond_actions_getC

Get an action by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesAction ID

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations provided, the description must carry the full burden of behavioral disclosure. It only states 'Get', implying a read operation, but does not specify whether it returns the full object, handles missing IDs, or requires special permissions. This leaves significant uncertainty for a tool with zero 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.

Conciseness3/5

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

The description is a single short sentence, which is concise but lacks structure. It is not tautological and does state the core operation, but it does not front-load any additional context or provide a logical flow. It is minimally adequate for a simple getter.

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

Completeness2/5

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

There is no output schema, so the description should explain what the tool returns. It does not mention the response shape, potential errors, or side effects. For a simple read tool, this is a notable gap; an agent cannot fully predict the outcome without additional knowledge.

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 already describes the sole parameter 'id' with 100% coverage. The description adds no extra meaning about the parameter, such as format constraints or usage nuances. Since schema coverage is high, baseline 3 is appropriate; the description neither compensates nor detracts.

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

Purpose4/5

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

The description 'Get an action by ID' clearly states a verb (Get), a resource (an action), and the key identifier (ID). It distinguishes from siblings like boond_actions_search, create, update, and delete by specifying a direct fetch operation. However, it does not elaborate on what an action is or what the response contains, slightly limiting clarity.

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

Usage Guidelines2/5

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 boond_actions_search. There is no mention of scenarios (e.g., when you already have the ID) or exclusions (e.g., use search when filtering). The agent must infer usage from the name alone.

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

boond_actions_updateC

Update an existing action

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesAction ID
nameNoAction name
statusNoAction status
dueDateNoDue date (ISO 8601 format)
priorityNoAction priority
assignedToNoUser ID to assign action to
descriptionNoAction description

TDQS

C2.6/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It only says 'update,' which implies mutation but reveals nothing about partial vs. full updates, permission requirements, idempotency, or side effects. This is a significant gap for a tool with no annotation safety hints.

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

Conciseness2/5

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

The description is only four words and is front-loaded, but it is too terse for a tool of this complexity. It omits essential information such as whether fields are optional, how the update behaves, and what response to expect. It is under-specified rather than genuinely concise.

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

Completeness1/5

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

For a tool with seven parameters, no annotations, and no output schema, the description is severely incomplete. It provides no usage context, no behavioral details, and no information about return values. An agent would have to rely entirely on the schema and naming conventions, leaving too much room for incorrect invocation.

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 all seven parameters are documented in the schema. The description adds no information about parameters, which is acceptable given the high coverage, landing at the baseline score of 3.

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

Purpose4/5

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

The description states a specific verb ('update') and a clear resource ('action'), which distinguishes it from sibling tools like create, get, search, and delete. It is concise and unambiguous, though it adds no extra scope or nuance beyond the basic operation.

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

Usage Guidelines2/5

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. There is no mention of requiring an existing ID, differences from create/delete, or any prerequisites. The agent must infer that this is for modifying an existing action, which is implicit but not explicitly stated.

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

boond_agencies_createC

Create a new agency

ParametersJSON Schema
NameRequiredDescriptionDefault
cityNo
nameYes
addressNo
countryNo

TDQS

C2.6/5.0
Behavior2/5

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

With no annotations provided, the description carries full responsibility for behavioral disclosure. 'Create a new agency' only states the basic action; it does not disclose potential side effects, permission requirements, irreversibility, or data validation behavior. This is a significant gap for a mutation tool.

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

Conciseness4/5

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

The description is a single, clear sentence with no wasted words. It is front-loaded and compact, earning its place by stating the core purpose. However, it is perhaps too sparse, as it sacrifices helpful detail for brevity.

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

Completeness2/5

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

Given the lack of annotations and output schema, the description does not adequately prepare the agent to use the tool correctly. It does not explain required parameters (e.g., 'name' is mandatory), expected return values, or error handling. The tool is relatively simple, but the description still leaves many contextual gaps.

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

Parameters1/5

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

Schema description coverage is 0%, and the description adds no information about the parameters (name, city, address, country). It does not compensate for the missing schema documentation, leaving the agent to infer parameter meaning solely from names. This is insufficient for correct invocation.

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

Purpose4/5

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

The description 'Create a new agency' clearly identifies the action (create) and the resource (agency), distinguishing it from sibling tools like boond_agencies_search, get, and update. However, it does not provide any additional scoping or special meaning beyond the tool name, so it lacks the specificity that would warrant a 5.

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

Usage Guidelines2/5

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. The description does not mention that this is for inserting a new agency rather than updating an existing one, nor does it reference sibling tools for different operations. Usage must be inferred entirely from the tool name.

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

boond_agencies_getA

Get an agency by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

A3.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries full behavioral burden. 'Get an agency by ID' communicates read-only intent, which is useful, but it omits any detail about not-found behavior, authorization requirements, response shape, or potential side effects.

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

Conciseness5/5

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

The description is a single concise sentence with no wasted words or repetition. The key scoping detail ('by ID') is present 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?

For a simple read-by-ID tool with one required parameter and no output schema, this description is largely complete for invocation. It lacks error-handling and return-value details, but those are less critical for a straightforward fetch operation.

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 description coverage is 0%, but the description explicitly maps 'by ID' to the single required id parameter, adding meaning beyond the bare schema. For a one-parameter get tool, this is sufficient compensation for the missing schema descriptions.

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 a specific verb ('Get') and resource ('an agency') and uniquely identifies the operation by ID, making it clear this is a single-record fetch rather than a search or mutation. This distinguishes it from sibling tools like boond_agencies_search, boond_agencies_create, and boond_agencies_update.

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

Usage Guidelines2/5

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

No guidance is given about when to use this tool versus the alternatives. It is only implicitly clear that it should be used when you already have an agency ID, but no explicit alternatives, exclusions, or contextual triggers are provided.

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

boond_agencies_updateC

Update an existing agency

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
cityNo
nameNo
addressNo
countryNo

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are present, so the description carries the full burden. It only says 'Update an existing agency' and does not disclose whether this is a partial or full update, what fields are overwritten, whether the operation is reversible, or what response to expect. For a mutating tool this is a significant gap.

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 a single front-loaded sentence with no fluff or repetition. It is efficient, though arguably under-specified for the behavioral information an agent needs.

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

Completeness2/5

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

Given the operation mutates data and there are no annotations or output schema, the description is incomplete. It does not explain update semantics, side effects, or any prerequisites. For a low-complexity flat schema this is still a notable omission.

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

Parameters2/5

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, but it provides no parameter-level meaning. The field names (id, city, name, address, country) are self-explanatory, yet the description does not clarify which fields are updated, whether they are optional, or how the id selects the target agency.

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

Purpose4/5

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

The description clearly states a verb ('Update') and a resource ('an existing agency'), and the word 'existing' weakly distinguishes it from the create tool. However, it adds little beyond the tool name and does not differentiate from the broader CRUD family beyond the update action.

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

Usage Guidelines2/5

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

No guidance is given for when to use this tool versus boond_agencies_create, boond_agencies_search, or boond_agencies_get. The phrase 'existing' implies use on already-created agencies, but there are no explicit conditions, exclusions, or alternative recommendations.

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

boond_alerts_getC

Get an alert by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It merely restates the operation implied by the tool name and gives no information about not-found behavior, errors, response shape, or whether the operation is read-only beyond the word 'Get'.

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 five words long, front-loaded, and free of redundant text. It is efficient for a simple retrieval operation, though it stops just short of including helpful context such as what is returned.

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

Completeness3/5

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

For a one-parameter get operation, the description is minimally usable: an agent knows to pass an alert ID. However, with no annotations and no output schema, it leaves gaps around response contents and failure behavior, which a slightly fuller description could easily address.

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 only defines id as a required string with minLength 1 and no description. The phrase 'by ID' reinforces that the parameter is the alert identifier, which adds a little meaning, but it does not specify the ID format, source, or any additional constraints.

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

Purpose4/5

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

The description states a specific action ('Get') and resource ('an alert') and includes 'by ID', which distinguishes it from search-style siblings without explicitly naming them. It is clear and unambiguous about the operation's goal.

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

Usage Guidelines2/5

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

There is no guidance about when to use this tool instead of boond_alerts_search or boond_alerts_update, and no mention of prerequisites or exclusions. The only implicit cue is that the caller has an alert ID, but that is not stated as a usage rule.

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

boond_alerts_updateB

Update an alert status (mark as resolved)

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
resolvedNo

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description carries full responsibility for disclosing behavioral traits. It states that the tool updates status and mentions 'resolved,' but it does not explain side effects, whether the resolved flag can be set to false, authentication/authorization requirements, idempotency, or the shape of the response. For a mutation tool with zero annotation coverage, this is a significant gap.

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 a single, front-loaded sentence with no filler. It is concise and immediately states the tool's action, though it omits needed detail.

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

Completeness2/5

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

Given that the tool has two parameters, no output schema, and no annotations, the description is under-specified. An agent cannot tell what the tool returns, what happens if resolved is omitted, or whether the operation is reversible. The description is adequate only for the narrowest interpretation of marking an alert resolved.

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?

With 0% schema description coverage, the description must compensate. It clarifies that 'resolved' relates to the alert status and suggests the typical use case of marking as resolved, but it does not explain the full semantics of the boolean (e.g., false meaning un-resolved) or the id parameter. This is partial compensation.

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 the specific verb 'Update' and identifies the resource as 'alert status,' with the parenthetical 'mark as resolved' clarifying the intended operation. This clearly distinguishes it from sibling tools like boond_alerts_search and boond_alerts_get, which are read operations, and from update tools on other resources.

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?

There is no explicit statement about when to use this tool versus alternatives, nor any exclusions. The purpose is implied by the name and description, but no guidance is given about prerequisites (e.g., fetching the alert first) or 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.

boond_apps_getB

Get an app by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

B3.2/5.0
Behavior2/5

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

There are no annotations, so the description carries the full burden of behavioral disclosure. It only restates the operation as a read/get without mentioning side effects, error behavior, authentication requirements, rate limits, or return format. Minimal value beyond the tool name itself.

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 a single, front-loaded phrase with zero wasted words. Every word ('Get', 'an app', 'by ID') earns its place and directly conveys the core operation.

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

Completeness3/5

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

For a simple one-parameter getter with no output schema, the description covers the essential invocation correctly. However, it lacks any context on what an 'app' is, how the ID is obtained, what the response contains, or when to choose this over other retrieval tools. Adequate for the simplest case but with clear gaps.

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

Parameters2/5

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

Schema has 0% description coverage, so the description must compensate for the lone 'id' parameter. Saying 'by ID' provides only a weak link between the parameter and its role as an app identifier, but no format, source, or validation details are given beyond the schema's minLength constraint.

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 states a specific verb ('Get') and resource ('an app'), with the parameter scope 'by ID'. It clearly distinguishes this tool from siblings like boond_apps_search, boond_apps_install, and boond_apps_uninstall without needing to open schemas.

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

Usage Guidelines2/5

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

No guidance is given on when to use this tool versus the many sibling tools, particularly boond_apps_search. The agent is left to infer that 'get by ID' is for retrieving a single known app, while search is for finding apps, but the description does not state this.

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

boond_apps_installC

Install an app by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description must carry the full behavioral disclosure burden. 'Install an app by ID' conveys a mutating action but does not mention side effects, reversibility, permissions, idempotency, or behavior when the app is already installed.

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 a single front-loaded sentence with no wasted words. It is appropriately concise for a simple tool, even though it sacrifices behavioral and usage detail.

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

Completeness2/5

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

With no annotations, output schema, or parameter documentation, the description is too sparse for an agent to invoke the tool with full confidence. It omits prerequisites, expected outcomes, and the relationship to sibling search/get/uninstall tools, which is a significant gap for a mutating operation.

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

Parameters2/5

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

Schema description coverage is 0%, and the description only adds that the `id` parameter is an app identifier. It does not explain the ID format, where to obtain it, or whether it refers to an app catalog ID versus an installation instance ID, so the added meaning is minimal.

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 states a specific verb ('Install') and resource ('app'), and the qualifier 'by ID' specifies the selection mechanism. This clearly distinguishes it from sibling tools such as boond_apps_uninstall, boond_apps_get, and boond_apps_search.

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

Usage Guidelines2/5

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

The description gives no guidance on when to use this tool versus alternatives, such as whether an app must first be found via search/get, or how install differs from uninstall. No context, exclusions, or alternative routing is provided.

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

boond_apps_uninstallB

Uninstall an app by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are present, so the description carries the full burden of behavioral disclosure. It only states the action itself and does not reveal that uninstalling is likely destructive, irreversible, or may have side effects on associated data.

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 a single sentence with no wasted words. It front-loads the action and the target, making it easy to scan.

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

Completeness2/5

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

For a destructive operation with no annotations and no output schema, the description is too sparse. An agent gets no information about side effects, permissions, idempotency, or what happens after a successful uninstall.

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

Parameters2/5

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

The schema has 0% description coverage, and the description only says 'by ID', which largely restates the required 'id' property. It does not explain what kind of ID is expected, where to find it, or any format requirements beyond the schema's minimal string type.

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 states a specific verb ('Uninstall'), a clear resource ('an app'), and the identifying mechanism ('by ID'). This clearly distinguishes it from sibling tools like apps_install, apps_get, and apps_search.

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

Usage Guidelines2/5

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

There is no guidance about when to use this tool versus alternatives. It does not mention that it should be used to reverse an installation, nor does it contrast with apps_install or explain prerequisites or consequences.

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

boond_banking_accounts_getA

Get a banking account by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations present, the description must carry the behavioral burden. 'Get' conveys a read-only single-record retrieval, but there is no disclosure of errors, permissions, or response behavior, and no output schema compensates.

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 six words with no filler; the action and resource are front-loaded. It is as concise as the tool's simplicity allows.

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

Completeness3/5

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

For a simple one-parameter fetch this is minimally adequate, but the absence of annotations, output schema, and any routing to boond_banking_accounts_search leaves the agent without guidance on return shape, error cases, or how to discover a valid ID.

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 0%, so the description must compensate. 'By ID' maps directly to the single required `id` parameter and confirms it is the account identifier, but it adds no format, source, or lookup-detail beyond the schema's property name.

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

Purpose4/5

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

The description states a specific action ('Get') and resource ('banking account'), with the lookup criterion 'by ID'. It clearly identifies what this tool returns, though it does not explicitly contrast itself with the sibling boond_banking_accounts_search.

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 'by ID' phrasing implies this tool is for fetching one known banking account rather than running a search, but it never names boond_banking_accounts_search as the alternative or states when to choose it. Usage context is only implicit.

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

boond_businessunits_createC

Create a new business unit

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
parentIdNo
managerIdNo

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states the action 'Create' without detailing side effects, permissions, return values, or the implications of setting parentId or managerId. For a mutation tool, this is a notable gap.

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 a single, concise sentence that front-loads the core purpose. It contains no fluff, but it is extremely minimal—arguably under-specified. However, it is appropriately sized for stating the action, so it earns a 4.

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

Completeness1/5

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

The tool has 3 parameters and no output schema, yet the description does not address any of them or the expected response. It is completely inadequate for an agent to understand how to invoke the tool correctly, including what inputs are required or optional.

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

Parameters1/5

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

Schema description coverage is 0%, and the description does not explain any of the parameters (name, parentId, managerId). It adds no meaning beyond the raw schema, leaving the agent without guidance on what these fields represent or how they are used.

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 'Create' and the resource 'business unit', which distinguishes it from sibling tools like boond_businessunits_get, _update, and _search. It is unambiguous about the action and target.

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

Usage Guidelines2/5

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

The description gives no guidance on when to use this tool versus alternatives. It does not mention any prerequisites, context, or exclusions. The user must infer that creation is intended for new entities, but there is no explicit direction.

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

boond_businessunits_getB

Get a business unit by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the action ('get') but does not explicitly say it is a read-only operation, what the response contains, or how errors (e.g., not found) are handled. It is not misleading, but it provides minimal information about the tool's behavior beyond the basic action.

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 a single short sentence, 'Get a business unit by ID', which is direct, front-loaded, and free of unnecessary words. It conveys the essential information efficiently without redundancy.

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

Completeness3/5

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

The tool is simple: one parameter, no output schema, no nested objects. The description is minimally sufficient for an agent to understand the basic function, but it does not mention what the response contains or any edge cases. For such a low-complexity tool, this is barely adequate; a fuller description could state that it returns the business unit details or mention potential errors.

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 documents 'id' as a required string with minLength 1, and the description references it as 'by ID'. This adds a small amount of semantic value by connecting the parameter to the lookup purpose, but it does not provide examples, format details, or explanation of what the ID refers to. Given the simplicity of the single parameter, the schema already covers most of the meaning, so a baseline score of 3 is appropriate.

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

Purpose4/5

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

The description states a specific verb ('Get') and resource ('business unit') with a clear lookup key ('by ID'). It is not a tautology and is distinguishable from sibling tools like boond_businessunits_search, which implies listing, and boond_businessunits_create/update, which imply mutation. It lacks elaboration on what a business unit is, but that is not essential for a get-by-ID tool.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives such as boond_businessunits_search (for listing) or boond_businessunits_update (for modifications). It does not mention that this is the correct choice when you have a specific business unit ID, nor does it exclude cases where search would be more appropriate. No alternatives or exclusions are mentioned.

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

boond_businessunits_updateC

Update an existing business unit

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
nameNo
parentIdNo
managerIdNo

TDQS

C2.4/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. 'Update' implies mutation, and 'existing' indicates the target must already exist, but nothing is said about side effects, whether this is a partial or full replacement, permissions, or idempotency. This is insufficient for a mutation tool.

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

Conciseness3/5

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

The description is a single concise sentence with no fluff, but it is under-specified. It earns its place by stating the operation, yet offers no structured breakdown of behavior, parameters, or usage context.

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

Completeness1/5

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

For a tool with 4 parameters, no output schema, and no annotations, this description is far too thin. It does not explain which fields are updatable, whether it replaces or patches, or what success looks like. An agent would have to rely entirely on parameter names and guesswork.

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

Parameters1/5

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

Schema description coverage is 0%, and the description does not compensate. It mentions nothing about the parameters (id, name, parentId, managerId), their requiredness, or their meaning. The agent gets no help understanding what each field does or how they relate to the update operation.

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

Purpose4/5

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

The description states a clear verb ('Update') and a specific resource ('business unit'), and the sibling list distinguishes it from boond_businessunits_search, _get, and _create. It lacks detail on what exactly can be updated, but the core purpose is unambiguous.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives, no mention of prerequisites (e.g., needing an existing ID), and no exclusions. The description merely names the operation without supporting the agent's decision to select it over boond_businessunits_create.

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

boond_candidates_createC

Create a new candidate

ParametersJSON Schema
NameRequiredDescriptionDefault
cityNo
emailYes
phoneNo
addressNo
countryNo
lastNameYes
firstNameYes

TDQS

C2.4/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure, but it only says 'Create a new candidate.' It does not mention whether creation is idempotent, what side effects occur, what the response contains, or what happens on duplicate email or missing data.

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

Conciseness3/5

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

The description is a single short sentence with no filler, so it is concise. However, it is under-specified for a tool with seven parameters and no annotations; it provides only a minimal statement of purpose rather than a structured, useful definition.

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

Completeness2/5

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

For a create operation with no annotations and no output schema, the description should clarify expected behavior, return value, and constraints. It only names the operation, leaving the agent to infer response format, duplicate handling, and any organizational context around candidate creation.

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

Parameters1/5

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

Schema description coverage is 0%, yet the description mentions none of the seven parameters or the three required fields. An agent must rely entirely on property names in the schema; the description adds no semantic meaning beyond them.

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

Purpose4/5

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

The description 'Create a new candidate' states a clear action and resource, so an agent knows this tool creates candidates rather than searches or updates them. It does not add any details that distinguish it from other create tools beyond the resource name, which appears in the tool name itself.

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

Usage Guidelines2/5

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

There is no guidance about when to choose this tool over alternatives such as boond_candidates_update or boond_candidates_search. The description merely restates the tool's purpose and implies creation without stating prerequisites or exclusion conditions.

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

boond_candidates_getA

Get a candidate by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description bears the full burden. It only says 'get', which implies a read operation, but does not disclose error handling, authentication requirements, or response format. For a simple read, some detail is still expected.

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 a single concise phrase with no extraneous words, efficiently front-loading the core purpose.

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

Completeness3/5

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

Given the tool's simplicity (one parameter, no output schema), the description is minimally adequate for an agent to know it needs an ID. However, it omits return value details and potential error cases, which would be helpful for full 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?

The schema has 0% description coverage, but the description's 'by ID' provides context for the 'id' parameter, clarifying it is the candidate identifier. This adds some meaning beyond the schema, but it is minimal and does not elaborate on format or constraints.

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 'Get a candidate by ID' clearly states the action (get) and resource (candidate) with the identifier method, distinguishing it from boond_candidates_search, create, and update. It is specific and unambiguous.

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 phrase 'by ID' implies this tool is for when you already have the candidate's ID, suggesting alternatives like search when you don't. However, this guidance is not explicit; it does not state when not to use it or name the search alternative.

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

boond_candidates_updateC

Update an existing candidate

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
cityNo
emailNo
phoneNo
addressNo
countryNo
lastNameNo
firstNameNo

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavior on its own. Saying 'Update an existing candidate' only reveals that this is a mutation operation; it does not explain whether unspecified fields are preserved, whether the update is partial or full, what happens if the candidate does not exist, or what permissions are required.

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

Conciseness3/5

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

The description is very short and contains no filler, so it is easy to parse. However, it is under-specified for an 8-parameter mutation tool; the sentence is concise but not appropriately sized to the complexity of the operation.

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

Completeness2/5

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

For an update operation with 8 parameters, no annotations, and no output schema, this description is too thin. It does not explain expected return values, error cases, partial-update semantics, or how the optional fields interact, leaving an agent without enough context to invoke the tool reliably.

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

Parameters2/5

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

Schema description coverage is 0%, and the description adds no meaning to any of the 8 parameters. The parameter names and types give some signal (id, firstName, email, etc.), but the description itself does not clarify which fields are updatable in practice, which are optional when updating, or how the id parameter relates to the rest of the payload.

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

Purpose4/5

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

The description names a specific verb ('Update') and resource ('existing candidate'), and the word 'existing' signals that this tool is for modifying an already-created candidate rather than creating or retrieving one. It is clear enough to distinguish the basic intent from sibling tools such as create/get, although it does not elaborate on what updates are possible.

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

Usage Guidelines2/5

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

There is no guidance about when to use this tool instead of boond_candidates_create, boond_candidates_get, or the other update tools. The phrase 'existing candidate' implies a non-creation use case, but there are no explicit conditions, exclusions, or alternatives mentioned.

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

boond_companies_createC

Create a new company

ParametersJSON Schema
NameRequiredDescriptionDefault
cityNo
nameYes
typeNo
addressNo
countryNo
contactsNo

TDQS

C2.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states 'Create a new company' without revealing required permissions, idempotency, side effects, or response format. For a mutation tool with zero annotation coverage, this is a significant gap.

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 a single, concise sentence with no wasted words. It is front-loaded and efficient, but the brevity borders on under-specification. However, for the dimension of conciseness, it is appropriately minimal in structure, even if the content is lacking.

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

Completeness1/5

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

Given the tool has 6 parameters, no output schema, and no annotations, the description is grossly incomplete. An agent cannot determine required fields, the meaning of the 'type' enum, or expected return values. The description provides almost no operational context, making it inadequate for correct invocation.

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

Parameters1/5

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

The schema has 0% description coverage, meaning the description does not explain any parameters. With 6 properties, including a required 'name' and an enum 'type', the description adds no meaning beyond what the schema already provides. The description fails to compensate for the lack of parameter documentation.

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

Purpose4/5

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

The description states a specific verb and resource: 'Create a new company.' It is clear about the action, though it does not differentiate from other create tools (e.g., boond_candidates_create) beyond the resource name. The resource name is self-evident, so it adds minimal value but is not misleading.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites, such as whether a company type is required, nor does it contrast with boond_companies_update or search tools. An agent has no contextual cues to decide between this and related tools.

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

boond_companies_getC

Get a company by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

C2.3/5.0
Behavior1/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It only states the basic operation without any information about permissions, error handling, response format, or what happens if the ID is not found. An agent cannot anticipate any side effects, data returned, or failure modes.

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 a single, short sentence with no wasted words. It is concise, though it is arguably under-specified. It is appropriately sized for the simplicity of the operation but lacks the depth that could make it more useful.

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

Completeness1/5

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

Given the lack of an output schema, annotations, and a rich sibling set, the description is severely incomplete. It does not mention what fields are returned, any prerequisites (e.g., having the ID from a search), or any edge cases. An agent cannot fully judge when to use this tool or what to expect from it.

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

Parameters1/5

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

The schema has zero description coverage for the 'id' parameter, and the description does not compensate. It does not explain what the ID represents, how to obtain it, or any format constraints beyond the schema's basic string and minLength. The description adds no semantic value over the schema.

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

Purpose4/5

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

The description clearly states the verb 'Get' and the resource 'a company by ID', which distinguishes it from search, create, and update siblings. It is specific enough that an agent knows it retrieves a single company record by its identifier, though it does not explicitly mention that it returns a single object or that the ID is the company's unique key.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus the sibling tools, particularly boond_companies_search. It does not mention that this tool should be used when the company ID is already known, or that search should be used to find IDs first. The usage context is entirely implied by the tool name.

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

boond_companies_updateC

Update an existing company

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
cityNo
nameNo
typeNo
addressNo
countryNo
contactsNo

TDQS

C2.3/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It only says 'Update an existing company', which signals mutation but does not clarify whether this is a partial update or full replacement, what happens to omitted fields, whether the id is required to reference an existing record, or what the response looks like. This is a significant gap for a mutating tool.

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

Conciseness2/5

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

The description is a single short sentence, which is concise, but it is under-specified rather than efficiently structured. For a tool with seven parameters and no annotations, this is too little content to be considered appropriately sized.

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

Completeness1/5

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

This is a mutating tool with seven parameters, no annotations, no output schema, and 0% schema coverage in the description. The description does not mention the required id, update semantics, parameter effects, or return behavior, so it is inadequate for an agent attempting to invoke the tool correctly.

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

Parameters1/5

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 by explaining parameter meaning, but it does not. It adds nothing beyond the schema's property names and types. The description never mentions the required id, the type enum, or the contacts array, leaving the agent with no semantic guidance beyond the raw JSON schema.

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

Purpose4/5

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

The description states a clear verb and resource: 'Update an existing company'. It is distinguishable from the sibling tools boond_companies_create, boond_companies_get, and boond_companies_search because it identifies the update operation on the company entity. However, it does not mention which fields can be updated, so it lacks full scope detail.

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

Usage Guidelines2/5

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

No guidance is provided about when to use this tool versus alternatives such as boond_companies_create, boond_companies_get, or boond_companies_search. The description implies the obvious use case but does not state when this tool should be preferred or when it should not be used.

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

boond_contacts_createC

Create a new contact

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYes
phoneNo
jobTitleNo
lastNameYes
companyIdYes
firstNameYes
departmentNo

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, so the description must carry the full burden of behavioral disclosure. It only states 'Create a new contact' without mentioning side effects, return values, authentication requirements, or any other behaviors. This is inadequate for a mutation tool.

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

Conciseness4/5

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

The description is a single sentence, which is concise and front-loaded with the purpose. However, it is so minimal that it borders on under-specification, though it does earn its place by conveying the core action.

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

Completeness2/5

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

For a create tool with 7 parameters (4 required), no output schema, and no annotations, the description is severely incomplete. It does not explain success behavior, required fields, or any constraints, leaving the agent to infer too much from the schema alone.

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

Parameters1/5

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

The schema has 7 parameters with 0% description coverage, and the tool description does not explain any of them. It adds no meaning beyond what the schema already provides, and the required fields are only listed in the schema, not in the description.

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

Purpose4/5

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

The description 'Create a new contact' clearly states the verb (create) and resource (contact), and it distinguishes from sibling operations like search, get, and update. However, it is minimal and does not add specific details about the contact entity, making it slightly less informative than a more descriptive purpose statement.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives. It does not mention when not to use it, such as when an existing contact should be updated instead, or any prerequisites. The usage context is only implied by the tool name and description.

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

boond_contacts_getC

Get a contact by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It only states the operation and gives no detail about read-only behavior, output shape, error cases, or permissions. 'Get' implies a read operation, but little beyond that is disclosed.

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 a single, front-loaded sentence with no filler. It is appropriately sized for a simple single-parameter getter and every word contributes meaning.

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

Completeness3/5

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

For a simple get-by-ID tool, this is minimally viable: the agent knows the action, resource, and parameter. However, with no output schema and no annotations, useful context such as return value shape and not-found behavior is omitted.

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

Parameters2/5

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

Schema description coverage is 0%, and the description adds only 'by ID,' which essentially restates the name of the 'id' parameter. It does not clarify what kind of ID this is, where it comes from, or how it maps to a contact beyond the obvious.

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

Purpose4/5

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

The description clearly states the action ('Get') and the resource ('a contact') with an explicit lookup key ('by ID'). It distinguishes itself from contact creation, update, and search, though it does not explicitly name sibling alternatives.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus boond_contacts_search or other contact tools. The 'by ID' wording only implies the tool is appropriate when a known contact ID is available, but no alternatives or exclusions are stated.

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

boond_contacts_updateC

Update an existing contact

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
emailNo
phoneNo
jobTitleNo
lastNameNo
companyIdNo
firstNameNo
departmentNo

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the burden of disclosure. 'Update an existing contact' only restates the mutation; it does not reveal whether the update is partial/patch or full replacement, whether invalid fields are rejected, any authorization requirements, or side effects.

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

Conciseness4/5

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

The description is one clean, front-loaded sentence with no filler or redundancy. It sacrifices informational depth rather than structure, but for conciseness it is efficient.

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

Completeness2/5

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

For an eight-parameter mutation tool with no annotations and no output schema, a one-sentence description is incomplete. It fails to explain update semantics, the required id, the set of editable fields, and any constraints or return behavior an agent would need to call it correctly.

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

Parameters2/5

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

The input schema has eight parameters with 0% description coverage and the tool description does not mention any parameter. It does not even indicate that id is required or that fields such as email, phone, and firstName are the updatable attributes, leaving the schema names to carry all meaning.

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

Purpose4/5

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

The description states the core verb 'update' and the resource 'existing contact', which clearly identifies the operation and distinguishes it from boond_contacts_create. However, it is a standard CRUD phrasing shared with all *_update siblings and adds no contact-specific detail beyond the resource name.

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 word 'existing' implies the tool is for modifying a contact that already exists, which somewhat distinguishes it from create/search/get. There is no explicit guidance about when to use this tool instead of siblings, no mention of fetching the contact first, and no exclusion criteria.

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

boond_contracts_createC

Create a new contract

ParametersJSON Schema
NameRequiredDescriptionDefault
typeYes
statusNo
endDateNo
startDateYes
hourlyRateNo
resourceIdYes

TDQS

C2.4/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It only conveys that the operation creates a resource; it does not mention side effects, required relationships, idempotency, or response behavior. It is not misleading, but it materially under-discloses what happens when invoked.

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

Conciseness3/5

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

The description is a single concise sentence that states the essential action and resource. However, it leans toward under-specification rather than balanced concision, omitting any detail that would help an agent call the tool safely.

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

Completeness1/5

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

For a six-parameter mutation with 0% schema description coveragechen no output schema and no annotations, a one-sentence description is far from complete. An agent cannot determine valid values, the meaning of resourceId, or the expected behavior after creation.

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

Parameters1/5

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

Schema description coverage is 0%, and the description adds no parameter meaning. The required resourceId, startDate, and type, plus optional status/endDate/hourlyRate, are left with only names and enums; the description does not clarify semantics such as what resourceId refers to or expected date/rate formats.

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

Purpose4/5

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

The description 'Create a new contract' clearly identifies the action (create) and the resource (contract), matching the tool name. It is unambiguous against the search/get/update sibling tools, though it does not add distinguishing scope or field-level detail.

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

Usage Guidelines2/5

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

No guidance is given about when to use this tool versus boond_contracts_search, boond_contracts_update, or contracts_get. There is no mention of prerequisites, exclusions, or related entities, leaving the agent to infer usage from the tool name alone.

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

boond_contracts_getB

Get a contract by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states the basic action without mentioning response format, error behavior, required permissions, or whether the contract might be returned in a nested structure. For a simple read tool this is minimal but still leaves unknowns.

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 a single sentence with no filler or redundant detail. It states the action, resource, and key qualifier clearly and front-loads the most important information. Every word earns its place.

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

Completeness3/5

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

For a one-parameter get-by-ID tool with no output schema, the description is almost sufficient: the agent knows what operation to perform and on what resource. It does not explain what the response contains, but 'Get a contract' reasonably implies returning the contract object. Given the absence of annotations and output schema, it is adequate but not rich.

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 0%, and there is one required parameter 'id'. The description's 'by ID' confirms the parameter's role but adds little beyond what the property name already implies; it does not describe ID format, source, or how to obtain one. However, with a single obvious parameter, this is minimally adequate.

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

Purpose4/5

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

The description uses a specific verb 'Get' and names the resource 'contract', with the qualifier 'by ID' making it clear this is a direct single-record lookup rather than a search. It does not explicitly name sibling alternatives, but the by-ID wording differentiates it from boond_contracts_search and the create/update tools.

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

Usage Guidelines2/5

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

The description gives no guidance on when to use this tool versus boond_contracts_search or other retrieval tools. There is no mention of prerequisites, typical use cases, or exclusions. An agent must infer from the name and ID parameter that this is for fetching a known contract.

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

boond_contracts_updateC

Update an existing contract

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
typeNo
statusNo
endDateNo
startDateNo
hourlyRateNo
resourceIdNo

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations, the description must carry the behavioral burden. 'Update an existing contract' only implies a write operation; it doesn't specify partial vs full update, what happens to omitted fields, permission requirements, or idempotency. This is a significant gap for a mutation tool.

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

Conciseness5/5

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

The description is a single sentence that directly states the tool's purpose without any filler. Every word earns its place; it is concise and front-loaded.

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

Completeness2/5

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

With 7 parameters, no output schema, and no annotations, this description is too sparse. It doesn't explain update semantics, allowed fields, or response behavior, leaving an agent without enough context to invoke the tool correctly.

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

Parameters1/5

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

Schema description coverage is 0%, and the description adds no meaning to any of the 7 parameters. It doesn't clarify the enums, date formats, or how fields behave on update, failing to compensate for the undocumented schema.

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

Purpose4/5

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

The description clearly states a specific verb ('Update') and resource ('contract'), and the word 'existing' distinguishes it from contract creation. It doesn't name sibling tools, but the purpose is unambiguous and not a tautology.

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

Usage Guidelines2/5

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

The description gives no guidance on when to use this tool versus boond_contracts_create or boond_contracts_get. There are no prerequisites, conditions, or alternatives mentioned, so usage is only implied by the name.

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

boond_deliveries_createC

Create a new delivery

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesDelivery name
dueDateNoDue date (ISO 8601 format)
projectIdYesProject ID
descriptionNoDelivery description

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations provided, the description is responsible for conveying behavior, but it only restates the create operation. It says nothing about required permissions, what a successful create returns, whether duplicates are possible, or what lifecycle or status the new delivery starts in. It does not contradict the create intent, but it discloses no meaningful behavioral detail.

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

Conciseness3/5

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

The text is extremely short and contains no filler, which is generally good. However, it is under-specified to the point where it simply echoes the tool name rather than enriching the definition. It is concise but not structured as a genuinely informative description.

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

Completeness2/5

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

Although the tool is simple, the absence of an output schema and annotations means the description should explain the result of the call and any operational caveats. It provides none, so an agent still lacks information about response shape, error behavior, and side effects. The schema covers argument construction, not invocation context.

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?

All four parameters in the input schema have their own descriptions: name, projectId, dueDate (ISO 8601), and description. Since schema_description_coverage is 100%, the schema carries the parameter documentation, so the description does not need to add parameter detail. The neutral baseline of 3 is appropriate because the description contributes nothing extra beyond the schema.

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

Purpose4/5

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

The description states a clear action ('Create') and identifies the resource ('a new delivery'), which aligns with the tool name. It does not, however, provide delivery-specific context or distinguish this from the many sibling tools that also operate on deliveries, such as boond_deliveries_update or boond_deliveries_send.

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

Usage Guidelines2/5

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

The description contains no guidance on when to use this tool versus alternatives. It never mentions the search/get/update/send siblings or any condition that would select this create operation over them. An agent can only infer usage from the word 'create.'

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

boond_deliveries_getA

Get a delivery by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesDelivery ID

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only indicates a read operation ('Get') and does not mention error behavior, response shape, required permissions, or any notable side effects. For a tool with no annotation coverage, this is a meaningful gap.

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 five words and immediately states the operation and target resource. Every word earns its place, and there is no redundant filler.

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

Completeness3/5

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

For a one-parameter getter, the combination of description and schema is minimally sufficient to make the call. However, there is no output schema and no mention of what a successful response contains or what happens when the ID does not exist, leaving some ambiguity for the agent.

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 already documents the single 'id' parameter with a 'Delivery ID' description, and the description reinforces that the ID is the lookup key. Because schema coverage is 100%, the description does not need to add much; it adds no new meaning 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 is 'Get a delivery by ID', which clearly identifies the verb (get), the resource (delivery), and the lookup key (ID). This naturally distinguishes it from sibling tools like boond_deliveries_search, which retrieves collections rather than a single delivery.

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 the tool should be used when a caller has a specific delivery ID and wants that single record, but it does not explicitly state when to use it versus the search alternative. The usage context is inferable from the phrasing, but no explicit exclusions or alternative routing are provided.

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

boond_deliveries_sendC

Send a delivery notification

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesDelivery ID

TDQS

C2/5.0
Behavior1/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It does not mention side effects, permissions, idempotency, rate limits, or what happens after calling. The action 'send' implies mutation but nothing is detailed.

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

Conciseness2/5

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

The description is one sentence and front-loaded with the verb, which is efficient. However, it is under-specified to the point of being unhelpful—it provides no detail beyond the bare action. It is not appropriately sized because it omits essential context for a mutation operation.

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

Completeness2/5

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

For a simple tool with one parameter and no output schema, the description should still clarify the nature of the notification and the effect of the action. It does not explain what happens when 'send' is invoked, leaving the agent uncertain about the outcome and required conditions. This is incomplete.

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% (the single parameter 'id' is described as 'Delivery ID'), so the baseline is 3. The description adds no additional meaning about the parameter beyond the schema, but it also does not contradict it. A 3 is appropriate given high coverage.

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

Purpose3/5

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

The description states a clear action ('Send') and a resource ('delivery notification'), distinguishing it from search/get/create/update operations. However, it is vague about what 'send' entails—whether it sends the delivery itself or a notification about it, and to whom. This ambiguity lowers it from a 4.

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

Usage Guidelines1/5

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

No guidance is given on when to use this tool versus alternatives. There is no mention of prerequisites, use cases, or comparison with other send-like tools such as boond_quotations_send. The description is silent on context entirely.

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

boond_deliveries_updateC

Update an existing delivery

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesDelivery ID
nameNoDelivery name
statusNoDelivery status
dueDateNoDue date (ISO 8601 format)
descriptionNoDelivery description

TDQS

C2/5.0
Behavior1/5

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

With no annotations provided, the description must disclose behavioral traits. It only says 'update' without explaining effects, permission requirements, reversibility, or return value. This is a significant gap for a mutation tool.

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

Conciseness3/5

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

The description is a single short sentence, which is concise, but it is under-specified for a tool with 5 parameters. It doesn't add value beyond the name and is not appropriately sized for the complexity.

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

Completeness1/5

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

The tool has 5 parameters, no output schema, and no annotations. The description provides almost no context about behavior, errors, or return values, making it inadequate for an agent to call 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?

The input schema has 100% description coverage for all 5 parameters, so the description doesn't need to add parameter information. The description adds nothing beyond the schema, so it stays at the baseline of 3.

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

Purpose3/5

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

The description states a clear verb and resource ('Update an existing delivery'), and the word 'existing' distinguishes it from creation. However, it lacks any specifics about which fields or scope are involved, so it is minimally informative but not misleading.

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

Usage Guidelines1/5

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

There is no guidance on when to use this tool versus siblings like create or send, no prerequisites, and no conditions. The description gives no context for tool selection.

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

boond_documents_downloadC

Get document download URL

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

C2.6/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It implies a read-only operation via 'Get' but does not explicitly state that it's non-destructive, whether authentication is required, or whether the returned URL is time-limited or session-specific. No error behavior or side effects are mentioned.

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

Conciseness3/5

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

The description is a single short phrase, which is concise and front-loaded. However, it is under-specified and lacks structure or additional context. While brevity is good, the sentence does not fully earn its place because it omits critical details like return format or usage context.

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

Completeness2/5

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

Given no output schema, no annotations, and a single parameter without schema documentation, the description is inadequate. An agent cannot fully understand what the download URL looks like, whether it's a direct link or requires further action, or how the id should be formatted. The tool is simple but still lacks enough context for reliable invocation.

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

Parameters2/5

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

The input schema has a single required 'id' with no description (0% coverage). The description implies 'id' refers to the document ID but does not clarify what kind of document or how to obtain the ID. It adds minimal semantic value beyond the schema, leaving the parameter meaning largely inferred from the tool name.

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

Purpose4/5

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

The description states a specific action — 'Get document download URL' — with a clear verb and resource. It distinguishes itself from siblings like boond_documents_get (which likely retrieves metadata) and boond_documents_search (search) by focusing on the download URL. However, it doesn't explicitly contrast with these siblings, so it's not a perfect 5.

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

Usage Guidelines2/5

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 boond_documents_get or boond_documents_search. There's no mention of prerequisites, such as having a document ID from a prior search, or when a download URL is needed. The description simply states what it does, not the context for use.

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

boond_documents_getC

Get a document by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It only says 'Get a document by ID' and does not clarify whether it returns metadata, content, or both, nor does it mention permissions, side effects, or rate limits. This is a significant gap for a tool with zero 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.

Conciseness4/5

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

The description is a single concise phrase with no wasted words, and it is appropriately sized for a one-parameter retrieval operation. However, the brevity comes at the cost of missing crucial differentiation and behavioral details, so it is not a full 5.

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

Completeness2/5

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

The description is incomplete given the sibling tool boond_documents_download. An agent cannot tell whether 'get' retrieves metadata and 'download' retrieves content, or vice versa. Without this distinction, the description does not enable correct tool selection in the context of the sibling set.

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 shows a single 'id' string parameter, and the description's 'by ID' clarifies that this parameter is the document identifier. Since schema description coverage is 0%, the description provides minimal but non-trivial semantic grounding for the parameter, though it adds no detail about format, examples, or the nature of the ID.

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

Purpose4/5

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

The description 'Get a document by ID' states a specific verb and resource, clearly indicating a single-document retrieval operation. It is distinct from the search siblings, but it does not explicitly differentiate from the download sibling, which is also document-focused.

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

Usage Guidelines2/5

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

No usage guidance is provided. The description does not mention when to use this tool versus boond_documents_search or boond_documents_download, nor does it state any prerequisites or conditions for selecting it.

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

boond_documents_updateC

Update document metadata (name, folder)

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
nameNo
folderIdNo

TDQS

C2.9/5.0
Behavior3/5

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

With no annotations provided, the description carries the full behavioral disclosure burden. It does clarify that only metadata is updated (not the document content), which is useful. However, it does not describe side effects, permission requirements, partial-update semantics, or what happens when folderId changes.

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 a single concise sentence with no filler. It front-loads the action and resource, making the primary purpose immediately visible. It could be improved by mentioning the required id, but it is not verbose or poorly structured.

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

Completeness2/5

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

For a mutation tool with no annotations and no output schema, the description is too thin. It does not mention that only metadata is affected, how folderId behaves, or that id is required and identifies the target document. An agent would need additional inference or external knowledge to call this correctly.

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

Parameters2/5

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 glosses over 'id' entirely and only loosely maps 'folder' to folderId. The phrase 'name, folder' adds minimal meaning beyond the property names already present in the schema, and no format or behavioral semantics for the parameters are provided.

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

Purpose4/5

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

The description clearly states a specific verb and resource: 'Update document metadata'. It also enumerates the targeted fields ('name, folder'), which signals what the tool operates on. However, it does not explicitly differentiate itself from sibling tools like boond_documents_download or other update tools.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives, no mention of prerequisites, and no exclusion criteria. The description only conveys the basic action, leaving the agent to infer appropriate usage without support.

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

boond_expenses_certifyB

Certify an expense report (approve for payment)

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description carries the full burden, but it only says 'approve for payment,' implying a state change without disclosing whether it is reversible, what status changes occur, or what permissions are needed. This is minimal behavioral disclosure for a mutation tool.

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

Conciseness5/5

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

The description is one compact sentence with a clarifying parenthetical; every word earns its place and the core action is front-loaded. There is no redundant or filler content.

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

Completeness3/5

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

For a single-parameter tool, this is minimally viable: it names the resource and the intended approval effect. It falls short on context such as expected response, prerequisite report state, and side effects, which matters because there is no output schema or annotation support.

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 exposes a single generic required id with no description, and the description does not explicitly define that parameter. However, the phrase 'expense report' gives enough context to infer that the id identifies the report to certify, partially compensating for the 0% schema coverage.

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

Purpose4/5

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

The description uses a concrete verb ('Certify') and object ('expense report'), with the parenthetical 'approve for payment' clarifying what the action means. It distinguishes the operation from sibling expense tools like search/get/create/update/reject by naming an approval action, though it does not explicitly call out an alternative.

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

Usage Guidelines2/5

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

No guidance is given on when to use this tool versus boond_expenses_reject, boond_expenses_update, or other status-changing tools. It does not state prerequisites, such as the report being submitted or not already certified, and gives no when-not-to-use context.

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

boond_expenses_createC

Create a new expense report

ParametersJSON Schema
NameRequiredDescriptionDefault
totalYes
periodYes
statusNo
resourceIdYes

TDQS

C2.4/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It only says 'create', which implies a mutation but gives no detail on side effects (e.g., whether it creates a draft or submitted report, what happens on success/failure). Given zero annotation support, this is insufficient for an agent to predict consequences.

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 a single sentence with no waste. However, it sacrifices substance for brevity, so while efficient, it leaves the agent under-informed. It is not overly verbose, but it is too short to be sufficient.

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

Completeness2/5

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

Given the tool has 4 parameters, a nested object, an enum, and no output schema, the description is severely lacking. It fails to explain required fields, the meaning of 'total' and 'period', the possible statuses, or any return behavior. For a creation tool, this is inadequate for reliable invocation.

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

Parameters2/5

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

Schema coverage is 0%, meaning the description must explain at least the key parameters. It does not mention resourceId, total, period, or status at all. The description adds no meaning beyond the schema's property names, which is particularly problematic for the nested 'period' object and the 'status' enum with its options.

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

Purpose3/5

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

The description states the verb 'Create' and resource 'expense report', which is clear. However, it does little to distinguish from sibling tools like boond_expenses_certify or boond_expenses_update that also operate on expense reports. It is minimally clear but lacks specificity about what an expense report is or what creation entails.

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

Usage Guidelines2/5

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

No guidance is given about when to use this tool versus the many sibling tools that also manipulate expenses (e.g., boond_expenses_update, boond_expenses_certify). There is no mention of prerequisites, such as whether the resource must exist or any workflow context. The description is silent on alternatives.

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

boond_expenses_getB

Get an expense report by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

B3.4/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. 'Get an expense report' implies a read-only operation but adds nothing beyond what the tool name already signals — no response format, not-found behavior, or related expense-report endpoints are mentioned.

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?

One short sentence with zero filler; the verb, object, and identification method are all front-loaded. Every word earns its place, and the meaning cannot be conveyed more efficiently.

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

Completeness3/5

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

For a one-parameter get-by-ID tool this is close to adequate for invocation. However, with no output schema and no annotations, the agent cannot anticipate the response shape or error behavior, and no guidance is given on where the ID originates. It is minimally viable but not complete.

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

Parameters2/5

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

Schema description coverage is 0%, so the description should compensate for the undocumented `id` parameter. The phrase 'by ID' merely restates the parameter's role and adds no format, source, or relationship information (e.g., that the ID comes from boond_expenses_search). No meaning beyond the schema is contributed.

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 a specific verb ('get'), names the resource ('expense report'), and specifies the lookup key ('by ID'). Among the many siblings (boond_expenses_search, boond_expenses_create, boond_expenses_update), this unambiguously identifies the retrieve-by-identifier variant.

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 'by ID' clause implies the tool is used when an identifier is already known, and the sibling naming convention suggests boond_expenses_search for finding IDs. However, the description never explicitly contrasts the two or states when not to use this tool, leaving the routing decision to inference.

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

boond_expenses_rejectB

Reject an expense report with a reason

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
reasonYes

TDQS

B3/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits on its own. 'Reject' implies a mutating action, but the description does not say whether the rejection is reversible, what status/side effects result, whether notifications or approval flows are triggered, or what permissions are required.

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 one short sentence that front-loads the action and the required reason. There is no filler or redundant restatement of the tool name.

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

Completeness2/5

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

With no annotations and no output schema, the description is the only source of context. It is too thin on behavior, prerequisites, and expected outcome for a state-changing operation, even though the parameter list is small.

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

Parameters2/5

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

Schema description coverage is 0%, and the description only explains that a 'reason' is included; it does not define the id parameter or its format. The agent can infer id identifies the report, but this relies on convention rather than explicit documentation.

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

Purpose4/5

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

The description states a specific action ('Reject'), a resource ('expense report'), and the required qualifier ('with a reason'), so an agent can tell this is the rejection action rather than a generic update. It does not explicitly contrast with related siblings such as boond_expenses_certify or boond_expenses_update, but the verb+object pair is sufficiently distinctive.

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 use case is implied: pick this tool when an expense report needs to be rejected. However, there is no explicit guidance on when not to use it, no mention of prerequisites (e.g., report status, permissions), and no alternative such as expenses_update or expenses_certify is named.

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

boond_expenses_updateC

Update an existing expense report

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
totalNo
periodNo
statusNo
resourceIdNo

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are present, so the description carries the full burden of explaining behavior. It only says 'update an existing expense report' and does not disclose partial vs. full update semantics, status transition rules, permission needs, or what response the agent should expect.

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 sentence is short and front-loaded with the action, containing no filler. It is concise, though the brevity results partly from omitting substantial guidance rather than from compressing rich content.

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

Completeness2/5

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

Given five parameters, a nested period object, no output schema, and no annotations, this one-line description is insufficient. An agent would have to infer most behavioral and parameter semantics from names and types alone.

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

Parameters1/5

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

Schema description coverage is 0% and the description mentions no parameters. It adds no meaning about the required id, the purpose of total, period, status, or resourceId, or how those fields interact during an update.

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

Purpose4/5

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

The description names a specific verb (update) and resource (existing expense report), so the core operation is clear. It is distinct from create/search/get siblings, though it does not explicitly name an alternative or describe scope beyond 'existing'.

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

Usage Guidelines2/5

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

No usage context is provided. There is no guidance about when to use this tool over boond_expenses_create, boond_expenses_get, boond_expenses_certify, or boond_expenses_reject, and no prerequisites are mentioned.

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

boond_invoices_createC

Create a new invoice

ParametersJSON Schema
NameRequiredDescriptionDefault
totalYes
paidAtNo
statusNo
dueDateNo
issuedAtYes
companyIdYes
descriptionNo

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are present, so the description carries the full burden of behavioral disclosure. It only says 'Create a new invoice' and does not mention side effects such as record persistence, validation rules, required permissions, default status behavior, or the shape/format of the created invoice response.

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

Conciseness3/5

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

The description is a single concise sentence with no filler, but at only five words it is under-specified for a 7-parameter create operation. It is efficient but lacks the structural detail needed to help an agent use it correctly.

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

Completeness1/5

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

For a create tool with 7 parameters, no output schema, and no annotations, this description is far too incomplete. An agent receives no explanation of critical fields, enum semantics, behavioral effects, or expected response, making correct invocation largely guesswork.

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

Parameters1/5

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

Schema description coverage is 0%, and the description lists no parameters. It does not explain the meaning of companyId, total, issuedAt, status, paidAt, dueDate, or description, nor does it mention which fields are required beyond what the schema already states.

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 states the operation ('Create') and the resource ('a new invoice') clearly, which distinguishes it from sibling tools like boond_invoices_search, boond_invoices_get, and boond_invoices_update. Even though it is terse, the verb-resource pair is unambiguous.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives, such as boond_invoices_update for modifying existing invoices or boond_quotations_create for quotes. No prerequisites, workflow context, or exclusions are provided; usage is only implied by the verb.

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

boond_invoices_getB

Get an invoice by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. 'Get' indicates a read operation, but the description does not disclose response format, error behavior, permissions, or any other behavioral traits an agent might need.

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 five words, front-loaded, and contains no filler or redundant information. Every word contributes to the meaning.

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

Completeness3/5

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

For a one-parameter ID retrieval tool this is minimally viable, but with no output schema and no behavioral annotations, the agent receives no information about the return shape or failure modes. The description is complete enough to invoke but not to set expectations about the result.

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 required 'id' parameter with no description, and schema description coverage is 0%. The description adds the meaning that this parameter is the invoice identifier, but provides no further format or source guidance. This is adequate but thin for a single parameter.

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

Purpose4/5

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

The description states a specific verb and resource: 'Get an invoice by ID.' The 'by ID' phrasing distinguishes it from list/search siblings like boond_invoices_search, though it does not explicitly name any alternative.

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 this tool is for retrieving a single invoice when an ID is known, but it gives no explicit when-to-use, when-not-to-use, or alternative guidance. The intended usage is inferable rather than stated.

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

boond_invoices_updateC

Update an existing invoice

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
totalNo
paidAtNo
statusNo
dueDateNo
issuedAtNo
companyIdNo
descriptionNo

TDQS

C2.4/5.0
Behavior2/5

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

No annotations are provided, so the description must fully disclose behavioral traits. It only says 'Update an existing invoice,' implying mutation but gives no details on side effects, authorization requirements, idempotency, or error behavior (e.g., what happens if the invoice does not exist). This is a significant gap for a mutation tool.

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

Conciseness3/5

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

The description is concise (one sentence) and front-loads the action 'Update,' which is positive. However, it is so brief that it fails to provide necessary context, making it under-specified rather than appropriately concise. It earns a middle score because it avoids verbosity but sacrifices substance.

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

Completeness1/5

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

With 8 parameters, no annotations, and no output schema, the description is woefully incomplete. It does not explain return values, error conditions, or which parameters are mutually exclusive (if any). An agent would need substantial additional inference to call this tool correctly, making the description inadequate for the tool's complexity.

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

Parameters1/5

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

The schema has 8 parameters with zero description coverage (no descriptions in the schema), and the tool description does not mention any of them. The agent is left to guess the meaning of fields like 'total,' 'paidAt,' and 'status' purely from their names and types. The description adds no value beyond the schema structure.

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

Purpose4/5

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

The description states a clear verb ('Update') and resource ('existing invoice'), which immediately distinguishes it from the create and read siblings (boond_invoices_create, boond_invoices_get/search). The word 'existing' implies modification of a record, making the purpose unambiguous, though it does not enumerate which fields are updatable (that is left to the schema).

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives. It does not state that the invoice must already exist, nor does it reference the create or get tools for context. An agent would have to infer usage solely from the name and the required 'id' parameter, which is insufficient.

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

boond_opportunities_createC

Create a new opportunity

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
valueNo
statusNo
companyIdYes
contactIdNo
descriptionNo
probabilityNo
expectedCloseDateNo

TDQS

C2.5/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure, but 'Create a new opportunity' reveals nothing beyond the mutation implied by the verb itself. It does not explain behavior around invalid companyId references, whether the opportunity is created in a draft state, what side effects occur, or what permissions are required.

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

Conciseness3/5

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

The description is genuinely short and front-loaded, but the brevity reflects under-specification rather than deliberate efficiency. A four-word sentence cannot carry adequate guidance for an 8-parameter creation tool, though it is at least a complete, grammatical statement of the core purpose.

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

Completeness1/5

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

Severely incomplete. An 8-parameter creation tool with no annotations, no output schema, and no behavioral or workflow context receives a single sentence that omits required fields, reference prerequisites, side effects, and return behavior. An agent has almost nothing beyond the raw schema to work with.

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

Parameters2/5

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, but it mentions none of the 8 parameters. The agent gets only parameter names and basic constraints from the schema, with no explanation of semantics such as how probability and value relate, whether companyId/contactId must reference existing entities, or what the status enum values mean in context.

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

Purpose4/5

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

The description pairs a specific verb ('create') with a clear resource ('opportunity'), accurately signaling a creation operation that matches the tool name. It is distinctly a create operation versus the search/get/update opportunity siblings. However, it does not explicitly differentiate from the many other resource-create siblings (candidates_create, contracts_create, contacts_create), relying entirely on the resource name to do that work.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus boond_opportunities_update or other creation tools, and no mention of workflow context such as needing an existing company or contact before creating an opportunity. An agent is left to infer all usage context from the schema alone.

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

boond_opportunities_getB

Get an opportunity by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided and there is no output schema, so the description carries the full behavioral burden. It only says 'Get', without disclosing response shape, not-found/error behavior, authentication needs, or confirming the operation is read-only beyond the verb itself.

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 entire description is a single, front-loaded sentence with no filler. Every word carries meaning, and it is optimally concise for a simple get-by-ID operation.

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

Completeness3/5

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

Given the low complexity, the description plus the required 'id' parameter is enough to attempt a call. However, without an output schema or annotations, the absence of any comment on the return value or error behavior leaves a small but real gap for an agent trying to interpret the result.

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?

With one parameter and 0% schema description coverage, the description compensates by defining 'id' as the opportunity ID through the phrase 'by ID'. It does not specify the ID format or source, but for a single-parameter lookup that is a reasonable amount of added meaning.

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

Purpose4/5

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

The description states a specific verb, 'Get', and a specific resource, 'an opportunity', and the 'by ID' qualifier makes it clear this is the singular lookup variant. It does not, however, explicitly contrast with sibling tools such as boond_opportunities_search, so it stops short of a 5.

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?

'By ID' implies the caller must already have an opportunity ID, which is the primary usage signal. There is no explicit when-to-use guidance or comparison against boond_opportunities_search, leaving the choice of this tool versus the search variant implied rather than stated.

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

boond_opportunities_updateC

Update an existing opportunity

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
nameNo
valueNo
statusNo
companyIdNo
contactIdNo
descriptionNo
probabilityNo
expectedCloseDateNo

TDQS

C2.2/5.0
Behavior1/5

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

With no annotations, the description must carry the full burden of behavioral disclosure. It only says 'update', which implies mutation, but provides no information about side effects, required permissions, idempotency, partial update behavior, or what happens if the record doesn't exist. This is a significant gap for a mutation tool.

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

Conciseness3/5

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

The description is a single short sentence with no wasted words. However, it is under-specified rather than concise; it lacks any substantive structure or additional detail. It is appropriately sized for a minimal statement but not for a tool with 9 parameters.

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

Completeness1/5

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

Given the tool's complexity (9 parameters, no output schema, no annotations), the description is severely inadequate. It does not explain which fields are updateable, which are required, how values are interpreted, or what the response looks like. An agent would have to rely solely on the schema, which itself lacks descriptions, making the tool nearly impossible to use correctly.

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

Parameters1/5

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

Schema description coverage is 0% and the description does not mention any parameters. The schema provides names and types, but no explanation of their meaning or usage. The description offers no additional semantic value to help an agent understand how to fill in the parameters correctly.

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

Purpose4/5

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

The description states a clear verb (update) and resource (opportunity), distinguishing it from tools that create, search, or get opportunities. It is not a tautology because it specifies the resource and the fact that it updates an existing record. However, it adds no detail about what fields can be updated or any constraints.

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

Usage Guidelines2/5

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. It does not mention prerequisites, when to prefer update over create, or any conditions that should trigger this tool. The context is implied by the name but not explained.

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

boond_orders_createC

Create a new order

ParametersJSON Schema
NameRequiredDescriptionDefault
totalYes
statusNo
companyIdYes
projectIdNo

TDQS

C2.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of disclosing behavioral traits. It only states the obvious creation action and does not mention return values, validation behavior, side effects, permissions, or what happens on failure. The description adds minimal information beyond the schema.

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

Conciseness3/5

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

The description is extremely short with no wasted words, but it is under-specified rather than appropriately concise. It front-loads the core purpose but omits essential operational details that could fit in a similar sentence count.

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

Completeness2/5

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

For a create operation with no annotations)Skip output schema and 4 parameters, the description is incomplete. There is no mention of what the created order represents, whether any side effects occur, or what the caller should expect. An agent can invoke it with required schema fields but lacks broader context for confident use.

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

Parameters1/5

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

Schema description coverage is 0% and the description provides no information about any of the four parameters. The description does not mention required companyId or total, nor the optional status/projectId, so an agent must rely entirely on the raw schema without any contextual hints.

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

Purpose4/5

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

The description states a clear verb and resource: 'Create a new order'. It is unambiguous about the general operation and distinguishes itself from read/search tools, but it does not differentiate itself from sibling creation tools or mention order-specific characteristics.

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

Usage Guidelines2/5

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

There is no guidance about when to use this tool versus alternatives such as boond_orders_update or boond_orders_search. The intended usage context is only implied by the tool name and the word 'create'.

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

boond_orders_getA

Get an order by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden. 'Get' communicates a read-only retrieval with no destructive side effects, which is the main relevant behavior. It does not mention error cases, authorization needs, or response behavior, but for a simple getter this is adequate.

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 five words, front-loaded with the operation and resource, and contains no filler. Every word 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 one-parameter getter with no output schema, the description covers the essential input side completely. It does not describe the return shape or error behavior, but the low complexity makes those gaps less critical.

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 has zero parameter descriptionsaine, so the description's 'by ID' provides some semantic clarification that the id parameter is the order identifier. Still, the parameter name 'id' already suggests this, so the added value is limited.

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

Purpose4/5

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

The description uses a clear verb ('Get'), a specific resource ('order'), and a lookup method ('by ID'), making the core function immediately understandable. It does not explicitly differentiate from sibling tools like boond_orders_search, but the intent is unambiguous.

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 phrase 'by ID' implies this tool is for retrieving a single known order, which gives some usage context. However, it does not explicitly state when to prefer this over boond_orders_search or mention any alternatives, leaving the agent to infer the boundary.

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

boond_orders_updateC

Update an existing order

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
totalNo
statusNo
companyIdNo
projectIdNo

TDQS

C2.6/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It only states that an order is updated but does not describe mutation semantics, required identifier handling, error behavior, or response details. The description adds little beyond what the tool name already implies.

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

Conciseness3/5

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

The description is a single short sentence with no filler, so it is concise in length. However, it is under-specified rather than elegantly informative. It conveys the core operation and resource but sacrifices useful detail, making it closer to a placeholder statement.

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

Completeness2/5

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

Given five parameters, no output schema, no annotations, and no parameter descriptions, the description is far from complete. It omits return value expectations, whether all fields are replaceable, required ID constraints, and what happens on failure. An agent would need to inspect the schema or API docs to use this tool confidently.

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

Parameters2/5

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

Schema description coverage is 0%, and the description does not mention any parameters or explain their semantics. While parameter names like total, status, companyId, and projectId are somewhat self-explanatory, the description adds no meaning beyond the raw schema. The enum on status provides some guidance, but the description fails to compensate for the schema's lack of descriptions.

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

Purpose4/5

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

The description states a clear action ('Update') on a clear resource ('an existing order'), which distinguishes it from search/get/create siblings at a basic level. It is not a tautology and names the specific resource. However, it gives no detail about what an update entails beyond the verb.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives like boond_orders_create or boond_orders_get. The description implies 'update an existing order' but does not mention whether it supports partial updates, requires an existing ID, or has any prerequisites. The context is left entirely to inference.

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

boond_projects_getA

Get a project by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesProject ID

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description must carry the behavioral disclosure burden. It only states the action 'get' without mentioning the return format, error behavior, or any side effects. While 'get' implies read-only, the description adds minimal behavioral context beyond what the name already conveys.

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 a single, front-loaded sentence with no fluff. Every word is essential and it is appropriately concise for a simple retrieval operation.

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

Completeness3/5

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

For a single-parameter get operation with no output schema, the description tells the agent the core action but omits what the response will look like. It does not specify that it returns the project object, nor does it cover error cases. Given the simplicity, this is acceptable but could be slightly richer.

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 describes the single 'id' parameter as 'Project ID', and schema coverage is 100%. The description adds no extra meaning to the parameter, so the baseline of 3 applies. It neither clarifies the format nor provides additional usage hints 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 'Get a project by ID' clearly states a specific verb (get), resource (project), and mechanism (by ID). It unambiguously distinguishes from search tools like boond_projects_search, which implies listing/filtering, and other entity get tools by naming the resource.

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 usage context is implied: if you have a specific ID, you use this; otherwise you'd search. However, the description does not explicitly state when to use this over boond_projects_search or any other alternative. No exclusions or alternatives are mentioned, leaving it to the agent to infer the pattern from sibling names.

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

boond_purchases_createD

Create a new purchase

ParametersJSON Schema
NameRequiredDescriptionDefault
totalYes
statusNo
companyIdYes
orderedAtYes
receivedAtNo

TDQS

D1.5/5.0
Behavior1/5

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

No annotations are provided, so the description must carry the full behavioral disclosure burden. It only says 'create', which is already implied by the tool name, and does not mention side effects, required authentication, default status values, idempotency, or any post-creation behavior. This is effectively a tautology rather than a behavioral explanation.

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

Conciseness2/5

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

The description is only four words, which is under-specification rather than true conciseness. While it is front-loaded and free of fluff, it contributes no useful information beyond the tool name, so the sentence does not earn its place.

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

Completeness1/5

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

Given five parameters, three required fields, an enum, no output schema, and no annotations, the description is severely incomplete. An agent cannot construct a valid purchase request, understand the purchase lifecycle, or know what the operation returns following creation. This is far below the minimum viable tool definition.

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

Parameters1/5

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

Schema description coverage is 0%, and the description adds no parameter information. It does not explain the meaning of companyId, total, orderedAt, status, or receivedAt beyond their raw schema types and constraints. The agent is left to guess the domain semantics of these fields with no compensating guidance.

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

Purpose2/5

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

The description 'Create a new purchase' is essentially a restatement of the tool name boond_purchases_create. It identifies the verb and resource but does not distinguish it from sibling tools like boond_orders_create or boond_purchases_update, nor does it explain what a purchase is in this domain.

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

Usage Guidelines2/5

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

There is no guidance about when to use this tool versus boond_purchases_update, boond_orders_create, or the various other create tools. The description gives no context, prerequisites, or alternative routing, leaving the agent without any situational information.

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

boond_purchases_getC

Get a purchase by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. 'Get' implies a read-only operation, but the description does not mention error behavior, authentication requirements, return format, or what happens when the ID does not exist.

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 a single, front-loaded sentence with no wasted words. It immediately conveys the tool's purpose and the key qualifier ('by ID') without any redundancy.

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

Completeness3/5

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

For a simple one-parameter get operation, the description is minimally sufficient to invoke the tool correctly. However, with no annotations and no output schema, it leaves return value details and failure behavior unstated, so it is adequate but not complete.

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

Parameters2/5

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

The schema already documents the single 'id' parameter with type string and minLength 1. The description's 'by ID' adds minimal semantic value beyond the schema and does not compensate for the 0% schema description coverage by explaining how the ID is used or where to find it.

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

Purpose4/5

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

The description clearly states the action (get) and resource (a purchase), and the 'by ID' qualifier distinguishes it from search tools like boond_purchases_search. It does not explicitly differentiate itself from sibling get tools, but the resource name and verb make the purpose obvious.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives such as boond_purchases_search or boond_purchases_create. The appropriate usage (when you already know a purchase ID) is only implied by the tool name and description, not stated.

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

boond_purchases_updateD

Update an existing purchase

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
totalNo
statusNo
companyIdNo
orderedAtNo
receivedAtNo

TDQS

D1.8/5.0
Behavior1/5

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

With no annotations, the description carries the full burden of behavioral disclosure, but it only repeats the verb 'update' found in the tool name. It does not mention that the operation mutates an existing record, whether it is a partial or full update, what happens on success or failure, or any side effects.

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

Conciseness2/5

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

The description is extremely short and front-loaded, but it is under-specification rather than effective conciseness. The single sentence adds no informative value beyond the tool name, so it fails to earn its place as a useful guide.

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

Completeness1/5

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

Given 6 parameters, 1 required field, no output schema, and no annotations, this one-sentence description is severely inadequate. An agent would lack critical information about which parameters are required, what values are valid, or what the tool returns, making it impossible to craft a confident update request.

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

Parameters1/5

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 by explaining the purpose and usage of the parameters. It does not mention 'id', 'total', 'status', 'companyId', or any date fields, leaving an agent with the raw schema names as the only semantic hint.

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

Purpose3/5

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

The description 'Update an existing purchase' states a clear verb and resource, but it essentially restates the tool name and provides no detail about the scope of the update or how it differs from other purchase-related tools. It is not vague enough to be a tautology, but it lacks the specificity that would earn a higher score.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives such as boond_purchases_create for new purchases or boond_purchases_get/search for retrieval. There is no mention of prerequisites, sequencing, or exclusions, so an agent receives no clear direction.

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

boond_quotations_createC

Create a new quotation

ParametersJSON Schema
NameRequiredDescriptionDefault
totalYes
sentAtNo
statusNo
companyIdYes
validUntilNo
descriptionNo
opportunityIdYes

TDQS

C2.3/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of disclosing behavior. It only says 'Create a new quotation' and offers no information about side effects, required permissions, idempotency, or what happens on success. This is insufficient for a mutating create operation.

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

Conciseness2/5

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

The description is extremely short, but this is under-specification rather than concise effectiveness. The single sentence 'Create a new quotation' adds no value beyond the tool name and does not earn its place in the definition.

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

Completeness1/5

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

For a tool with 7 parameters, 3 required, no annotations, and no output schema, this description is severely incomplete. It does not explain what a quotation is, what the required fields represent, how status relates to the workflow, or what the return value would be. An agent has almost no basis to call this tool correctly.

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

Parameters1/5

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

Schema description coverage is 0%, and the description provides no parameter-level meaning whatsoever. Required fields like opportunityId, companyId, and total are completely unexplained. The description fails to compensate for the schema's lack of documentation.

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

Purpose4/5

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

The description 'Create a new quotation' states a clear verb and resource, making the tool's basic purpose obvious. However, it adds no distinguishing detail against siblings like boond_quotations_update or boond_quotations_send; it merely restates what the tool name already implies.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives. The description does not mention contexts such as 'when a quote is ready to be drafted' or explicitly point to update/send for existing quotations. No exclusions or prerequisites are provided.

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

boond_quotations_getB

Get a quotation by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

B3.1/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. The verb 'Get' communicates a read-only operation with no side effects, which is the core behavioral trait for this simple tool. However, it does not disclose error behavior, return format, required permissions, or any rate-limit concerns.

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 a single five-word sentence with no filler. It is appropriately sized for a simple get-by-ID tool and front-loads the action, resource, and parameter in that order.

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

Completeness3/5

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

For a one-parameter getter, the description plus schema is minimally adequate to make the call. However, there is no output schema to explain the return value, no annotations for safety or side-effect context, and no guidance about failure behavior, so the description leaves several operational details to inference.

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

Parameters2/5

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

Schema description coverage is 0%, and the description adds little beyond the schema: the property is already named 'id', and 'by ID' mostly restates it. It does not explain the ID format, provenance, or any special semantics beyond the schema's minLength and required constraints.

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

Purpose4/5

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

The description clearly states a specific verb ('Get'), a resource ('quotation'), and the lookup mechanism ('by ID'). It is unambiguous and, combined with the tool name, is distinguishable from the sibling boond_quotations_search, though it does not explicitly call out that distinction.

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

Usage Guidelines2/5

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

The description gives no explicit guidance on when to use this tool versus alternatives such as boond_quotations_search. It only implies that the tool is for retrieving a single quotation by ID, but does not state exclusions, prerequisites, or when the search sibling would be a better choice.

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

boond_quotations_sendC

Send a quotation

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

C2.6/5.0
Behavior2/5

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

With no annotations, the description carries the full burden, but it only states 'send.' It implies a side-effecting action but does not disclose whether the quotation is emailed, marked as sent, irreversible, or permission-gated, leaving the agent without a behavioral contract.

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

Conciseness3/5

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

The phrase is very short, parseable, and front-loaded with the action. It is not padded, but it is so thin that the brevity reads as under-specification rather than a deliberately structured description.

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

Completeness2/5

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

For a state-changing 'send' operation with no annotations and no output schema, this one-liner omits side effects, prerequisites, and expected outcome. It is not complete enough for an agent to invoke the tool with confidence about consequences.

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

Parameters2/5

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

The description does not mention or explain `id`, and schema description coverage is 0%. The single required id is inferable from the tool name and resource, but the description adds no direct semantic value beyond the schema.

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

Purpose4/5

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

The description clearly identifies the action ('send') and the resource ('a quotation'), so an agent can see this is the send variant of the quotation lifecycle. It does not explicitly distinguish itself from other send-style siblings or detail what sending means, so it stops short of full differentiation.

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

Usage Guidelines2/5

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

There is no guidance about when to use this tool instead of boond_quotations_create/update/search/get, nor any prerequisites or context such as the quotation's required state before sending. The intended usage is only implicit in the verb 'send'.

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

boond_quotations_updateC

Update an existing quotation

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
totalNo
sentAtNo
statusNo
companyIdNo
validUntilNo
descriptionNo
opportunityIdNo

TDQS

C2.4/5.0
Behavior2/5

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

There are no annotations, so the description carries the full burden of disclosing behavior. 'Update an existing quotation' implies mutation but reveals nothing about partial vs. full updates, whether omitted fields are preserved, status transition constraints, side effects, or required permissions. The description is too minimal to inform an agent of consequential behaviors.

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

Conciseness3/5

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

The single sentence is concise and front-loaded with the verb and object, with no wasted words. However, it is under-specified rather than effectively structured, lacking any organization of parameter or usage information. It earns its place as a minimal summary but does not provide enough structure for a complex update operation.

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

Completeness1/5

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

For an 8-parameter mutation tool with no annotations, no output schema, and no parameter descriptions, this is severely incomplete. An agent cannot determine which fields are updatable, whether the update is partial, what the response contains, or how this relates to boond_quotations_send. The description leaves too much to inference.

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

Parameters1/5

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

Schema description coverage is 0%, meaning the description must compensate for the lack of field documentation. It does not mention any of the eight parameters or explain what they mean. Although property names like total, status, and validUntil are somewhat self-explanatory, the description provides no additional semantic value or relationships among them.

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

Purpose4/5

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

The description clearly states a specific verb ('Update') and a specific resource ('existing quotation'), making the core action unambiguous. It does not explicitly differentiate from sibling tools like boond_quotations_send, but the verb choice strongly distinguishes it from search/create/get. It is clear but lacks explicit sibling differentiation.

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

Usage Guidelines2/5

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 such as boond_quotations_send or boond_quotations_create. It does not mention conditions, prerequisites, or scenarios where other queries are more appropriate. The only implied usage is that it modifies an existing quotation, but there is no explicit context or exclusion.

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

boond_resources_createD

Create a new resource

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYes
phoneNo
skillsNo
statusNo
lastNameYes
firstNameYes
departmentNo
hourlyRateNo

TDQS

D1.6/5.0
Behavior1/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It only says 'Create', which implies mutation, but it does not mention any side effects, required permissions, validation behavior, or what happens on success or failure. There is no additional context beyond the basic action.

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

Conciseness2/5

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

The description is extremely brief (one short sentence), but this is under-specification rather than effective conciseness. It lacks any structure, context, or additional information that would make it useful. It is not verbose, but it fails to serve its communicative purpose.

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

Completeness1/5

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

For a tool with 8 parameters, no output schema, and no annotations, the description is woefully incomplete. It does not explain what a resource is, what data is required, what the tool returns, or any prerequisites. An agent would have no idea how to correctly invoke this tool beyond guessing from the schema.

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

Parameters1/5

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

The schema has 0% description coverage across 8 parameters, and the description does not mention or explain any of them. It adds no meaning to fields like email, phone, skills, status, or hourlyRate, leaving an agent with only the raw schema names and types to infer their purpose.

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

Purpose3/5

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

The description states a clear verb ('Create') and resource ('a new resource'), but it is extremely generic and provides no specifics about what a resource is or how it differs from other create tools in the sibling set (e.g., boond_contracts_create, boond_candidates_create). It is not a tautology, but it lacks the detail needed for an agent to understand the specific entity being created.

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

Usage Guidelines1/5

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

No guidance is given on when to use this tool versus the many sibling create tools. There is no mention of alternative tools, conditions, or context that would help an agent choose this tool over others. The description simply restates the action without any usage direction.

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

boond_resources_getB

Get a resource by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It communicates only that the operation is a get by ID; it does not mention what happens if the resource is not found, whether the result is a single object, permission expectations, or any other behavioral detail.

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 a single compact sentence with no filler or repetition. It front-loads the core action and the lookup mechanism, so every word earns its place.

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

Completeness3/5

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

For a simple one-parameter getter with no output schema, the description covers the action, target, and lookup key. However, it omits return expectations and error behavior, which would be useful given that no annotations or output schema exist to fill those gaps.

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 only defines 'id' as a required string, and the description adds the key semantic that this ID is the lookup key for the resource. Since the parameter coverage in the schema is 0%, the description provides a minimal but sufficient clarification for this one-parameter getter.

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

Purpose4/5

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

The description names a clear verb ('Get') and target ('resource by ID'), so an agent can understand this is the single-resource fetch tool. It does not explicitly contrast itself with sibling search/create/update tools, but the verb and ID-based lookup are enough to distinguish it at a basic level.

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

Usage Guidelines2/5

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

There is no explicit guidance about when to use this tool versus boond_resources_search or other getters. The 'by ID' phrasing implies it is for fetching one known resource, but the description never states that search is the appropriate alternative for listing or filtering.

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

boond_resources_updateD

Update an existing resource

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
emailNo
phoneNo
skillsNo
statusNo
lastNameNo
firstNameNo
departmentNo
hourlyRateNo

TDQS

D1.5/5.0
Behavior1/5

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

With no annotations, the description carries the full burden of disclosing behavior, but it only says a resource is updated. It does not disclose whether this is a partial or full update, whether omitted fields are cleared, what authentication or permissions are required, or what happens if the resource does not exist.

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

Conciseness2/5

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

The description is short, but it is under-specified rather than appropriately concise. It contains no substantive information beyond the tool name, so the single sentence does not earn its place.

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

Completeness1/5

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

Given nine parameters, no annotations, no output schema, and no field descriptions, this generic one-liner is completely inadequate for an agent to understand how to call the tool correctly or what to expect.

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

Parameters1/5

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

Schema description coverage is 0%, yet the description lists none of the nine parameters or their meanings. An agent is left to infer the purpose of fields like skills, hourlyRate, status, and department purely from their names.

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

Purpose2/5

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

The description 'Update an existing resource' essentially restates the tool name boond_resources_update and adds only the word 'existing'. It does not explain what a resource is, what fields are involved, or how this differs from the many sibling update tools.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus boond_resources_create, boond_resources_get, or other entity update tools. No prerequisites, workflows, or alternative-tool conditions are mentioned.

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

boond_settings_getB

Get a setting by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

B3/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It only states the core get action and does not explain expected response structure, error behavior, authentication needs, or what happens if the ID does not exist.

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 a single, direct sentence with no filler or redundant information. It is appropriately concise and front-loaded, though it offers no additional structural details.

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

Completeness3/5

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

For a simple getter with one parameter, the description is minimally functional but leaves gaps: no output schema, no behavioral notes, and no mention of search/update alternatives. It is adequate for basic invocation but not fully complete.

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

Parameters2/5

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

There is one parameter, 'id', and schema description coverage is 0%. The description adds only minimal context by indicating the ID refers to a setting, but it does not explain the ID format, source, or any constraints beyond what the schema's minLength already conveys.

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

Purpose4/5

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

The description uses a specific verb and resource: 'Get a setting by ID'. It clearly identifies the operation and target, though it does not explicitly distinguish itself from sibling tools like boond_settings_search beyond the tool name itself.

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 phrase 'by ID' implies this tool should be used when the agent already knows the specific setting ID, and that boond_settings_search is the alternative when looking up settings without an ID. However, no explicit when-to-use or exclusion guidance is provided.

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

boond_settings_updateC

Update a setting by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
valueNo
categoryNo

TDQS

C2.3/5.0
Behavior1/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It only restates the mutation implied by the tool name and provides no information about side effects, irreversibility, permission requirements, validation behavior, or response characteristics.

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

Conciseness3/5

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

The description is short and front-loaded with the core action. However, it is under-specified rather than efficiently complete, so while it earns credit for brevity, it lacks the substance needed for a genuinely useful definition.

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

Completeness1/5

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

The tool has no annotations, no output schema, and 0% schema description coverage, yet the description provides only a single clause. An agent cannot determine expected value formats, category semantics, update semantics, or what a successful response looks like, making the definition far from complete.

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

Parameters2/5

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 all three parameters. It only clarifies that 'id' is the identifier used to select the setting; 'value' and 'category' remain completely unexplained, making it hard for an agent to construct a valid update payload.

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

Purpose4/5

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

The description states a clear verb ('Update') and a specific resource ('a setting'), and adds that lookup is by ID. This distinguishes it from boond_settings_search and boond_settings_get, though it does not explain what a setting update entails.

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

Usage Guidelines2/5

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

No guidance is given about when to use this tool versus alternatives. The operation is implied by the sibling names, but there is no explicit context, prerequisite, or exclusion such as 'use search first' or 'prefer settings_get for reads'.

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

boond_timereports_createC

Create a new time report

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYes
hoursYes
statusNo
projectIdYes
resourceIdYes
descriptionNo

TDQS

C2.3/5.0
Behavior2/5

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

No annotations are present, so the description must carry the burden of behavioral disclosure. It only states that a new time report is created, but does not mention required relationships, whether records are inserted immediately, authentication needs, possible failures, or response behavior. This is minimal coverage for a write operation.

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

Conciseness2/5

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

The description is very short and front-loaded, but it is under-specified rather than effectively concise. It contains no additional structuring, examples, or clarifications that would help an agent. For a tool with six parameters, one bare sentence is not appropriate.

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

Completeness1/5

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

With no annotations, no output schema, and zero parameter documentation, the description leaves all important context unexplained. An agent cannot determine expected return values, default status behavior, validation rules, or how the fields should be populated. This is inadequate for safe and correct invocation.

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

Parameters1/5

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

Schema description coverage is 0%, and the description adds no meaning to any parameter. It does not explain what resourceId, projectId, date, hours, status, or description represent beyond the raw schema. The description completely fails to compensate for the lack of parameter documentation.

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

Purpose4/5

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

The description states a clear verb and resource: "Create a new time report". It is immediately distinguishable from sibling tools like boond_timereports_search and boond_timereports_get because it is the create operation. It lacks additional scope details but is not ambiguous.

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

Usage Guidelines2/5

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

There is no guidance about when to use this tool instead of alternatives. No prerequisites, exclusions, or differentiating context are provided. The only inference is from the tool name itself.

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

boond_timereports_getB

Get a time report by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are present, so the description must carry disclosure. 'Get' implies a read operation, but the description does not state that it is non-mutating, what happens for invalid/missing IDs, or what the response contains. This leaves the safety and error profile undisclosed.

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?

A single, front-loaded sentence with no filler. Every word earns its place, and it is perfectly sized for such a simple operation.

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

Completeness3/5

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

The operation is simple (one required parameter, no output schema, no nested objects), so the textual description is mostly adequate. However, with no annotations and no usage guidance, an agent is left to infer read-only behavior and appropriate alternatives, which makes the definition only minimally complete.

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 documentation coverage is 0%, so the description must compensate. 'Get a time report by ID' clarifies that the 'id' parameter identifies a single time report, but it adds no detail about expected format, source of the ID, or relationship to search results.

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

Purpose4/5

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

States a clear verb and resource: 'Get a time report by ID.' The 'by ID' qualifier distinguishes it from the timereports_search sibling, though it does not explicitly name alternatives or describe scope. It is specific but relies on the reader to infer the get-vs-search distinction.

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

Usage Guidelines2/5

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

No explicit guidance is given about when to use this tool versus boond_timereports_search or boond_timereports_create. The phrase 'by ID' implies a single-record fetch, but there is no direct statement of conditions or exclusions.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 95 tool updatesv0.1.0
    • First observedboond_absences_create
    • First observedboond_absences_get
    • First observedboond_absences_search
    • First observedboond_absences_update
    • First observedboond_accounts_create
    • First observedboond_accounts_get
    • First observedboond_accounts_search
    • First observedboond_accounts_update
    • First observedboond_actions_create
    • First observedboond_actions_delete
    • First observedboond_actions_get
    • First observedboond_actions_search
    • First observedboond_actions_update
    • First observedboond_agencies_create
    • First observedboond_agencies_get
    • First observedboond_agencies_search
    • First observedboond_agencies_update
    • First observedboond_alerts_get
    • First observedboond_alerts_search
    • First observedboond_alerts_update
    • First observedboond_apps_get
    • First observedboond_apps_install
    • First observedboond_apps_search
    • First observedboond_apps_uninstall
    • First observedboond_banking_accounts_get
    • First observedboond_banking_accounts_search
    • First observedboond_banking_transactions_search
    • First observedboond_businessunits_create
    • First observedboond_businessunits_get
    • First observedboond_businessunits_search
    • First observedboond_businessunits_update
    • First observedboond_candidates_create
    • First observedboond_candidates_get
    • First observedboond_candidates_search
    • First observedboond_candidates_update
    • First observedboond_companies_create
    • First observedboond_companies_get
    • First observedboond_companies_search
    • First observedboond_companies_update
    • First observedboond_contacts_create
    • First observedboond_contacts_get
    • First observedboond_contacts_search
    • First observedboond_contacts_update
    • First observedboond_contracts_create
    • First observedboond_contracts_get
    • First observedboond_contracts_search
    • First observedboond_contracts_update
    • First observedboond_deliveries_create
    • First observedboond_deliveries_get
    • First observedboond_deliveries_search
    • First observedboond_deliveries_send
    • First observedboond_deliveries_update
    • First observedboond_documents_download
    • First observedboond_documents_get
    • First observedboond_documents_search
    • First observedboond_documents_update
    • First observedboond_expenses_certify
    • First observedboond_expenses_create
    • First observedboond_expenses_get
    • First observedboond_expenses_reject
    • First observedboond_expenses_search
    • First observedboond_expenses_update
    • First observedboond_invoices_create
    • First observedboond_invoices_get
    • First observedboond_invoices_search
    • First observedboond_invoices_update
    • First observedboond_opportunities_create
    • First observedboond_opportunities_get
    • First observedboond_opportunities_search
    • First observedboond_opportunities_update
    • First observedboond_orders_create
    • First observedboond_orders_get
    • First observedboond_orders_search
    • First observedboond_orders_update
    • First observedboond_projects_get
    • First observedboond_projects_search
    • First observedboond_purchases_create
    • First observedboond_purchases_get
    • First observedboond_purchases_search
    • First observedboond_purchases_update
    • First observedboond_quotations_create
    • First observedboond_quotations_get
    • First observedboond_quotations_search
    • First observedboond_quotations_send
    • First observedboond_quotations_update
    • First observedboond_resources_create
    • First observedboond_resources_get
    • First observedboond_resources_search
    • First observedboond_resources_update
    • First observedboond_settings_get
    • First observedboond_settings_search
    • First observedboond_settings_update
    • First observedboond_timereports_create
    • First observedboond_timereports_get
    • First observedboond_timereports_search

TDQS

C2.7/5.0

Scored across 95 tools

Disambiguation5/5

Every tool follows a clear entity-action pattern, and the entity names (candidates, resources, contracts, etc.) are distinct enough that an agent can reliably select the correct tool. The few broader verbs like 'search' or 'get' are scoped by entity, so there is no meaningful overlap.

Naming Consistency5/5

All tools use the consistent boond_<plural_entity>_<verb> convention with snake_case throughout. Verbs such as search, get, create, update, delete, send, and certify are used consistently across entities.

Tool Count1/5

95 tools is an extreme count that exceeds the 3-15 well-scoped range by a wide margin. Even though BoondManager covers a broad ERP domain, this MCP surface is too large and will create a heavy tool-selection burden for agents.

Completeness4/5

The tool set covers search/get/create/update for most core business objects and includes specialized lifecycle actions like sending quotations, certifying expenses, and installing apps. The main gap is the near-total absence of delete operations, but for many ERP records deletion is intentionally restricted, so this is a minor limitation rather than a fatal gap.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    An MCP server that enables AI assistants to interact with Odoo ERP, allowing natural language queries, record creation, updates, and deletions.
    LGPL 3.0
  • A
    license
    A
    quality
    C
    maintenance
    MCP server connecting AI assistants to official France Travail APIs for real-time job offers, ROME code prediction, and hiring company search.
    7
    47 npm
    1
    MIT
  • A
    license
    B
    quality
    B
    maintenance
    MCP server that connects AI assistants to the Conexa business management system, enabling CRUD operations on sales, customers, plans, contracts, charges, and more via 83 tools.
    83
    121 npm
    1
    MIT