Skip to main content
Glama
rspace-os

RSpace MCP Server

Official
by rspace-os

RSpace MCP server

This is a proof-of-concept MCP server for RSpace that runs locally on your machine. It uses the RSpace Python client and exposes some RSpace API endpoints to LLM agents using the Model Context Protocol. The repository also contains example agent skills that package up conventions and reference files for working with RSpace in a specific way.

Installation and configuration

  1. Clone or download this repository to your local machine

  2. Install uv and python

  3. Run uv sync to install dependencies

  4. Create a .env file in the same folder and add

    RSPACE_URL=RSpace URL # e.g. https://community.researchspace.com 
    RSPACE_API_KEY=your API key
  5. Connect your LLM app with the RSpace MCP server

    1. For VS Code Copilot, add an mcp.json with the following content

      {
        "inputs": [
          {
            "type": "promptString",
            "id": "rspace-apikey",
            "description": "RSpace API Key",
            "password": true
          },
          {
            "type": "promptString",
            "id": "rspace-url",
            "description": "RSpace base URL",
            "password": false
          }
        ],
        "servers": {
          "rspace": {
            "command": "uv",
            "args": [
              "--directory",
              "<full path to this directory>",
              "run",
              "main.py"
            ],
            "env": {
              "RSPACE_API_KEY": "${input:rspace-apikey}",
              "RSPACE_URL": "${input:rspace-url}"
            }
          }
        }
      }
    2. For Claude Desktop, add a claude_desktop_config.json with the following content:

      {
        "mcpServers": {
          "rspace": {
            "command": "<path to uv command>",
            "args": [
              "--directory",
              "<full path to this directory>",
              "run",
              "main.py"
            ],
            "env": {}
          }
        }
      }

Keeping the context small (tool dispatcher)

The server has a lot of tools, and every tool definition is sent to the model on every request, which costs context tokens. To keep that cost low, only the read-only core group is listed directly: status plus the search and get/list tools across documents, forms, inventory, instruments, and the audit trail. Reads are safe and common, so they need no extra step.

Everything that changes state (create, update, and the deletes) is registered but hidden, and the model reaches it through three always-present dispatcher tools:

  • list_rspace_tools(toolset) — discover hidden tools and which group they are in.

  • describe_rspace_tool(names) — get the input schema for one or more tools.

  • rspace_invoke(tool_name, arguments) — run any tool by name; arguments are validated against the tool's real schema. Destructive tools additionally require confirm=true.

This means a mutation is always a deliberate discover-then-invoke, and the highest-consequence operations (deletes) never sit in the always-visible tool list. Because the listed set never changes, it also works on every MCP client (it does not rely on tools/list_changed, which Claude Desktop and the claude.ai connectors do not act on mid-session). Tool names are unchanged, so a skill can still refer to a capability by name; the model discovers and invokes it on demand.

To expose more groups directly (skipping the dispatcher for them), set RSPACE_DIRECT_TOOLSETS in the client env block to a comma-separated list of groups, or all to list everything:

RSPACE_DIRECT_TOOLSETS=inventory-write,inventory-containers

Groups: core (always direct, read-only), plus the mutation groups eln-docs, eln-forms, inventory-write, inventory-containers, inventory-templates, instruments, files-lom, and destructive.

Related MCP server: Anytype MCP Server

Using the RSpace through the MCP server

Please bear in mind that this is a proof of concept and your production use case might require a more specific MCP server configured with specifically fine-tuned tools. The tools provided here in this prototype ...

  • do not exhaustively feature the functionality currently available through the RSpace Python client

  • might be more than you need for your use case

  • might not be optimally configured for how you would like to interact with RSpace

We're curious to learn about how you (want to) use this solution, so let us know about your experiences and learnings or contribute them directly to this repository.

Use cases and applications

You can find descriptions of some usecases and examples in the examples folder and we're looking forward to hearing about new examples and learnings. If you have an experience to share, feel free to contribute.

Using an agent skill

The skills/rspace-franklin folder contains a ready-to-customise skill for working with RSpace through this MCP server — a task loop, FAIR and naming conventions, and placeholder reference files for your lab's standards, SOPs, and more. Copy the folder, give it your own name, and edit the [EDIT ME] sections to match your lab before using it.

Contributing new Tools

If you develop new tools or toolsets, feel free to share code snippets or entire tool sets in the tools folder with appropriate annotations.

Contributing new Skills

If you build a skill for a different working style, research domain, or workflow, feel free to share it in the skills folder alongside its own reference files.

Acknowledgements

This project is based on code originally created by richarda23.

Available Tools

50 tools
add_extra_fields_to_itemA

Adds custom metadata fields to inventory items

Usage: Extend items with experiment-specific or project-specific data Field format: [{"name": "Field Name", "type": "text|number", "content": "value"}] Types: 'text' for strings, 'number' for numeric values

Returns: Updated item with new custom fields

ParametersJSON Schema
NameRequiredDescriptionDefault
item_idYes
field_dataYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It indicates this is a mutation operation ('Adds', 'Returns: Updated item') and specifies the return format, which is helpful. However, it doesn't mention important behavioral aspects like whether this operation requires specific permissions, if it's idempotent, what happens when adding duplicate fields, or any rate limits - leaving significant gaps 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 appropriately sized and well-structured with clear sections: purpose statement, usage context, parameter format details, type explanations, and return information. Each sentence adds value, though the 'Usage:' label could be integrated more naturally into the flow rather than appearing as a separate section header.

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

Completeness4/5

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

Given the tool's complexity (mutation operation with structured parameters), no annotations, and the presence of an output schema (which handles return value documentation), the description does a reasonably complete job. It covers purpose, usage context, parameter semantics, and return format. The main gap is the lack of behavioral constraints like permissions or side effects, which would be important for safe invocation.

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 0% schema description coverage, the description must compensate for the schema's lack of documentation. It provides crucial semantic information about the 'field_data' parameter format, including the expected array structure with name, type, and content fields, and explains the type options ('text' for strings, 'number' for numeric values). However, it doesn't explain the 'item_id' parameter's dual integer/string format or provide examples of valid values.

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 ('Adds custom metadata fields') and resource ('inventory items'), providing a specific verb+resource combination. However, it doesn't explicitly differentiate from sibling tools like 'update_document' or 'tagDocumentOrNotebookEntry' that might also modify item metadata, leaving some ambiguity about when this specific tool is uniquely appropriate.

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

Usage Guidelines4/5

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

The description provides clear context for when to use this tool ('Extend items with experiment-specific or project-specific data'), which helps the agent understand appropriate scenarios. However, it doesn't specify when NOT to use it or mention alternatives among the many sibling tools, particularly those that might handle metadata differently like 'update_document' or 'tagDocumentOrNotebookEntry'.

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

add_note_to_subsampleB

Adds annotations or observations to a specific subsample

Usage: Record experimental notes, observations, or handling instructions Returns: Updated subsample information with new note

ParametersJSON Schema
NameRequiredDescriptionDefault
subsample_idYes
noteYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.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 full burden for behavioral disclosure. It states the tool 'Adds annotations or observations' (implying a write/mutation operation) and mentions it 'Returns: Updated subsample information', which gives some behavioral context. However, it lacks critical details like permission requirements, whether notes are editable/deletable, rate limits, or error conditions, leaving significant gaps 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 perfectly structured with a clear purpose statement followed by 'Usage:' and 'Returns:' sections. Every sentence earns its place with no wasted words, making it easy to scan and understand 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?

Given this is a mutation tool with no annotations, 0% schema description coverage, but with an output schema (which handles return values), the description is moderately complete. It covers purpose, usage, and return concept adequately, but lacks behavioral details and parameter semantics that would be needed for full completeness in this context.

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 undocumented parameters. It mentions 'subsample_id' and 'note' implicitly through context but doesn't explain their semantics, formats, constraints, or examples. The description adds minimal value beyond what's inferable from parameter names, failing to adequately address the coverage gap.

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 'adds' and the resource 'annotations or observations to a specific subsample', making the purpose unambiguous. However, it doesn't explicitly differentiate from sibling tools like 'tagDocumentOrNotebookEntry' or 'update_document' which might also involve adding metadata, so it doesn't reach the highest score.

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

Usage Guidelines4/5

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

The 'Usage:' section provides clear context for when to use this tool ('Record experimental notes, observations, or handling instructions'), which helps guide the agent. However, it doesn't specify when NOT to use it or mention alternatives among the many sibling tools, preventing a perfect score.

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

bulk_create_samplesA

Creates multiple samples efficiently in a single operation

Usage: High-performance sample creation for large datasets Performance: Much faster than individual create_sample calls Format: List of sample definition dictionaries

Note: Implementation should use batch API endpoints when available Returns: Results for all created samples with error handling

ParametersJSON Schema
NameRequiredDescriptionDefault
sample_definitionsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.6/5.0
Behavior4/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 effectively describes key traits: it's a write operation ('creates'), optimized for performance ('efficiently,' 'Much faster'), uses batch processing ('batch API endpoints'), and includes error handling ('Returns: Results for all created samples with error handling'). However, it lacks details on permissions, rate limits, or side effects, leaving some gaps.

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 well-structured and concise, using bullet-like sections (Usage, Performance, Format, Note, Returns) to organize information efficiently. Each sentence adds value without redundancy, and it's front-loaded with the core purpose. There is no wasted text.

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

Completeness4/5

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

Given the complexity of a bulk creation tool with no annotations, 0% schema coverage, but an output schema present, the description does well. It covers purpose, usage, performance, input format, implementation note, and return behavior. The output schema likely handles return values, so the description needn't detail them. However, it could improve by mentioning authentication or data validation requirements.

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

Parameters4/5

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

The schema description coverage is 0%, so the description must compensate. It adds meaningful context: 'List of sample definition dictionaries' clarifies that the 'sample_definitions' parameter is an array of objects, and 'Format' hints at the expected structure. While it doesn't detail the properties of each dictionary, it provides essential semantics beyond the bare schema, justifying a score above the baseline.

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

Purpose5/5

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

The description clearly states the tool's purpose: 'Creates multiple samples efficiently in a single operation.' It specifies the verb ('creates'), resource ('samples'), and scope ('multiple...in a single operation'), distinguishing it from the sibling 'create_sample' tool which handles individual creation. The description is specific and avoids tautology.

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

Usage Guidelines5/5

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

The description provides explicit usage guidance: 'High-performance sample creation for large datasets' and 'Much faster than individual create_sample calls.' It directly compares to the sibling 'create_sample' tool, indicating when to use this tool (for bulk operations) versus the alternative (for individual creations). This is clear and actionable.

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

create_document_from_formB

Creates a structured document using a form template

Usage: Generate documents with predefined structure and validation Fields: Pre-populate form fields with initial data Returns: Created document information

ParametersJSON Schema
NameRequiredDescriptionDefault
form_idYes
nameNo
parent_folder_idNo
tagsNo
fieldsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3/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 burden for behavioral disclosure. It mentions 'validation' and 'pre-populate form fields' which hints at constraints, but doesn't specify what happens on validation failure, whether the document is editable after creation, what permissions are required, or error handling. For a creation tool with zero annotation coverage, this leaves significant behavioral gaps.

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 efficiently structured with three bullet-like sections (Creates..., Usage..., Fields..., Returns...). Each sentence serves a purpose, though the 'Returns' line is redundant given the presence of an output schema. No wasted words, but could be more front-loaded with critical information.

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 5 parameters with 0% schema coverage and no annotations, the description is incomplete—it doesn't explain most parameters or their constraints. However, the presence of an output schema means return values are documented elsewhere, and the description at least covers the core purpose. For a document-creation tool with multiple parameters, more guidance is needed.

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 mentions 'Fields: Pre-populate form fields with initial data' which loosely corresponds to the 'fields' parameter, but doesn't explain the other 4 parameters (form_id, name, parent_folder_id, tags) or their relationships. The description adds minimal value beyond what's implied by 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 clearly states the tool's purpose: 'Creates a structured document using a form template' specifies the verb (creates), resource (structured document), and method (using a form template). It distinguishes from siblings like 'create_form' (which creates forms) or 'create_sample' (which creates samples), but doesn't explicitly contrast with other document-creation tools like 'createNewNotebook' or 'createNotebookEntry'.

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' line provides implied context: 'Generate documents with predefined structure and validation' suggests this tool is for when you need documents with specific validation rules. However, it doesn't explicitly state when to use this versus alternatives like 'createNewNotebook' or 'create_sample', nor does it mention prerequisites or exclusions.

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

create_formA

Creates a new custom form template for structured data entry

