Skip to main content
Glama
ibm-ecm

Core Content Services MCP Server

Official
by ibm-ecm

determine_class

Find classes matching keywords by searching within a specified root class. Returns up to 3 matches with scores.

Instructions

Find classes that match the given keywords by looking for substring matches in class names and descriptions.

IMPORTANT: To get a list of all valid class names that can be used with this tool, you MUST first call the list_root_classes_tool tool.

:param root_class: The root class to search within (eg. "Document", "Folder") :param keywords: Up to 3 words from the user's message that might contain the class's name

:returns: A list of up to 3 matching classes with their scores, or a ToolError if no matches are found Each match is a ClassMatch object with class_name and score fields

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
root_classYes
keywordsYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
Behavior4/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 that the tool performs substring matching, returns up to 3 matches or a ToolError, and includes the return structure (class_name and score). This is transparent for a search tool, though it does not explicitly declare the operation as read-only.

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 informative with a clear structure: a main purpose statement, an IMPORTANT note, and parameter descriptions. It is not excessively long, but some redundancy exists (e.g., the return format is mentioned twice). Still, every sentence adds value.

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

Completeness4/5

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

For a tool with two required parameters and an output schema, the description covers the input semantics, prerequisite, and return behavior (list of up to 3 matches or ToolError). It does not detail the ClassMatch structure beyond field names, but the output schema likely handles that. Overall, it provides sufficient context for correct tool invocation.

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 adds significant value by explaining each parameter: 'root_class: The root class to search within (eg. "Document", "Folder")' and 'keywords: Up to 3 words from the user's message that might contain the class's name.' It also adds a constraint ('Up to 3 words') not present in the schema.

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

Purpose5/5

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

The description clearly states the tool's purpose: 'Find classes that match the given keywords by looking for substring matches in class names and descriptions.' This distinguishes it from sibling tools like list_root_classes (which lists all root classes) and get_class_property_descriptions (which gets properties of a specific class).

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

Usage Guidelines4/5

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

The description includes an explicit prerequisite: 'To get a list of all valid class names that can be used with this tool, you MUST first call the `list_root_classes_tool` tool.' It also explains the parameters root_class and keywords. However, it does not explicitly state when not to use this tool or provide alternatives beyond the prerequisite.

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

Install Server

Other Tools

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/ibm-ecm/cs-mcp-server'

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