Usage: Define reusable templates for experiments, protocols, reports Fields structure: [ { "name": "Field Name", "type": "String|Text|Number|Radio|Date|Choice", "mandatory": True/False, "defaultValue": "optional default" } ] Returns: Created form information (form will be in NEW state)

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
tagsNo
fieldsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden. It discloses that the created form will be in 'NEW state', which is valuable behavioral context not inferable from the schema. It also implies this is a write operation ('creates'), though it doesn't mention permissions, side effects, or error conditions that would be helpful 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 appropriately sized and front-loaded with the core purpose. The usage context and parameter details are relevant and earned their place. However, the formatting of the fields structure example could be more concise, and there's some redundancy between 'structured data entry' and the fields explanation.

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

Completeness4/5

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

Given this is a mutation tool with no annotations, 3 parameters, and an output schema exists, the description does well. It explains the purpose, usage context, parameter semantics for the most complex parameter, and return state. The main gap is not covering all parameters equally, but with an output schema handling return values, this is reasonably complete.

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

Parameters5/5

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

With 0% schema description coverage, the description must compensate, and it does so effectively. It provides detailed semantics for the 'fields' parameter including structure, field types, mandatory flags, and default values. While it doesn't explicitly mention 'name' and 'tags' parameters, the schema coverage is so low that this level of detail for the complex 'fields' parameter earns full credit.

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

Purpose5/5

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

The description clearly states the tool creates a 'new custom form template for structured data entry', specifying both the verb ('creates') and resource ('form template'). It distinguishes from siblings like 'create_sample' or 'create_document_from_form' by focusing specifically on form templates for data entry.

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

Usage Guidelines4/5

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

The description provides clear context for usage ('Define reusable templates for experiments, protocols, reports'), giving practical examples of when to use this tool. However, it doesn't explicitly state when NOT to use it or mention alternatives among the many sibling tools, such as when to use 'create_sample_template' instead.

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

create_grid_containerA

Creates a grid-based container with specific positioning

Usage: Create microplates, freezer boxes, or other position-specific storage Dimensions: Define exact grid size (e.g., 8x12 for 96-well plate) Positioning: Items placed at specific coordinates (row, column)

Returns: Created container information with grid specifications

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
rowsYes
columnsYes
descriptionNo
tagsNo
can_store_containersNo
can_store_samplesNo
parent_container_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.1/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 burden of behavioral disclosure. It explains the creation behavior and mentions what gets returned, but doesn't cover important aspects like authentication requirements, error conditions, rate limits, or whether this is an idempotent operation. The description adds value but leaves significant gaps.

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 well-structured with clear sections (Usage, Dimensions, Positioning, Returns) and front-loaded with the core purpose. Each sentence earns its place, though the 'Usage' section could be more concise by integrating with the opening statement.

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

Completeness4/5

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

Given the tool's moderate complexity (8 parameters, creation operation) and the presence of an output schema, the description provides good context about what the tool does and when to use it. However, with no annotations and incomplete parameter coverage, it doesn't fully address behavioral aspects like permissions or error handling that would be important for a creation tool.

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

Parameters4/5

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

With 0% schema description coverage for 8 parameters, the description compensates well by explaining the core parameters: 'Dimensions: Define exact grid size (e.g., 8x12 for 96-well plate)' clarifies rows/columns, and 'Positioning: Items placed at specific coordinates (row, column)' provides context. However, it doesn't address the other 6 parameters (name, description, tags, can_store_containers, can_store_samples, parent_container_id).

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

Purpose5/5

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

The description clearly states the tool's purpose with specific verb ('Creates') and resource ('grid-based container'), and distinguishes it from siblings by specifying 'grid-based' positioning. It provides concrete examples (microplates, freezer boxes) that help differentiate from other container types like list containers.

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

Usage Guidelines4/5

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

The description provides clear context for when to use this tool ('Create microplates, freezer boxes, or other position-specific storage'), which distinguishes it from general container creation. However, it doesn't explicitly state when NOT to use it or name specific alternatives like 'create_list_container' from the sibling list.

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

create_list_containerB

Creates a simple list-based container for organizing inventory

Usage: Create folders, boxes, or other containers without specific positioning Storage permissions: Configure what types of items can be stored Hierarchy: Optionally nest within another container

Returns: Created container information with storage settings

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
descriptionNo
tagsNo
can_store_containersNo
can_store_samplesNo
parent_container_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/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 burden. It mentions 'Returns: Created container information with storage settings' which helps, but lacks critical behavioral details: whether this is a mutation (implied by 'Creates'), what permissions are needed, whether containers are permanent or deletable, error conditions, or rate limits. The storage permissions configuration is mentioned but not explained behaviorally.

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 well-structured with clear sections (purpose, usage, storage, hierarchy, returns). Each sentence adds value, though the 'Usage:' line could be more integrated. It's appropriately sized for a 6-parameter creation tool with no annotations. Minor room for improvement in flow, but generally efficient.

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 6 parameters with 0% schema coverage, no annotations, but an output schema exists, the description is moderately complete. It covers the core purpose and some parameter context, but lacks behavioral transparency details (permissions, mutability, errors) and doesn't fully explain all parameters. The output schema reduces need to describe returns, but other gaps remain for a creation tool.

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

Parameters3/5

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

Schema description coverage is 0%, so the description must compensate. It mentions 'Storage permissions: Configure what types of items can be stored' (mapping to can_store_containers/can_store_samples) and 'Hierarchy: Optionally nest within another container' (mapping to parent_container_id). However, it doesn't explain the name, description, or tags parameters at all. The description adds some value but doesn't fully compensate for the 0% schema coverage across all 6 parameters.

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 tool creates a 'list-based container for organizing inventory' with specific examples (folders, boxes). It distinguishes from sibling 'create_grid_container' by specifying 'list-based' vs 'grid' containers. However, it doesn't explicitly contrast with other container-related tools like 'move_items_to_list_container' or 'get_container'.

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 provides implied usage context with 'Usage: Create folders, boxes, or other containers without specific positioning' and mentions 'Hierarchy: Optionally nest within another container.' It suggests when to use this vs 'create_grid_container' (list vs grid), but doesn't explicitly state when NOT to use it or mention alternatives like 'create_grid_container' by name. No prerequisites or permissions guidance beyond storage configuration.

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

createNewNotebookB

Creates a new electronic lab notebook

Usage: Organize related experiments/entries under a single notebook Returns: Created notebook information including ID for adding entries

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesThe name of the notebook to create

TDQS

B3.2/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. It mentions the tool creates a notebook and returns information including an ID, but fails to disclose critical behavioral traits: required permissions, whether creation is idempotent, error conditions (e.g., duplicate names), or rate limits. For a mutation tool with zero annotation coverage, this is a significant gap in transparency.

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 appropriately sized with three concise sentences: purpose, usage, and return value. It's front-loaded with the core functionality. While efficient, the usage sentence could be slightly more direct, but overall it avoids waste and is well-structured.

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 has no annotations, no output schema, and 1 parameter with full schema coverage, the description is minimally adequate. It covers purpose and return value but lacks details on behavioral context (e.g., permissions, errors) that would be needed for full completeness. For a simple creation tool, it meets basic needs but has clear 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 input schema has 100% description coverage, with the 'name' parameter fully documented in the schema. The description adds no additional parameter semantics beyond what the schema provides (e.g., no constraints on name format or length). With high schema coverage, the baseline score of 3 is appropriate as the description doesn't compensate but doesn't need to.

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 tool creates a new electronic lab notebook, specifying both the verb ('creates') and resource ('electronic lab notebook'). It distinguishes from siblings like createNotebookEntry (which adds entries to existing notebooks) and create_document_from_form (which creates documents from forms). However, it doesn't explicitly contrast with all sibling tools, keeping it at 4 rather than 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 description provides implied usage guidance by stating 'Organize related experiments/entries under a single notebook,' suggesting this tool is for grouping related content. However, it lacks explicit when-to-use rules, alternatives (e.g., when to use create_grid_container instead), or exclusions. This is typical for basic creation tools but misses explicit sibling differentiation.

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

createNotebookEntryB

Adds a new entry to an existing notebook

Usage: Add experimental procedures, results, or observations to a notebook Content: Supports both HTML and plain text formatting Returns: Created entry information

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesThe name of the notebook entry
text_contentYeshtml or plain text content
notebook_idYesThe id of the notebook to add the entry

TDQS

B3.2/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 burden. It states the tool 'Adds' (implies mutation) and 'Returns: Created entry information', but lacks critical behavioral details: permission requirements, whether entries are editable/deletable, rate limits, error conditions, or what 'Created entry information' includes. For a mutation tool with zero annotation coverage, this is insufficient.

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 well-structured with four concise bullet-like statements. Each sentence adds value: purpose, usage, content format, return info. No wasted words, though it could be more front-loaded by leading with the core purpose more prominently.

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 3 parameters with full schema coverage but no annotations and no output schema, the description is moderately complete. It covers purpose, usage examples, content format, and return type, but lacks behavioral transparency for a mutation tool and doesn't fully compensate for missing output schema (what 'Created entry information' entails). Adequate but with clear 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?

Schema description coverage is 100%, so parameters are fully documented in the schema. The description adds marginal value: 'Content: Supports both HTML and plain text formatting' clarifies 'text_content' parameter usage beyond the schema's 'html or plain text content'. However, it doesn't explain 'name' or 'notebook_id' further. Baseline 3 is appropriate when schema does most work.

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 tool's purpose: 'Adds a new entry to an existing notebook' with specific verb ('Adds') and resource ('notebook entry'). It distinguishes from siblings like 'createNewNotebook' (creates notebook vs. entry) and 'add_note_to_subsample' (different resource), though not explicitly. However, it doesn't fully differentiate from 'update_document' or 'renameDocumentOrNotebookEntry' which might also modify notebook entries.

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 provides implied usage context: 'Usage: Add experimental procedures, results, or observations to a notebook' gives examples of when to use it. However, it lacks explicit guidance on when to choose this tool over alternatives like 'add_note_to_subsample' or 'create_document_from_form', and doesn't mention prerequisites (e.g., notebook must exist).

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

create_sampleA

Creates a new sample in the inventory system

Usage: Register new samples with metadata and quantity tracking Subsamples: Automatically creates specified number of subsample aliquots Quantity: Tracks total amount with specified units (ml, mg, μl, etc.)

Returns: Created sample information including generated subsample IDs

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
tagsNo
descriptionNo
subsample_countNo
total_quantity_valueNo
total_quantity_unitNoml

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/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 burden. It discloses behavioral traits such as automatic creation of subsample aliquots and quantity tracking with units, which adds useful context beyond the schema. However, it does not cover important aspects like permissions needed, whether the operation is idempotent, or error handling, leaving gaps 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 appropriately sized with four concise sentences, each adding value: purpose, usage, subsample behavior, and return information. It is front-loaded with the main purpose first, though the structure could be slightly improved by grouping related details more tightly.

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

Completeness4/5

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

Given the tool has an output schema (so return values are documented elsewhere), no annotations, and 6 parameters with 0% schema coverage, the description does a good job covering key aspects like behavior and parameter semantics. It is complete enough for basic understanding but could enhance guidelines and transparency for a mutation tool.

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

Parameters4/5

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

The schema description coverage is 0%, so the description must compensate. It adds meaning by explaining that parameters relate to metadata, subsample aliquots, and quantity tracking with units like ml or mg, which clarifies the purpose of 'subsample_count', 'total_quantity_value', and 'total_quantity_unit'. However, it does not detail all 6 parameters (e.g., 'tags', 'description'), so it partially compensates but not fully.

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 tool creates a new sample in the inventory system, specifying the verb 'creates' and resource 'sample'. It distinguishes from siblings like 'bulk_create_samples' by focusing on single sample creation, though not explicitly contrasting them. The purpose is specific 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 Guidelines3/5

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

The description implies usage for registering new samples with metadata and quantity tracking, but does not explicitly state when to use this tool versus alternatives like 'bulk_create_samples' or 'create_sample_template'. It provides some context (e.g., for tracking samples) but lacks clear exclusions or named alternatives.

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

create_sample_templateB

Creates a reusable template for sample creation

Usage: Standardize sample creation with predefined fields and validation Template data: Define field structure, default values, and constraints Returns: Created template information for future sample generation

ParametersJSON Schema
NameRequiredDescriptionDefault
template_dataYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/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. It states the tool creates a template and returns information, but lacks details on permissions required, whether templates are editable or deletable, rate limits, or error handling. For a creation tool with zero annotation coverage, this is a significant gap in behavioral disclosure, though it minimally describes the action and return.

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 structured into three concise bullet points, front-loaded with the core purpose. Each sentence adds value: the first states the action, the second explains usage, and the third covers parameters and returns. There's minimal waste, though the formatting could be slightly more polished (e.g., as prose).

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 complexity (creation operation with nested objects), no annotations, and an output schema exists (so return values needn't be detailed), the description is moderately complete. It covers purpose, usage, and parameter intent but lacks behavioral details like auth needs or mutation effects. It's adequate for a basic understanding but has clear gaps for safe agent use.

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. It adds some meaning by explaining that 'template_data' defines 'field structure, default values, and constraints', which clarifies the parameter's purpose beyond the schema's generic object type. However, it doesn't detail the structure or constraints, leaving gaps. With one parameter and partial compensation, a baseline 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 clearly states the tool's purpose: 'Creates a reusable template for sample creation' with the verb 'creates' and resource 'template'. It distinguishes from siblings like 'create_sample' (creates actual samples) and 'get_sample_template' (retrieves templates), though not explicitly named. However, it doesn't fully differentiate from 'create_form' which might serve a similar templating function, keeping it at 4 instead of 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 description implies usage context with 'Standardize sample creation with predefined fields and validation', suggesting this tool is for setting up templates rather than creating samples directly. However, it lacks explicit guidance on when to use this versus alternatives like 'create_form' or 'bulk_create_samples', and no exclusions are provided. The implied context is helpful but incomplete.

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

delete_formA

Permanently deletes a form template

Usage: Remove unused forms (only works for forms in NEW state) Warning: This operation cannot be undone Returns: Deletion confirmation

ParametersJSON Schema
NameRequiredDescriptionDefault
form_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior4/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 effectively communicates critical traits: the operation is permanent ('cannot be undone'), has a state restriction ('only works for forms in NEW state'), and returns a confirmation. It does not cover aspects like error handling or permissions, but provides substantial behavioral context.

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 front-loaded with the core purpose, followed by usage, warning, and return value in separate lines. Each sentence earns its place by providing essential information without redundancy, making it highly efficient and well-structured.

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

Completeness4/5

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

Given the tool's complexity (destructive operation, state restriction), no annotations, and an output schema (which handles return values), the description is largely complete. It covers purpose, usage conditions, irreversible nature, and return type. Minor gaps include lack of explicit parameter explanation and error scenarios, but it provides sufficient context for safe use.

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

Parameters4/5

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

The input schema has 0% description coverage, so the description must compensate. While it does not explicitly mention the 'form_id' parameter, the context ('deletes a form template') implicitly defines what the parameter represents. This adds meaningful semantics beyond the bare schema, though it could be more explicit about parameter usage.

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 specific action ('permanently deletes') and resource ('a form template'), distinguishing it from siblings like 'create_form', 'get_form', 'publish_form', and 'unpublish_form'. It explicitly identifies the tool's destructive nature and scope.

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

Usage Guidelines4/5

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

The description provides clear context on when to use this tool ('Remove unused forms') and a prerequisite condition ('only works for forms in NEW state'). However, it does not explicitly mention when not to use it or name specific alternatives (e.g., 'unpublish_form' for non-NEW forms).

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

downloadFileB

Downloads file attachments from RSpace documents

Usage: Retrieve images, data files, or other attachments Parameters:

  • file_id: Numeric ID of the file attachment

  • file_path: Local filesystem path where file should be saved

Returns: Download status and file information

ParametersJSON Schema
NameRequiredDescriptionDefault
file_idYes
file_pathYes

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 burden. It mentions 'Downloads file attachments' and 'Returns: Download status and file information', which indicates a read operation with output. However, it doesn't disclose critical behavioral traits: whether this requires specific permissions, if it overwrites existing files at 'file_path', rate limits, error conditions, or what 'Download status' entails. For a file-writing tool with zero annotation coverage, this is insufficient.

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 well-structured with clear sections (purpose, usage, parameters, returns) and front-loaded key information. Every sentence earns its place, though 'Returns: Download status and file information' could be more specific. It's appropriately sized for a 2-parameter tool without being verbose.

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 2 parameters with 0% schema coverage and no output schema, the description provides basic purpose, usage, and parameter semantics. However, for a tool that writes to the local filesystem, it lacks details on permissions, file overwriting behavior, error handling, and output format. With no annotations and no output schema, the description is adequate but has clear gaps in behavioral context.

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%, so the description must compensate. It adds meaning beyond the bare schema by explaining 'file_id: Numeric ID of the file attachment' and 'file_path: Local filesystem path where file should be saved'. This clarifies the purpose and format of both parameters, though it doesn't detail constraints (e.g., valid ID ranges, path syntax). Given 2 parameters, this provides good semantic 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 clearly states the tool's purpose: 'Downloads file attachments from RSpace documents' with specific verb ('Downloads') and resource ('file attachments from RSpace documents'). It distinguishes this from sibling tools like 'uploadAndAttachFile' by focusing on retrieval rather than upload, though it doesn't explicitly name alternatives.

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' section provides context: 'Retrieve images, data files, or other attachments', which implies when to use this tool. However, it doesn't explicitly state when NOT to use it or name specific alternatives among siblings (e.g., 'get_documents' might retrieve metadata without files). The guidance is implied rather than explicit.

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

duplicate_sampleA

Creates an exact copy of an existing sample

Usage: Replicate samples for parallel experiments or backup Returns: New sample information with fresh ID and subsamples

ParametersJSON Schema
NameRequiredDescriptionDefault
sample_idYes
new_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/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 burden of behavioral disclosure. It states the tool creates an exact copy and returns new sample information with fresh ID and subsamples, which provides some behavioral context about what gets created. However, it doesn't disclose important behavioral traits like whether this requires specific permissions, if there are rate limits, what happens if the source sample doesn't exist, or whether the duplication is immediate or queued.

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 perfectly concise with three sentences that each earn their place: the core functionality, usage context, and return value. It's front-loaded with the main purpose and wastes no words. The structure moves logically from what it does to when to use it to what it returns.

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 there's an output schema (which handles return values), no annotations, and 2 parameters with 0% schema coverage, the description provides adequate but incomplete context. It covers the purpose and usage well but lacks parameter explanations and behavioral details like error conditions or permissions needed. For a mutation tool (creates new resources) with no annotations, it should provide more safety/behavioral context.

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 description coverage is 0%, meaning neither parameter has documentation in the schema. The description mentions 'sample' and 'new sample information' but doesn't explain what 'sample_id' should be (integer or string format) or what 'new_name' does (whether it renames the duplicate or is optional). With 2 undocumented parameters, the description adds minimal semantic value beyond what's implied by 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 clearly states the tool creates an exact copy of an existing sample, which is a specific verb (creates/duplicate) and resource (sample). It distinguishes from siblings like 'create_sample' by specifying it duplicates existing samples rather than creating new ones from scratch. However, it doesn't explicitly differentiate from 'bulk_create_samples' or other sample-related tools.

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

Usage Guidelines4/5

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

The description provides clear context for when to use this tool: 'Replicate samples for parallel experiments or backup.' This gives practical guidance on appropriate use cases. However, it doesn't specify when NOT to use it or mention alternatives like 'create_sample' for creating new samples from scratch rather than duplicating existing ones.

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

find_documents_by_contentB

Advanced content-based document search

Usage: Find documents containing specific content terms

Parameters:

  • content_terms: List of terms that should appear in document content

  • operator: "and" (all terms must appear) or "or" (any term can appear)

  • exclude_terms: Optional list of terms to exclude from results

  • order_by: Sort results by field

  • page_size: Number of results to return

Returns: Dictionary with search results

Example: find_documents_by_content(["DNA", "extraction"], operator="and")

ParametersJSON Schema
NameRequiredDescriptionDefault
content_termsYes
operatorNoand
exclude_termsNo
order_byNolastModified desc
page_sizeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/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. While it mentions the tool is for 'search' and describes parameters, it doesn't disclose important behavioral traits like whether this is a read-only operation, potential rate limits, authentication requirements, or what happens with large result sets. The example helps but doesn't cover behavioral aspects.

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 well-structured with clear sections (purpose, usage, parameters, returns, example) and appropriately sized. Each sentence adds value, though the 'Advanced content-based document search' header could be more integrated with the following text. The example is helpful but could be slightly more concise.

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 has 5 parameters with 0% schema description coverage but has an output schema, the description provides good parameter semantics but lacks behavioral context. For a search tool with multiple sibling search alternatives, the description should provide more comparative guidance. The presence of an output schema reduces the need to explain return values, but overall completeness is adequate with clear gaps.

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

Parameters4/5

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

With 0% schema description coverage, the description provides meaningful semantic information for all 5 parameters, explaining what each parameter controls (e.g., 'operator: "and" (all terms must appear) or "or" (any term can appear)'). This compensates well for the lack of schema descriptions, though it doesn't provide format details for 'order_by' beyond 'Sort results by field'.

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 tool's purpose as 'Advanced content-based document search' and 'Find documents containing specific content terms', which is a specific verb+resource combination. However, it doesn't explicitly distinguish this from sibling tools like 'search_documents' or 'search_by_tags', which appear to be related search functions.

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 minimal usage guidance with 'Usage: Find documents containing specific content terms' but offers no explicit guidance on when to use this tool versus alternatives like 'search_documents' or 'search_by_tags'. There's no mention of prerequisites, limitations, or comparative context with sibling tools.

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

generate_barcodeB

Generates scannable barcodes for inventory items

Usage: Create physical labels for sample tracking and identification Types: 'BARCODE' for standard linear barcodes, 'QR' for QR codes Returns: Binary barcode image data for printing or display

ParametersJSON Schema
NameRequiredDescriptionDefault
global_idYes
barcode_typeNoBARCODE

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/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. It discloses that the tool generates barcodes for printing/display and returns binary image data, which is useful behavioral context. However, it misses details like permissions needed, rate limits, error conditions, or whether it's idempotent. For a tool with no annotations, this is a moderate disclosure level.

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 well-structured and front-loaded: the first sentence states the core purpose, followed by usage, types, and returns in clear sections. Each sentence adds value without redundancy. It's appropriately sized for a simple tool with 2 parameters.

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

Completeness4/5

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

Given the tool's low complexity (2 parameters, no nested objects) and the presence of an output schema (which handles return values), the description is reasonably complete. It covers purpose, usage, types, and output format. However, with no annotations and low schema coverage, it could better explain parameters and behavioral constraints like error handling.

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 explains 'barcode_type' with 'BARCODE' for linear and 'QR' for QR codes, adding meaning beyond the schema. However, it doesn't clarify 'global_id' (e.g., what format it expects or its role). With 2 parameters and only one partially explained, this is insufficient compensation for the low 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 clearly states the tool's purpose: 'Generates scannable barcodes for inventory items' with a specific verb ('Generates') and resource ('barcodes'). It distinguishes itself from sibling tools like 'create_sample' or 'tagDocumentOrNotebookEntry' by focusing on barcode generation rather than data creation or tagging. However, it doesn't explicitly differentiate from potential similar tools (none exist in the sibling list), 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 Guidelines3/5

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

The description provides implied usage context: 'Create physical labels for sample tracking and identification' suggests when to use it (for labeling inventory items). However, it lacks explicit guidance on when not to use it or alternatives (e.g., vs. other labeling methods or tools). No sibling tools directly overlap, so this is adequate but not comprehensive.

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

getAuditEventsB

Retrieves audit trail of all actions performed in RSpace

Usage: Monitor document access, modifications, and user activity Filtering options:

  • username: Filter by specific user actions

  • global_id: Filter by specific document

  • date_from/date_to: ISO8601 format date range

Returns: Chronological list of system events

ParametersJSON Schema
NameRequiredDescriptionDefault
usernameNo
global_idNo
date_fromNo
date_toNo

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 full burden for behavioral disclosure. It mentions the tool returns a 'Chronological list of system events', which gives some output context, but lacks critical details like pagination, rate limits, authentication requirements, or whether this is a read-only operation. For a monitoring tool with zero annotation coverage, this leaves significant gaps.

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 efficiently structured with a clear purpose statement, usage context, parameter explanations, and return information in four concise sentences. Every sentence adds value with zero waste. The information is front-loaded with the core purpose first.

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 4 parameters with 0% schema coverage and no output schema, the description does well explaining parameters and return format. However, as a monitoring tool with no annotations, it should address more behavioral aspects like access permissions, data limits, or system impact. The description is adequate but has clear gaps for this context.

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%, so the description must compensate. It successfully explains all four parameters (username, global_id, date_from, date_to) with clear semantic meaning: filtering by user, document, and date range. The date format (ISO8601) is specified. This adds substantial value beyond the bare schema, though it doesn't cover default behaviors or 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 the tool retrieves audit trail data with the verb 'Retrieves' and resource 'audit trail of all actions performed in RSpace'. It distinguishes itself from siblings by focusing on system monitoring rather than document/content operations, though it doesn't explicitly name alternatives. The purpose is specific and actionable.

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 provides implied usage context with 'Monitor document access, modifications, and user activity', suggesting when this tool is appropriate. However, it doesn't explicitly state when to use it versus alternatives or mention any prerequisites or exclusions. The guidance is helpful but incomplete.

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

get_containerA

Retrieves container information with optional content listing

Usage: Examine container properties and optionally see what's inside Performance: Set include_content=False for faster queries on large containers Returns: Container details and optionally contained items

ParametersJSON Schema
NameRequiredDescriptionDefault
container_idYes
include_contentNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.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 burden. It discloses performance characteristics (speed trade-off with include_content) and return structure (details and optionally contained items), which is valuable. However, it lacks information on permissions, error conditions, or rate limits, which are important for a retrieval tool. The description doesn't contradict any annotations.

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

Conciseness5/5

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

The description is well-structured and front-loaded with the core purpose, followed by usage and performance notes, and ends with return details. Every sentence adds value without redundancy, making it efficient and easy to parse. No wasted words or unnecessary elaboration.

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

Completeness4/5

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

Given the tool has an output schema (which handles return values), no annotations, and low schema coverage, the description does a good job covering purpose, usage, and parameters. It addresses performance considerations and distinguishes from some siblings. However, it could improve by mentioning permissions or error handling, which are relevant for completeness in a retrieval context.

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%, so the description must compensate. It explains the purpose of 'include_content' (for optional content listing and performance implications) and implies 'container_id' is for identifying the container. However, it doesn't detail the format or constraints of 'container_id' (which accepts integer or string), leaving some ambiguity. Since there are only 2 parameters and the description adds meaningful context for one, it scores above baseline.

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 tool retrieves container information with optional content listing, specifying the verb 'retrieves' and resource 'container information'. It distinguishes from siblings like 'get_container_contents_only' and 'get_container_summary' by mentioning both properties and content. However, it doesn't explicitly contrast with all 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 Guidelines4/5

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

The description provides clear context for usage: 'Examine container properties and optionally see what's inside' and performance guidance: 'Set include_content=False for faster queries on large containers'. It implicitly distinguishes from 'get_container_contents_only' by offering optional content. However, it doesn't explicitly name alternatives or state when not to use this tool, preventing a score of 5.

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

get_container_contents_onlyA

Retrieves only the items stored in a container

Usage: Get container contents without metadata overhead Performance: Focused query for container content analysis Returns: List of contained items with minimal metadata

ParametersJSON Schema
NameRequiredDescriptionDefault
container_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/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 full burden. It discloses behavioral traits: 'Performance: Focused query for container content analysis' suggests optimization for speed or efficiency, and 'Returns: List of contained items with minimal metadata' clarifies output format. However, it lacks details on permissions, rate limits, error handling, or pagination, leaving gaps for a read operation.

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 appropriately sized and front-loaded: the first sentence states the core purpose, followed by three concise bullet-like sections (Usage, Performance, Returns) that each add value without waste. Every sentence earns its place by clarifying different aspects of the tool's behavior.

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

Completeness4/5

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

Given 1 parameter, no annotations, and an output schema exists (implied by 'Has output schema: true'), the description is fairly complete. It explains the tool's focus on minimal metadata and performance, which helps contextualize its use. However, it lacks details on the 'container_id' parameter semantics, slightly reducing completeness for a read operation.

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. It doesn't mention the 'container_id' parameter at all, failing to add meaning beyond the schema. With 1 parameter undocumented, the baseline is 3 since the schema provides structure but no semantic context, and the description offers no parameter details.

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 tool's purpose as 'Retrieves only the items stored in a container' with a specific verb ('retrieves') and resource ('items stored in a container'). It distinguishes from sibling 'get_container' by emphasizing 'only the items' and 'without metadata overhead', though it doesn't explicitly name alternatives like 'get_container_summary'.

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

Usage Guidelines4/5

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

The 'Usage' section provides clear context: 'Get container contents without metadata overhead', indicating this tool is for focused content analysis when minimal metadata is needed. It implies usage over alternatives like 'get_container' that might include more metadata, but doesn't explicitly state when-not-to-use or name specific alternatives.

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

get_container_summaryA

Retrieves container metadata without content for fast queries

Usage: Quick container information lookup without performance impact Performance: Avoids loading large content lists for better response times Returns: Container metadata only (name, type, capacity, etc.)

ParametersJSON Schema
NameRequiredDescriptionDefault
container_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden and does well by disclosing key behavioral traits: it's a read operation ('Retrieves'), has performance characteristics ('fast queries', 'better response times'), and specifies what it returns ('Container metadata only'). However, it doesn't mention error handling, authentication needs, or rate limits.

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

Conciseness5/5

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

The description is efficiently structured with a clear purpose statement followed by bullet-like sections (Usage, Performance, Returns). Every sentence adds value without redundancy, and it's front-loaded with the core functionality.

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

Completeness4/5

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

Given the tool's moderate complexity (single parameter, read-only operation), no annotations, and the presence of an output schema (which handles return value documentation), the description is mostly complete. It covers purpose, usage context, performance, and return scope, though it could benefit from mentioning error cases or prerequisites.

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%, but the description doesn't add any parameter-specific information beyond what the schema already provides (a single 'container_id' parameter). The baseline is 3 since the schema covers the parameter structure adequately, but the description doesn't compensate for the lack of 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 clearly states the specific action ('Retrieves container metadata without content') and distinguishes it from siblings like 'get_container' and 'get_container_contents_only' by emphasizing it's for 'fast queries' and 'without performance impact'. It explicitly differentiates from content-focused tools.

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

Usage Guidelines5/5

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

The description provides explicit guidance on when to use this tool ('Quick container information lookup without performance impact') and when not to use it ('Avoids loading large content lists'), with clear alternatives implied by distinguishing it from content-retrieval siblings. The 'Usage' section reinforces this context.

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

get_documentsA

Retrieves recent RSpace documents with pagination

Usage: Get overview of recent documents for browsing/selection Limit: Maximum 200 documents per call for performance Returns: List of document metadata (not full content)

ParametersJSON Schema
NameRequiredDescriptionDefault
page_sizeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden. It effectively discloses key behavioral traits: it's a read operation (implied by 'retrieves'), includes pagination, has a performance limit of 200 documents per call, and returns metadata only (not full content). This covers most essential aspects for a retrieval tool, though it could mention error handling or authentication needs.

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 well-structured and concise, with four clear bullet-like statements that each add value: action, usage, limit, and returns. There is no wasted text, and information is front-loaded effectively.

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

Completeness4/5

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

Given no annotations, 1 parameter with low schema coverage, and an output schema present, the description does a good job covering key aspects: purpose, usage, behavioral limits, and return type. It could be more complete by explicitly mentioning the parameter or differentiating from siblings, but it's largely adequate for a retrieval tool.

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

Parameters4/5

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

The input schema has 1 parameter with 0% description coverage, so the description must compensate. It doesn't explicitly mention the 'page_size' parameter, but it discusses pagination and a limit of 200 documents, which indirectly informs parameter usage. However, it could directly link the limit to the parameter for better clarity.

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 tool retrieves recent RSpace documents with pagination, specifying the resource (RSpace documents) and action (retrieves). It distinguishes from siblings like 'get_single_Rspace_document' by indicating it returns multiple documents, but could be more explicit about differentiation from 'search_documents' or 'find_documents_by_content'.

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 includes a 'Usage' line suggesting it's for browsing/selection of recent documents, which implies context. However, it doesn't explicitly state when to use this tool versus alternatives like 'search_documents' or 'search_recent_documents', leaving some ambiguity for the agent.

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

get_formA

Retrieves detailed information about a specific form template

Usage: Examine form structure before creating documents or new forms Returns: Complete form definition including field specifications

ParametersJSON Schema
NameRequiredDescriptionDefault
form_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/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 full burden. It states the tool retrieves information (implying read-only) and mentions the return content ('Complete form definition including field specifications'), which adds useful context. However, it doesn't disclose potential behavioral traits like error conditions, authentication needs, or rate limits that would be helpful for a read operation.

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 perfectly structured and concise: a clear purpose statement followed by usage guidance and return information. Every sentence earns its place with no wasted words, and it's front-loaded with the core functionality.

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

Completeness4/5

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

Given the tool has an output schema (which handles return values), no annotations, and a simple single parameter, the description is reasonably complete. It covers purpose, usage context, and return content. However, for a tool with no annotations, it could benefit from more behavioral transparency about potential constraints or error cases.

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 0% schema description coverage for the single parameter 'form_id', the description adds no specific parameter information. However, since there's only one parameter and its purpose is implied by the tool name and description context, the baseline is 4. The description doesn't compensate for the schema gap but doesn't need to heavily for a single, obvious parameter.

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 specific action ('Retrieves detailed information') and resource ('about a specific form template'), distinguishing it from sibling tools like 'get_forms' (plural) and 'create_form'. It precisely defines what the tool does without being tautological.

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

Usage Guidelines5/5

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

The description explicitly provides usage guidance: 'Examine form structure before creating documents or new forms'. This tells the agent when to use this tool (for pre-creation examination) and implies alternatives like 'create_document_from_form' or 'create_form' for actual creation tasks.

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

get_formsA

Lists available custom forms for structured document creation

Usage: Browse available templates before creating structured documents Filtering: Use query parameter to search form names/descriptions Returns: Paginated list of form metadata

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNo
order_byNolastModified desc
page_numberNo
page_sizeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/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 burden. It discloses key behavioral traits: the tool returns a 'Paginated list of form metadata,' which is crucial for understanding output structure and handling large datasets. However, it lacks details on permissions, rate limits, error conditions, or whether it's read-only (implied by 'Lists' but not explicit). The description adds value but misses some operational context.

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 appropriately sized and front-loaded, with the core purpose stated first, followed by usage, filtering, and returns in bullet-like sections. Every sentence earns its place by providing distinct, non-redundant information without fluff. The structure is efficient and easy to parse.

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

Completeness4/5

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

Given the tool's moderate complexity (listing with filtering/pagination), no annotations, and an output schema (which handles return values), the description is fairly complete. It covers purpose, usage, filtering, and pagination, addressing key aspects. However, it lacks details on authentication, error handling, or sibling tool differentiation, leaving minor gaps in 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?

The input schema has 4 parameters with 0% description coverage, so the description must compensate. It adds meaning for 'query' ('Filtering: Use query parameter to search form names/descriptions'), explaining its purpose beyond the schema. However, it doesn't cover 'order_by,' 'page_number,' or 'page_size,' leaving three parameters undocumented. This partial compensation results in a baseline score.

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 tool's purpose with 'Lists available custom forms for structured document creation,' specifying the verb (lists), resource (custom forms), and context (structured document creation). It distinguishes from siblings like 'get_form' (singular) and 'create_form' by focusing on listing rather than retrieving or creating. However, it doesn't explicitly contrast with other listing tools like 'list_containers' or 'list_samples,' preventing a perfect score.

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

Usage Guidelines4/5

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

The description provides clear usage context with 'Browse available templates before creating structured documents,' indicating when to use this tool (for browsing templates). It implies an alternative ('create_document_from_form') by referencing document creation, but doesn't explicitly state when not to use it or name all relevant alternatives like 'get_form' for single-form retrieval. This is helpful but not exhaustive.

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

get_recent_samples_summaryA

Retrieves recent samples with minimal data for dashboard views

Usage: Quick overview of recent activity without full sample details Performance: Optimized for dashboard and summary displays Filtering: Configurable time window and result count

Returns: Lightweight sample list with essential information only

ParametersJSON Schema
NameRequiredDescriptionDefault
days_backNo
page_sizeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/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. It adds some behavioral context: 'Optimized for dashboard and summary displays' hints at performance characteristics, and 'Returns: Lightweight sample list with essential information only' describes the output format. However, it doesn't cover critical aspects like whether this is a read-only operation (implied but not stated), error conditions, or rate limits, leaving gaps for a mutation-free 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 well-structured and front-loaded, with the core purpose in the first sentence followed by bullet-like sections (Usage, Performance, Filtering, Returns). Each sentence earns its place by adding distinct value—no wasted words. It's appropriately sized for a simple retrieval tool with two parameters.

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

Completeness4/5

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

Given the tool's low complexity (2 parameters, no nested objects) and the presence of an output schema, the description is mostly complete. It covers purpose, usage, performance hints, parameter semantics, and return format. However, with no annotations, it could benefit from explicitly stating read-only behavior or other traits, but the output schema reduces the need for return value details, keeping it adequate.

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%, so the description must compensate. It adds meaningful context: 'Filtering: Configurable time window and result count' explains the purpose of the parameters beyond their names ('days_back' and 'page_size'). This clarifies that 'days_back' controls the time window and 'page_size' limits results, which is valuable given the lack of schema descriptions. However, it doesn't detail default values or constraints, so it's not a full 5.

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 tool's purpose: 'Retrieves recent samples with minimal data for dashboard views.' It specifies the verb ('retrieves'), resource ('recent samples'), and scope ('minimal data for dashboard views'), distinguishing it from more detailed retrieval tools like 'get_sample' or 'list_samples' in the sibling list. However, it doesn't explicitly contrast with all 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 Guidelines4/5

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

The description provides clear usage context: 'Quick overview of recent activity without full sample details' and 'Optimized for dashboard and summary displays.' This implicitly guides when to use this tool (for summaries) versus alternatives like 'get_sample' (for full details). However, it doesn't explicitly name alternatives or state when not to use it, so it falls short of a 5.

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

get_sampleA

Retrieves complete information about a specific sample

Usage: Get detailed sample metadata, location, and subsample information Parameters: sample_id can be numeric ID or global ID (e.g., "SA12345") Returns: Full sample details including all subsamples

ParametersJSON Schema
NameRequiredDescriptionDefault
sample_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/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 burden. It discloses that it retrieves 'complete information' including 'subsample information', which adds context beyond the basic read operation implied by 'get'. However, it doesn't cover behavioral traits like error handling (e.g., what happens if the sample_id is invalid), authentication needs, rate limits, or whether it's idempotent, leaving gaps for a mutation-free 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 well-structured with clear sections (purpose, usage, parameters, returns) and uses bullet-like formatting for readability. It's appropriately sized at four sentences, with each adding value: the first states the core action, the second provides usage context, the third explains parameter semantics, and the fourth outlines returns. No wasted words, though it could be slightly more front-loaded by merging the first two lines.

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

Completeness4/5

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

Given the tool's low complexity (single parameter, no annotations, but has an output schema), the description is reasonably complete. It covers purpose, usage hint, parameter semantics, and return content. The presence of an output schema means the description doesn't need to detail return values, and it adequately addresses the key aspects for a simple retrieval tool, though it could benefit from more behavioral context like error cases.

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

Parameters4/5

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

The schema has 0% description coverage, so the description must compensate. It adds meaningful semantics by explaining that 'sample_id can be numeric ID or global ID (e.g., "SA12345")', clarifying the input format beyond the schema's generic integer/string types. Since there's only one parameter, this adequately covers its purpose, though it doesn't detail constraints like ID length or validation rules.

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 tool's purpose with a specific verb ('Retrieves') and resource ('complete information about a specific sample'), distinguishing it from siblings like 'list_samples' (which lists multiple) and 'get_recent_samples_summary' (which provides summaries). However, it doesn't explicitly differentiate from 'get_container' or 'get_container_contents_only', which might also retrieve information about related 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?

The 'Usage' line implies this tool is for detailed metadata when you have a specific sample ID, suggesting it's not for listing or summarizing samples. However, it lacks explicit guidance on when to use alternatives like 'list_samples' (for browsing) or 'search_inventory' (for finding samples), and doesn't mention prerequisites such as needing an existing sample ID.

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

get_sample_templateA

Retrieves detailed information about a sample template

Usage: Examine template structure before using for sample creation Returns: Complete template definition including field specifications

ParametersJSON Schema
NameRequiredDescriptionDefault
template_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/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. It discloses the tool is for retrieval (read-only) and returns a 'complete template definition', which adds useful behavioral context. However, it lacks details on permissions, error handling, or rate limits, which are important for a tool with no annotation coverage.

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

Conciseness5/5

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

The description is front-loaded with the core purpose, followed by usage and return details in two clear sentences. Every sentence adds value without redundancy, making it efficient and well-structured for quick comprehension.

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

Completeness4/5

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

Given the tool's low complexity (1 parameter) and the presence of an output schema (which handles return value documentation), the description is mostly complete. It covers purpose, usage, and return scope adequately. Minor gaps include lack of error cases or permissions info, but these are less critical for a simple retrieval tool.

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

Parameters3/5

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

Schema description coverage is 0%, but the description doesn't add any parameter-specific information beyond what the schema implies (a 'template_id' is required). It doesn't explain the parameter's format, constraints, or examples, leaving gaps despite the single parameter. The baseline is adjusted to 3 due to the presence of an output schema, which reduces the need for param details.

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 tool's purpose with a specific verb ('Retrieves') and resource ('detailed information about a sample template'), distinguishing it from siblings like 'list_sample_templates' (which likely lists templates) and 'create_sample_template' (which creates them). However, it doesn't explicitly differentiate from 'get_sample' (which retrieves sample data), leaving minor ambiguity.

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

Usage Guidelines4/5

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

The description provides clear usage guidance with 'Examine template structure before using for sample creation', indicating when to use this tool (pre-creation analysis). It doesn't explicitly state when not to use it or name alternatives like 'list_sample_templates', but the context is sufficiently clear for effective tool selection.

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

get_single_Rspace_documentB

Retrieves complete content of a single document

Usage: Get full document text for reading/analysis Parameters: doc_id can be numeric ID or string globalId (e.g., "SD12345") Returns: Full document with concatenated field content

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
contentYesconcatenated text content from all fields

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. It mentions retrieving 'complete content' and 'concatenated field content', which adds some behavioral context about the return format. However, it lacks details on permissions, rate limits, error handling, or whether it's a read-only operation (implied but not stated), making it insufficient for a mutation-aware agent.

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 front-loaded with the core purpose, followed by usage, parameters, and returns in separate lines. It's appropriately sized with no redundant information, though the 'Usage' line could be more integrated for better flow.

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 1 parameter with low schema coverage, no annotations, and an output schema (which reduces need to explain returns), the description is moderately complete. It covers purpose and parameter semantics but lacks behavioral details like safety or performance, making it adequate but with gaps for a retrieval tool.

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

Parameters4/5

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

The description adds meaningful semantics beyond the input schema: it explains that 'doc_id' can be numeric ID or string globalId with an example ('SD12345'), and clarifies it retrieves a 'single' document. With 0% schema description coverage and 1 parameter, this compensates well, though it doesn't detail format constraints beyond the example.

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 tool retrieves complete content of a single document, specifying the verb (retrieves) and resource (document). It distinguishes from sibling tools like 'get_documents' (plural) and 'find_documents_by_content' (search-based), though not explicitly named. However, it doesn't fully differentiate from 'get_container' or 'get_sample' which might also retrieve content, keeping it at 4.

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 includes a 'Usage' line suggesting when to use it ('for reading/analysis'), which implies context. However, it doesn't explicitly state when not to use it or name alternatives like 'get_documents' for multiple documents or 'search_documents' for filtered retrieval, leaving room for improvement.

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

get_workbenchesA

Retrieves all available workbenches (virtual workspaces)

Usage: Find available workspaces for organizing current work Workbenches: Special containers representing physical or logical workspaces Returns: List of all workbench containers

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/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. It discloses that the tool retrieves 'all available workbenches' and returns a 'List of all workbench containers,' indicating it's a read-only list operation. However, it doesn't mention behavioral traits like pagination, rate limits, authentication needs, or error handling, leaving gaps for a tool with no 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 structured into three clear sentences: purpose, usage, and return value. It's front-loaded with the main action and avoids redundancy. However, the second sentence ('Workbenches: Special containers...') could be integrated more smoothly, and there's minor room for tightening without losing clarity.

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

Completeness4/5

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

Given the tool's simplicity (0 parameters, no annotations, but has an output schema), the description is reasonably complete. It explains what the tool does, when to use it, and what it returns. The output schema likely covers return values, so the description doesn't need to detail them further. It could improve by addressing sibling differentiation or behavioral aspects like error cases.

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

Parameters4/5

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

The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description doesn't add parameter details, which is appropriate. A baseline of 4 is applied as it compensates adequately for the lack of parameters by focusing on the tool's purpose and output.

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 tool's purpose: 'Retrieves all available workbenches (virtual workspaces)' with a specific verb ('Retrieves') and resource ('workbenches'). It distinguishes workbenches as 'Special containers representing physical or logical workspaces,' which helps differentiate from generic container tools like 'list_containers' or 'get_container,' though it doesn't explicitly name those siblings.

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 provides implied usage guidance: 'Usage: Find available workspaces for organizing current work' suggests when to use it (for workspace discovery and organization). However, it lacks explicit alternatives or exclusions, such as when to use other container-related tools like 'list_containers' or 'get_container,' which are siblings.

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

list_containersA

Lists top-level containers (not nested within other containers)

Usage: Browse main container organization structure Returns: Paginated list of root-level containers

ParametersJSON Schema
NameRequiredDescriptionDefault
page_sizeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations provided, the description carries full burden and does well by disclosing key behavioral traits: it specifies the scope ('top-level containers'), mentions pagination ('Paginated list'), and indicates the return structure ('root-level containers'). It lacks details on permissions or rate limits, but covers essential operational context.

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 front-loaded with purpose, followed by usage and returns in separate lines, with zero wasted words. Every sentence adds value, making it highly efficient and well-structured.

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

Completeness5/5

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

Given the tool's low complexity (1 parameter, no annotations, but has output schema), the description is complete enough: it covers purpose, usage, behavioral traits (pagination, scope), and relies on the output schema for return values. No significant gaps exist for this simple list 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?

The input schema has 1 parameter with 0% description coverage, but the description compensates by implying pagination through 'Paginated list' and 'page_size' parameter context. It doesn't detail parameter usage explicitly, but the schema's default value and type provide basic clarity, warranting a score above baseline.

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

Purpose5/5

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

The description explicitly states the verb ('Lists') and resource ('top-level containers'), specifying scope ('not nested within other containers') and distinguishing it from sibling tools like get_container or get_container_contents_only that handle different container-related operations.

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

Usage Guidelines4/5

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

The description provides clear context ('Browse main container organization structure'), indicating when to use this tool. However, it does not explicitly state when not to use it or name alternatives (e.g., for nested containers or detailed views), which prevents a perfect score.

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

list_samplesA

Lists samples in the inventory with pagination and sorting

Usage: Browse sample collection, find recent additions Sorting: Options include "lastModified", "name", "created" Returns: Paginated list of sample metadata

ParametersJSON Schema
NameRequiredDescriptionDefault
page_sizeNo
order_byNolastModified
sort_orderNodesc

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/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 burden of behavioral disclosure. It mentions pagination and sorting behavior, which is helpful, but doesn't cover other important aspects like rate limits, authentication requirements, error conditions, or whether this is a read-only operation (though 'Lists' implies it). The description adds value but leaves gaps in behavioral context.

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 efficiently structured with clear sections (Usage, Sorting, Returns) and uses only four sentences. Each sentence adds value, though the 'Usage' line could be more specific. The information is front-loaded with the core purpose stated first.

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

Completeness4/5

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

Given that there's an output schema (which handles return value documentation) and this is a relatively simple read operation with 3 parameters, the description provides adequate context. It covers the main behavioral aspects (pagination, sorting) and purpose, though it could benefit from more explicit differentiation from sibling tools and clearer parameter mapping.

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

Parameters4/5

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

The schema description coverage is 0%, so the description must compensate. It explains the purpose of sorting ('Options include "lastModified", "name", "created"') and mentions pagination, which helps interpret the three parameters. However, it doesn't explicitly map to parameter names like 'page_size' or 'sort_order', leaving some ambiguity about how these concepts connect to the actual 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 tool's purpose as 'Lists samples in the inventory with pagination and sorting', which is a specific verb+resource combination. However, it doesn't explicitly differentiate from sibling tools like 'get_recent_samples_summary' or 'search_inventory', which might offer similar functionality with different scopes or filters.

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 provides some usage context with 'Browse sample collection, find recent additions', which implies this tool is for general browsing rather than targeted searches. However, it doesn't explicitly state when to use this versus alternatives like 'search_inventory' or 'get_recent_samples_summary', nor does it provide exclusion criteria.

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

list_sample_templatesA

Lists available sample templates for reuse

Usage: Browse existing templates before creating new samples Returns: Paginated list of template metadata

ParametersJSON Schema
NameRequiredDescriptionDefault
page_sizeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/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 burden. It discloses key behavioral traits: 'Paginated list' reveals output structure and pagination behavior, and 'template metadata' indicates return content. However, it doesn't mention permissions, rate limits, or whether the operation is safe/read-only (though implied by 'list').

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 perfectly structured: purpose statement first, usage guidance second, return behavior third. Every sentence adds value with zero redundancy. At three concise lines, it's front-loaded and efficiently communicates essential information.

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

Completeness4/5

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

Given a simple listing tool with 1 parameter, no annotations, but an output schema exists (so return values needn't be explained), the description is reasonably complete. It covers purpose, usage context, and output behavior. The main gap is lack of parameter semantics, but for a single optional parameter with a default, this is acceptable.

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%, but the description adds no parameter information beyond what the schema provides. The single parameter 'page_size' is undocumented in both schema and description. With 0 parameters documented, the baseline is 4, but since there is 1 parameter with no semantics explained, it drops to 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 clearly states the tool's purpose: 'Lists available sample templates for reuse' specifies the verb (list) and resource (sample templates). It distinguishes from siblings like 'create_sample_template' (creation) and 'get_sample_template' (single retrieval), but doesn't explicitly contrast with 'list_samples' (different resource).

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

Usage Guidelines4/5

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

The description provides clear usage context: 'Browse existing templates before creating new samples' indicates when to use it (pre-creation exploration). It doesn't explicitly state when NOT to use it or name alternatives, but the context is sufficiently clear for a listing tool.

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

move_items_to_grid_container_by_columnB

Moves items to grid container, filling positions column by column

Usage: Alternative filling pattern for specific experimental layouts Auto-positioning: Fills down columns before moving to next column Returns: Success status and final positions of moved items

ParametersJSON Schema
NameRequiredDescriptionDefault
target_container_idYes
item_idsYes
start_columnNo
start_rowNo
total_columnsNo
total_rowsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/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 burden. It discloses the auto-positioning behavior ('Fills down columns before moving to next column') and return values ('Success status and final positions of moved items'), which is helpful. However, it lacks details on permissions, error conditions, or side effects (e.g., whether items are removed from original locations), leaving gaps 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 well-structured with clear sections (purpose, usage, behavior, returns) in four concise sentences. Each sentence adds value, though it could be slightly more front-loaded by integrating usage into the purpose statement.

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 complexity (6 parameters, mutation operation) and no annotations, the description is incomplete. It covers behavior and returns well (aided by the output schema), but the lack of parameter explanations and minimal usage guidance makes it inadequate for full understanding, especially compared to siblings like 'move_items_to_grid_container_by_row'.

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 mentions no parameters explicitly, failing to explain what 'target_container_id', 'item_ids', or the column/row parameters mean. This leaves 6 parameters undocumented, significantly hindering understanding despite the output schema covering return values.

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 ('Moves items to grid container') and specifies the filling pattern ('filling positions column by column'), which distinguishes it from row-based alternatives. However, it doesn't explicitly differentiate from 'move_items_to_specific_grid_locations' which might be a closer sibling, making it slightly less specific than ideal.

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 provides some context with 'Alternative filling pattern for specific experimental layouts', implying this is for column-first layouts rather than row-first. It doesn't explicitly state when NOT to use it or name alternatives like 'move_items_to_grid_container_by_row', leaving usage somewhat implied rather than explicit.

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

move_items_to_grid_container_by_rowA

Moves items to grid container, filling positions row by row

Usage: Systematic filling of plates, boxes, or other gridded containers Auto-positioning: Automatically calculates next available positions Dimensions: Auto-detected from container if not provided

Returns: Success status and final positions of moved items

ParametersJSON Schema
NameRequiredDescriptionDefault
target_container_idYes
item_idsYes
start_columnNo
start_rowNo
total_columnsNo
total_rowsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden. It effectively discloses key behaviors: auto-positioning ('Automatically calculates next available positions'), dimension handling ('Auto-detected from container if not provided'), and return values ('Success status and final positions of moved items'). It doesn't cover error conditions, permissions, or rate limits, but provides solid operational context.

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 efficiently structured with clear sections: purpose statement, usage context, key features (auto-positioning, dimensions), and return values. Every sentence adds value, with no redundancy or fluff. It's appropriately sized for the tool's complexity.

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

Completeness4/5

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

Given the tool's moderate complexity (6 parameters, mutation operation), no annotations, but with an output schema (implied by 'Returns' statement), the description is quite complete. It covers purpose, usage context, key behaviors, and outputs. It could improve by mentioning error cases or permissions, but it's largely adequate for agent use.

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 0% schema description coverage for 6 parameters, the description compensates well by explaining the role of 'Dimensions' (implied to relate to total_columns/total_rows) and the auto-positioning logic (which involves start_row/start_column). It doesn't detail target_container_id or item_ids, but the context makes their purpose reasonably inferable. The description adds significant value beyond the bare 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 action ('Moves items to grid container') and method ('filling positions row by row'), distinguishing it from sibling tools like 'move_items_to_grid_container_by_column' and 'move_items_to_specific_grid_locations'. However, it doesn't explicitly contrast with these alternatives in the purpose statement 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 'Usage' line provides some context ('Systematic filling of plates, boxes, or other gridded containers'), implying this is for orderly placement rather than specific positioning. It doesn't explicitly state when to use this vs. the column-based or specific-location variants, nor does it mention prerequisites or exclusions.

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

move_items_to_list_containerB

Moves multiple items to a list-based container

Usage: Organize items in simple containers without specific positioning Items: Can move both samples/subsamples and other containers Returns: Success status and results for each moved item

ParametersJSON Schema
NameRequiredDescriptionDefault
target_container_idYes
item_idsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3/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 burden but offers limited behavioral insight. It mentions that items can include samples/subsamples and other containers, and that it returns success status and results per item, which adds some context. However, it omits critical details like permission requirements, error handling, whether moves are atomic or batch, or side effects on source containers—significant gaps 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 well-structured and concise, using bullet-like sections (Usage, Items, Returns) to present information efficiently. Each sentence adds value without redundancy, though it could be slightly more front-loaded by leading with the core purpose more prominently.

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 moderate complexity (2 parameters, mutation operation), no annotations, and an output schema present, the description is partially complete. It covers basic purpose and return indication but lacks details on parameters, error cases, and behavioral nuances. The output schema mitigates some gaps, but overall completeness is only adequate for minimal understanding.

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 fails to do so adequately. It does not explain what target_container_id or item_ids represent, their formats, or constraints (e.g., valid IDs, array limits). The mention of 'items' in the description loosely relates to item_ids but lacks specificity, leaving parameters largely undocumented beyond the schema's structural definition.

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 tool's purpose as moving multiple items to a list-based container, specifying both the action (move) and resource (items to list-based container). It distinguishes from sibling tools like move_items_to_grid_container_by_column by specifying the container type. However, it doesn't explicitly contrast with all grid container siblings, keeping it from a perfect score.

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 provides some usage context with 'Organize items in simple containers without specific positioning,' implying this tool is for basic organization versus precise placement. However, it lacks explicit when-not-to-use guidance or named alternatives among the many sibling tools, leaving the agent to infer from context rather than receiving clear directives.

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

move_items_to_specific_grid_locationsA

Places items at specific coordinates within a grid container

Usage: Precise positioning for experimental layouts or protocols Coordinates: Each item gets an exact (row, column) position Validation: Ensures equal number of items and positions

Returns: Success status and confirmation of final positions

ParametersJSON Schema
NameRequiredDescriptionDefault
target_container_idYes
item_idsYes
grid_locationsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior3/5

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

With no annotations provided, the description carries full burden. It discloses validation behavior ('Ensures equal number of items and positions') and return information ('Success status and confirmation of final positions'), which is helpful. However, it doesn't mention potential side effects like overwriting existing items at coordinates, permission requirements, or error conditions for invalid coordinates.

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 well-structured with clear sections (purpose, usage, coordinates, validation, returns) in just 4 sentences. Every sentence adds value with no redundant information, making it easy to scan and understand quickly.

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

Completeness4/5

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

Given 3 parameters with 0% schema coverage and no annotations, the description does a good job explaining core functionality. The presence of an output schema means it doesn't need to detail return values. However, for a mutation tool with precise positioning, it could better address potential risks like coordinate conflicts or container constraints.

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%, so the description must compensate. It explains the purpose of coordinates ('Each item gets an exact (row, column) position') and validation logic, adding meaningful context beyond the bare schema. However, it doesn't clarify the relationship between item_ids and grid_locations arrays or explain what target_container_id represents.

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

Purpose5/5

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

The description clearly states the tool's purpose with specific verb ('places items') and resource ('at specific coordinates within a grid container'). It distinguishes from sibling tools like 'move_items_to_grid_container_by_column' and 'move_items_to_grid_container_by_row' by emphasizing precise positioning rather than bulk movement by row/column.

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

Usage Guidelines4/5

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

The 'Usage' line provides clear context ('Precise positioning for experimental layouts or protocols'), indicating when this tool is appropriate. However, it doesn't explicitly state when NOT to use it or name specific alternatives among the sibling tools, though the distinction from row/column movement tools is implied.

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

publish_formB

Makes a form available for creating documents

Usage: Activate form after creation/modification Note: Forms must be published before they can be used for document creation Returns: Updated form status

ParametersJSON Schema
NameRequiredDescriptionDefault
form_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/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 burden. It discloses that the tool changes form status to 'published' and is necessary for document creation, which are key behavioral traits. However, it misses details like permission requirements, side effects (e.g., if it affects existing documents), or error conditions, making it moderately informative but incomplete.

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 appropriately sized and front-loaded, with the main purpose stated first, followed by usage notes and return info. Each sentence adds value, but the structure could be slightly improved by integrating the usage notes more seamlessly or bullet-pointing for clarity.

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 moderate complexity (a mutation operation with no annotations), the description covers the basic purpose and usage but lacks details on parameters, permissions, or error handling. The presence of an output schema helps by handling return values, but the description should compensate more for the low schema coverage and missing behavioral context.

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 0% description coverage, and the description does not mention the 'form_id' parameter at all. It fails to add any meaning beyond the schema, such as explaining what a form_id is or how to obtain it, leaving the parameter undocumented in both schema and 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 clearly states the tool's purpose with a specific verb ('Makes available') and resource ('form'), and it explains the outcome ('available for creating documents'). However, it doesn't explicitly differentiate from sibling tools like 'unpublish_form' or 'create_document_from_form', which would require more specific scope or contrast.

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 provides implied usage guidelines with 'Activate form after creation/modification' and 'Forms must be published before they can be used for document creation', suggesting when to use it. However, it lacks explicit alternatives (e.g., when not to use it or how it differs from 'share_form') and prerequisites beyond form existence, leaving some ambiguity.

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

renameDocumentOrNotebookEntryC

Changes the name/title of a document or notebook entry

Usage: Update document titles for better organization Returns: Updated document information

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes
nameYes

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 states the tool changes names and returns updated information, but lacks details on permissions required, whether the change is reversible, error handling, or rate limits. For a mutation tool with zero annotation coverage, this is insufficient to inform the agent adequately about behavioral traits.

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 concise with three short sentences: a purpose statement, usage hint, and return info. It's front-loaded with the core action. However, the 'Usage' sentence is somewhat redundant with the first, slightly reducing efficiency, but overall it avoids unnecessary verbosity.

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 complexity of a mutation tool with no annotations, 0% schema coverage, and no output schema, the description is incomplete. It lacks details on behavioral aspects, parameter meanings, error cases, and output structure. The return statement is vague ('Updated document information'), failing to provide sufficient context for the agent to understand the tool fully.

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 undocumented parameters. It mentions 'doc_id' and 'name' implicitly through context but doesn't explain their semantics, formats, or constraints (e.g., that 'doc_id' can be integer or string). The description adds minimal value beyond what the bare schema provides, failing to clarify parameter meanings effectively.

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 tool's purpose: 'Changes the name/title of a document or notebook entry.' It specifies the verb ('Changes') and resource ('name/title of a document or notebook entry'), making the action explicit. However, it doesn't differentiate from sibling tools like 'rename_inventory_item' or 'update_document', which could have overlapping functionality, so it doesn't reach a perfect 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 minimal guidance: 'Update document titles for better organization.' This implies a use case but doesn't specify when to use this tool versus alternatives like 'update_document' or 'rename_inventory_item', nor does it mention prerequisites or exclusions. No explicit when/when-not instructions are given, leaving the agent with little contextual direction.

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

rename_inventory_itemA

Changes the name of any inventory item

Usage: Rename samples, subsamples, containers, or templates Universal: Works with any inventory item type Returns: Updated item information with new name

ParametersJSON Schema
NameRequiredDescriptionDefault
item_idYes
new_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/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 states the tool 'Changes the name' and 'Returns: Updated item information', which implies a mutation operation with a response, but lacks details on permissions, side effects, error conditions, or whether the change is reversible. For a mutation tool, this is insufficient behavioral context.

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 efficiently structured with three bullet-like statements, each adding distinct value: the core action, usage scope, and return information. There is no wasted text, and key information is front-loaded.

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 a mutation tool with no annotations, 0% schema coverage, but an output schema exists, the description is moderately complete. It covers purpose and scope well, but lacks behavioral details like permissions or side effects. The output schema reduces the need to describe return values, but more context on the mutation's impact would improve 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?

Schema description coverage is 0%, so the description must compensate. It implies 'item_id' identifies the target and 'new_name' is the updated name, but doesn't explain ID formats, name constraints, or validation rules. The description adds minimal semantic value beyond what the parameter names suggest, meeting the baseline for low coverage.

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

Purpose5/5

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

The description clearly states the specific action ('Changes the name') and resource ('any inventory item'), distinguishing it from siblings like 'renameDocumentOrNotebookEntry' which handles different resource types. It explicitly lists the applicable item types (samples, subsamples, containers, templates), making the scope unambiguous.

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

Usage Guidelines4/5

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

The description provides clear context for when to use this tool ('Rename samples, subsamples, containers, or templates'), but does not explicitly state when not to use it or name alternatives. For example, it doesn't contrast with 'renameDocumentOrNotebookEntry' for non-inventory items, though the 'Universal' statement implies broad applicability within inventory.

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

search_by_tagsA

Search documents by specific tags

Usage: Find documents tagged with specific keywords

Parameters:

  • tags: List of tags to search for

  • operator: "and" (document must have all tags) or "or" (document can have any tag)

  • order_by: Sort results by field

  • page_number: Page number for pagination

  • page_size: Number of results per page

Returns: Dictionary with search results

Example: search_by_tags(["PCR", "protocol"], operator="and")

ParametersJSON Schema
NameRequiredDescriptionDefault
tagsYes
operatorNoand
order_byNolastModified desc
page_numberNo
page_sizeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/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 of behavioral disclosure. It mentions that the tool returns a 'Dictionary with search results,' which adds some context about the output. However, it lacks details on permissions, rate limits, error handling, or whether the search is case-sensitive or exact-match. For a search tool with zero annotation coverage, this is a moderate gap, but the description does provide basic behavioral information.

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 well-structured with sections for purpose, usage, parameters, returns, and an example. It's appropriately sized and front-loaded with the core purpose. However, the 'Usage' line is somewhat redundant with the first sentence, and the example could be more integrated, slightly reducing efficiency.

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

Completeness4/5

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

Given the complexity (5 parameters, 0% schema coverage, no annotations) and the presence of an output schema (which handles return values), the description is fairly complete. It covers purpose, parameters, and basic usage, but it lacks details on behavioral aspects like error conditions or search specifics. For a tool with this level of complexity, it does a good job but has minor gaps.

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

Parameters5/5

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

The schema description coverage is 0%, so the description must compensate. It lists all 5 parameters with clear explanations: 'tags' as a list of tags, 'operator' with allowed values and meaning, 'order_by' for sorting, and 'page_number'/'page_size' for pagination. This adds significant meaning beyond the bare schema, fully documenting each parameter's purpose and usage.

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 tool's purpose: 'Search documents by specific tags' and 'Find documents tagged with specific keywords.' This specifies the verb (search/find), resource (documents), and mechanism (tags/keywords). However, it doesn't explicitly differentiate from sibling tools like 'search_documents' or 'find_documents_by_content,' which is why it doesn't reach a score of 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 description includes a 'Usage' line that implies when to use this tool: 'Find documents tagged with specific keywords.' This provides some context, but it doesn't offer explicit guidance on when to choose this tool over alternatives like 'search_documents' or 'find_documents_by_content,' nor does it mention any exclusions or prerequisites. The guidance is implied rather than comprehensive.

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

search_documentsA

Generic search tool for RSpace documents with flexible search options

Usage: Search across all your RSpace documents using various criteria

Parameters:

  • query: The search term(s) to look for

  • search_type: "simple" for basic search, "advanced" for multi-criteria search

  • query_types: List of search types to use (for advanced search):

    • "global": Search across all document content and metadata

    • "fullText": Search within document text content

    • "tag": Search by document tags

    • "name": Search by document names/titles

    • "created": Search by creation date (use ISO format like "2024-01-01")

    • "lastModified": Search by modification date

    • "form": Search by form type

    • "attachment": Search by attachments

  • operator: "and" (all criteria must match) or "or" (any criteria can match)

  • order_by: Sort results by field (e.g., "lastModified desc", "name asc")

  • page_number: Page number for pagination (0-based)

  • page_size: Number of results per page (max 200)

  • include_content: Whether to fetch full document content (slower but more complete)

Returns: Dictionary with search results and metadata

Examples:

  • Simple text search: search_documents("PCR protocol")

  • Search by tags: search_documents("experiment", search_type="advanced", query_types=["tag"])

  • Multi-criteria search: search_documents("DNA", search_type="advanced", query_types=["fullText", "tag"], operator="or")

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
search_typeNosimple
query_typesNo
operatorNoand
order_byNolastModified desc
page_numberNo
page_sizeNo
include_contentNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations provided, the description carries full burden. It mentions performance impact ('slower but more complete' for include_content) and pagination behavior, but doesn't cover error conditions, rate limits, or authentication needs. It adequately describes core behavior but misses some operational details.

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 well-structured with clear sections (generic description, usage, parameters, returns, examples). While comprehensive, it's appropriately sized for an 8-parameter tool. Some redundancy exists (e.g., repeating parameter details in examples), but overall efficient.

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

Completeness4/5

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

Given 8 parameters with 0% schema coverage and no annotations, the description does an excellent job explaining inputs and providing examples. With an output schema present, it doesn't need to detail return values. It covers most essential context, though could benefit from more sibling differentiation.

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

Parameters5/5

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

Schema description coverage is 0%, so the description must fully compensate. It provides detailed explanations for all 8 parameters, including enum values, defaults, and usage examples. This adds significant value beyond the bare schema, making parameter meanings clear.

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 tool searches RSpace documents with flexible options, specifying the resource (RSpace documents) and verb (search). It distinguishes from siblings like 'find_documents_by_content' and 'search_by_tags' by mentioning multiple search criteria, though not explicitly contrasting them.

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

Usage Guidelines3/5

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

The description implies usage through examples and parameter explanations, suggesting when to use simple vs. advanced search. However, it lacks explicit guidance on when to choose this tool over siblings like 'find_documents_by_content' or 'search_by_tags', leaving some ambiguity.

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

search_inventoryA

Searches across all inventory items using text query

Usage: Find samples, containers, or templates by name, tags, or description Result types: 'SAMPLE', 'SUBSAMPLE', 'CONTAINER', 'TEMPLATE' (or None for all) Returns: Matching items with relevance scoring

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
result_typeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/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 burden of behavioral disclosure. It adds useful context about result types and that it returns matching items with relevance scoring, which goes beyond the basic 'search' function. However, it doesn't address important behavioral aspects like whether this is a read-only operation, potential rate limits, authentication requirements, or what happens with no results. The description provides some behavioral insight but leaves significant gaps.

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 appropriately sized with four concise sentences that each add value. It's front-loaded with the core purpose, followed by usage guidance, parameter details, and return information. There's minimal waste, though the structure could be slightly more organized with clearer section separation between purpose, usage, parameters, and returns.

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

Completeness4/5

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

Given the tool's moderate complexity (2 parameters, search functionality), no annotations, but with an output schema present, the description provides reasonably complete context. It covers the purpose, usage guidance, parameter semantics, and return behavior. The existence of an output schema means the description doesn't need to detail return values extensively. However, for a search tool with no annotations, it could benefit from more behavioral context about limitations or performance characteristics.

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 0% schema description coverage and 2 parameters, the description compensates well by explaining both parameters' semantics. It clarifies that 'query' searches across name, tags, or description fields, and explains the 'result_type' parameter with its possible values and default behavior. This adds meaningful context beyond what the bare schema provides, though it doesn't specify exact format requirements for the query 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 clearly states the tool's purpose: searching across inventory items using text query. It specifies the resource (inventory items) and verb (searches) with some scope details (across all items). However, it doesn't explicitly differentiate from sibling tools like 'search_by_tags' or 'search_documents', which reduces clarity about when this specific search tool should be used versus those alternatives.

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 provides some usage context in the 'Usage' line, indicating what can be found (samples, containers, templates) and searchable fields (name, tags, description). However, it doesn't explicitly state when to use this tool versus alternatives like 'search_by_tags' or 'search_documents', nor does it provide any exclusion criteria or prerequisites. The guidance is implied rather than explicit.

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

search_recent_documentsB

Search for recently modified documents

Usage: Find documents modified within a specific timeframe

Parameters:

  • days_back: Number of days to look back

  • query: Optional text search within recent documents

  • page_size: Number of results to return

Returns: Dictionary with recent documents

Example: search_recent_documents(7, "experiment")

ParametersJSON Schema
NameRequiredDescriptionDefault
days_backNo
queryNo
page_sizeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

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 burden. It mentions the tool returns a dictionary with recent documents but lacks details on behavioral traits like pagination (implied by 'page_size' but not explained), rate limits, authentication needs, error handling, or what constitutes 'recent' beyond the 'days_back' parameter. The description provides basic function but misses key operational context.

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 well-structured with clear sections (purpose, usage, parameters, returns, example) and uses bullet points for parameters. It's appropriately sized with no redundant sentences, though the 'Returns' line is somewhat vague and could be more specific.

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 no annotations, 0% schema coverage, but an output schema exists, the description is moderately complete. It covers the basic purpose, parameters, and return type, but lacks details on behavioral aspects like pagination, error cases, or how 'recent' is defined. The output schema likely handles return values, but the description doesn't fully compensate for missing annotation context.

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%, so the description must compensate. It lists all three parameters with brief explanations ('days_back: Number of days to look back', etc.), adding meaning beyond the bare schema. However, it doesn't detail constraints (e.g., valid ranges for 'days_back' or 'page_size') or the interaction between 'query' and recency, leaving some semantic gaps.

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 tool searches for recently modified documents, specifying the verb 'search' and resource 'recently modified documents'. However, it doesn't explicitly differentiate from sibling tools like 'search_documents' or 'find_documents_by_content', which appear to offer broader or different search capabilities.

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' line implies this tool should be used to find documents modified within a specific timeframe, but it doesn't explicitly state when to use this versus alternatives like 'search_documents' or 'find_documents_by_content'. The guidance is present but limited to implied context without clear exclusions or comparisons.

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

share_formB

Shares form with user's groups for collaborative use

Usage: Make custom forms available to team members Returns: Updated sharing status

ParametersJSON Schema
NameRequiredDescriptionDefault
form_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/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 mentions the action ('Shares') and outcome ('Updated sharing status'), but doesn't disclose critical traits like required permissions, whether sharing is reversible, rate limits, or error conditions. For a mutation tool with zero annotation coverage, this leaves significant gaps in understanding how the tool behaves beyond its basic function.

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 appropriately sized with three concise sentences that front-load the purpose. Each sentence adds value: the first states the action, the second provides usage context, and the third indicates the return. There's no wasted text, making it efficient and easy to parse, though it could be slightly more structured with bullet points or clearer separation.

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 complexity (a mutation operation with 1 parameter), no annotations, and an output schema present, the description is moderately complete. It covers the basic purpose and usage but lacks details on behavioral aspects like permissions or side effects. The output schema likely handles return values, so the description doesn't need to explain those, but it should do more to address the mutation's implications given the absence of annotations.

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

Parameters3/5

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

The input schema has 1 parameter with 0% description coverage, and the tool description doesn't mention any parameters explicitly. However, since there's only one parameter ('form_id'), the agent can infer it from context, and the description implies the tool operates on a form. With low schema coverage but minimal parameters, the description doesn't add specific parameter details but doesn't need to compensate heavily, aligning with the baseline for this scenario.

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 tool's purpose: 'Shares form with user's groups for collaborative use' specifies the action (shares), resource (form), and target (user's groups). It distinguishes from siblings like 'unshare_form' by indicating sharing rather than unsharing, and from 'publish_form' by focusing on group collaboration rather than general publication. However, it doesn't explicitly differentiate from all similar tools like 'unshare_form' in the same sentence.

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 provides implied usage context: 'Make custom forms available to team members' suggests when to use it—for team collaboration on forms. It doesn't explicitly state when not to use it or name alternatives like 'unshare_form' or 'publish_form', nor does it mention prerequisites such as form creation or permissions. The guidance is useful but lacks specificity about exclusions or comparisons.

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

split_subsampleB

Divides a subsample into multiple new subsamples

Usage: Create aliquots for distribution or different experiments Quantity: If specified, each new subsample gets this amount Returns: Information about newly created subsamples

ParametersJSON Schema
NameRequiredDescriptionDefault
subsample_idYes
num_new_subsamplesYes
quantity_per_subsampleNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.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 full burden. It mentions the tool 'divides' and 'creates' new subsamples, implying mutation, but doesn't disclose critical behavioral traits like whether the original subsample is consumed/destroyed, what permissions are needed, or any rate limits. The description adds minimal context beyond the basic operation.

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 appropriately sized with three concise sentences. It's front-loaded with the core purpose, followed by usage and parameter details. Every sentence adds value, though the structure could be slightly improved by grouping related information.

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 has an output schema (returns information about new subsamples), the description doesn't need to detail return values. However, with no annotations, 3 parameters, and 0% schema coverage, the description is incomplete for a mutation tool—it lacks behavioral disclosures like effects on the original subsample or error conditions.

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. It explains 'quantity_per_subsample' as 'If specified, each new subsample gets this amount', adding meaning beyond the schema. However, it doesn't clarify 'subsample_id' or 'num_new_subsamples' parameters, leaving two of three parameters with minimal semantic 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 clearly states the tool's purpose with the verb 'divides' and resource 'subsample', specifying it creates 'multiple new subsamples'. It distinguishes from siblings like 'duplicate_sample' by focusing on splitting rather than copying. However, it doesn't explicitly differentiate from all potential siblings in the list.

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

Usage Guidelines4/5

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

The description provides clear context for usage: 'Create aliquots for distribution or different experiments'. This gives practical scenarios when to use the tool. However, it doesn't specify when NOT to use it or mention alternatives like 'duplicate_sample' for different purposes.

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

statusA

System health check - determines if RSpace server is accessible and running

Usage: Call this first to verify connectivity before other operations Returns: Status message from RSpace server

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.7/5.0
Behavior4/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 effectively describes the tool's behavior: it performs a health check, returns a status message, and has no parameters. However, it doesn't mention potential failure modes, authentication requirements, or rate limits, which would be helpful for a connectivity verification 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 perfectly structured with three concise sentences: purpose statement, usage guideline, and return value explanation. Every sentence earns its place, and information is front-loaded with the core purpose stated first.

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

Completeness5/5

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

Given the tool's simplicity (0 parameters, no annotations, but has output schema), the description is complete. It explains what the tool does, when to use it, and what it returns. The output schema will handle return value details, so the description doesn't need to elaborate further.

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

Parameters4/5

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

The tool has 0 parameters with 100% schema description coverage, so the baseline is 4. The description reinforces this by not mentioning any parameters, which is appropriate and adds no unnecessary information.

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

Purpose5/5

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

The description clearly states the tool's purpose with specific verbs ('determines if RSpace server is accessible and running') and identifies the resource ('RSpace server'). It distinguishes itself from sibling tools by focusing on system health rather than data operations like document creation or sample management.

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

Usage Guidelines5/5

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

The description explicitly states when to use the tool ('Call this first to verify connectivity before other operations'), providing clear guidance on its role as a prerequisite for other operations. This directly addresses when-to-use context without needing to specify exclusions.

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

tagDocumentOrNotebookEntryB

Adds tags to documents for organization and searchability

Usage: Categorize documents by project, experiment type, etc. Tags: Use consistent naming for better organization Returns: Updated document with new tags

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes
tagsYesOne or more tags in a list

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. It mentions that the tool 'Adds tags' (implying a mutation) and 'Returns: Updated document with new tags,' but it lacks details on permissions, whether tags are appended or replaced, error handling, or rate limits. For a mutation tool with zero annotation coverage, this is a significant gap in behavioral disclosure.

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 appropriately sized and front-loaded: the first sentence states the purpose, followed by usage and return details in bullet-like sections. Every sentence adds value, though it could be more structured (e.g., separating usage from returns). There's no wasted text, making it 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?

Given the complexity (a mutation tool with 2 parameters), no annotations, and no output schema, the description is incomplete. It covers basic purpose and usage but lacks critical details: no behavioral traits (e.g., side effects, auth needs), incomplete parameter guidance, and no output format beyond a vague 'Updated document.' This leaves gaps for an AI agent to invoke the tool correctly.

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

Parameters3/5

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

Schema description coverage is 50% (only 'tags' has a description). The description adds minimal parameter semantics: it implies 'tags' are for 'organization and searchability' and suggests 'consistent naming,' but doesn't explain 'doc_id' or provide format details. With low schema coverage, the description partially compensates but doesn't fully bridge the gap for the undocumented 'doc_id' 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 clearly states the tool's purpose: 'Adds tags to documents for organization and searchability.' It specifies the verb ('adds'), resource ('tags to documents'), and benefit ('organization and searchability'). However, it doesn't explicitly differentiate from sibling tools like 'search_by_tags' or 'update_document', which might also involve tags or document updates.

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 provides implied usage guidelines: 'Categorize documents by project, experiment type, etc.' and 'Use consistent naming for better organization.' This suggests when to use the tool (for categorization) and best practices, but it doesn't explicitly state when not to use it or name alternatives like 'update_document' for broader modifications or 'search_by_tags' for querying.

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

unpublish_formA

Hides a form from document creation interface

Usage: Temporarily disable forms without deletion Returns: Updated form status

ParametersJSON Schema
NameRequiredDescriptionDefault
form_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/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 burden of behavioral disclosure. It indicates this is a mutation ('Hides', 'disable') and mentions the return value ('Updated form status'), but lacks details on permissions, reversibility, or side effects. It adds some context but is incomplete 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 front-loaded with the core purpose in the first sentence, followed by usage and return details in two additional concise sentences. Every sentence adds value without redundancy, making it efficiently structured and easy to parse.

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

Completeness4/5

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

Given the tool's moderate complexity (a mutation with one parameter), no annotations, and the presence of an output schema (which handles return values), the description is mostly complete. It covers purpose, usage, and return indication, but could improve by adding more behavioral details like permissions or error cases.

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

Parameters4/5

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

The input schema has 0% description coverage, but the description compensates by implying the parameter's purpose (identifying the form to hide). Since there is only one parameter, the baseline is high, and the description adds meaningful context beyond the schema's structural definition.

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 specific action ('Hides a form') and the target resource ('from document creation interface'), distinguishing it from sibling tools like 'delete_form' (permanent removal) and 'publish_form' (opposite action). It precisely communicates what the tool does without being tautological.

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

Usage Guidelines4/5

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

The description provides clear context for when to use this tool ('Temporarily disable forms without deletion'), which implicitly distinguishes it from 'delete_form' for permanent removal. However, it does not explicitly mention alternatives like 'publish_form' or state when not to use it, keeping it from a perfect score.

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

unshare_formB

Removes form sharing with groups

Usage: Make form private again Returns: Updated sharing status

ParametersJSON Schema
NameRequiredDescriptionDefault
form_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

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 carries full burden. It mentions the action ('removes form sharing') and outcome ('Returns: Updated sharing status'), but lacks critical behavioral details: whether this requires specific permissions, if it's reversible, what happens to existing group access, or any rate limits. For a mutation tool with zero annotation coverage, this leaves significant gaps in understanding the tool's behavior.

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 appropriately concise with three brief sentences that each serve a purpose: action statement, usage hint, and return information. It's front-loaded with the core functionality. While efficient, the 'Usage:' line could be integrated more smoothly rather than as a separate fragment.

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 this is a mutation tool with no annotations, 0% schema description coverage, but with an output schema present, the description provides basic action and return context. However, it lacks important details about permissions, side effects, and parameter semantics that would be needed for safe and effective use. The output schema reduces the need to describe return values, but other gaps remain significant.

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% (no parameter descriptions in schema), and the description provides no information about the single parameter 'form_id'. The description doesn't explain what format the form_id should be (string vs. integer as shown in schema), where to find it, or any validation rules. With low schema coverage, the description fails to compensate for the parameter documentation gap.

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 tool's purpose: 'Removes form sharing with groups' specifies the verb (removes) and resource (form sharing with groups). It distinguishes from siblings like 'share_form' by indicating opposite functionality. However, it doesn't explicitly differentiate from other form management tools like 'delete_form' or 'unpublish_form' beyond the sharing aspect.

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 provides implied usage context: 'Make form private again' suggests this tool should be used when a previously shared form needs to be made private. However, it doesn't explicitly state when NOT to use this tool (e.g., vs. 'unpublish_form' for different privacy aspects) or mention prerequisites like requiring existing shared status. The guidance is helpful but incomplete compared to explicit alternatives.

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

update_documentB

Updates existing RSpace document content and metadata

Usage: Modify document name, tags, or field content Fields format: [{"id": field_id, "content": "new HTML content"}] Returns: Updated document information

ParametersJSON Schema
NameRequiredDescriptionDefault
document_idYes
nameNo
tagsNo
form_idNo
fieldsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/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 burden for behavioral disclosure. It states this is an update operation (implying mutation) and mentions the return format, but lacks critical details like required permissions, whether changes are reversible, error handling, or rate limits. The 'Returns:' statement is helpful but 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 efficiently structured with clear sections: purpose statement, usage bullet, parameter format example, and return information. Each sentence adds value, though the 'Usage:' line could be more integrated. It's appropriately sized for a 5-parameter tool.

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 a mutation tool with 5 parameters, 0% schema coverage, no annotations, but with an output schema present, the description does moderately well. It covers core functionality and parameter semantics but lacks behavioral context (permissions, side effects) and doesn't fully address all parameters. The output schema reduces the need to explain returns, but more guidance is needed for safe usage.

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 0% schema description coverage, the description must compensate. It explains that 'document_id' is required (implied by 'Updates existing'), clarifies that 'name', 'tags', and 'fields' can be modified, and provides the exact JSON structure for 'fields' parameter. This adds substantial meaning beyond the bare schema, though it doesn't cover all 5 parameters (e.g., 'form_id' is unexplained).

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 ('Updates') and resource ('existing RSpace document content and metadata'), providing specific scope. However, it doesn't explicitly differentiate from sibling tools like 'renameDocumentOrNotebookEntry' or 'tagDocumentOrNotebookEntry', which might handle similar partial updates.

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 includes a 'Usage:' section that lists what can be modified (name, tags, field content), but provides no guidance on when to use this tool versus alternatives like 'renameDocumentOrNotebookEntry' for name changes or 'tagDocumentOrNotebookEntry' for tag updates. No prerequisites, exclusions, or sibling comparisons are mentioned.

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

uploadAndAttachFileA

Uploads a file to RSpace and attaches it to a document as a proper file attachment

Usage: One-step process to upload any file and attach it to an RSpace document File types: Supports all file types (images, PDFs, data files, protocols, etc.) Attachment: Creates proper RSpace file attachment, not just a link

Parameters:

  • document_id: RSpace document ID (numeric or global ID like "SD12345")

  • file_path: Path to the file to upload (e.g., "data/results.pdf")

  • caption: Optional caption that appears with the attachment

  • description: Optional description for the uploaded file

Returns: Upload confirmation and document update information

ParametersJSON Schema
NameRequiredDescriptionDefault
document_idYes
file_pathYes
captionNo
descriptionNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/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 burden. It discloses that this is a write operation (upload and attach), mentions it supports all file types, and creates proper attachments. However, it doesn't cover important behavioral aspects like authentication requirements, file size limits, error conditions, or whether the operation is idempotent.

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 well-structured with clear sections (purpose, usage, file types, attachment type, parameters, returns) and every sentence adds value. It could be slightly more concise by combining some bullet points, but overall it's efficiently organized and front-loaded with the core purpose.

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

Completeness4/5

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

Given this is a write operation with 4 parameters, 0% schema coverage, but with an output schema present, the description does a good job. It covers the purpose, usage context, parameters semantics, and return information. The main gap is lack of behavioral warnings or constraints that would be important for a file upload tool (size limits, supported formats beyond 'all file types', etc.).

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

Parameters5/5

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

With 0% schema description coverage, the description fully compensates by providing clear semantic explanations for all 4 parameters. It explains what 'document_id' represents (RSpace document ID with format examples), 'file_path' (path to upload), and clarifies that 'caption' and 'description' are optional with their specific purposes.

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 specific action ('uploads a file to RSpace and attaches it to a document') and distinguishes it from siblings by specifying it's a 'proper file attachment, not just a link'. It explicitly mentions the resource (RSpace document) and the one-step process nature.

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

Usage Guidelines4/5

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

The description provides clear context about when to use this tool ('one-step process to upload any file and attach it to an RSpace document') and mentions supported file types. However, it doesn't explicitly state when NOT to use it or name specific alternatives among the sibling tools (like 'update_document' or other attachment-related tools).

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

TDQS

B3.3/5.0
Disambiguation3/5

Most tools have distinct purposes, but some overlap exists, such as multiple search tools (search_documents, find_documents_by_content, search_by_tags, search_recent_documents) that could confuse agents about which to use. Similarly, container retrieval tools (get_container, get_container_contents_only, get_container_summary) have subtle differences that might lead to misselection.

Naming Consistency4/5

The majority of tools follow a consistent snake_case verb_noun pattern (e.g., create_sample, get_container, list_samples), but there are notable exceptions like createNewNotebook, createNotebookEntry, and renameDocumentOrNotebookEntry that use camelCase or mixed styles, breaking the overall consistency.

Tool Count2/5

With 50 tools, the set is excessively large for an MCP server, making it overwhelming and difficult for agents to navigate. While the domain (lab inventory and document management) is broad, many tools could be consolidated or omitted without losing functionality, indicating poor scoping.

Completeness5/5

The tool set comprehensively covers the domain of lab inventory and document management, including full CRUD operations for samples, containers, forms, and documents, along with advanced features like barcoding, auditing, and file handling. No obvious gaps exist; agents can perform all expected workflows without dead ends.

Maintenance

ActivityMaintained
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/rspace-os/rspace-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server