Skip to main content
Glama
benpeke

Turbify Store MCP Server

by benpeke

Turbify Store MCP Server

A Model Context Protocol (MCP) server for managing Turbify Store catalogs. This server provides tools to create, update, delete, and search catalog items through the Turbify Store Catalog API.

Features

  • Item Management: Create, update, and delete catalog items

  • Search: Search through your catalog using keywords

  • Configuration: View and manage store settings

  • Error Handling: Comprehensive error handling and reporting

  • Documentation: Built-in API documentation via MCP resources

Related MCP server: Product Management MCP Server

Installation

  1. Clone this repository:

git clone <your-repo-url>
cd turbify-mcp
  1. Initialize with uv (recommended):

uv init .
uv add fastmcp pydantic requests urllib3

Or install with pip:

pip install -e .

Configuration

Set the following environment variables:

export TURBIFY_STORE_ID="your_store_id"
export TURBIFY_CONTRACT_TOKEN="your_contract_token"

Or create a .env file:

TURBIFY_STORE_ID=your_store_id
TURBIFY_CONTRACT_TOKEN=your_contract_token

Usage

Running the Server

python src/turbify_mcp/server.py

Or if installed:

turbify-mcp

Using MCP Inspector

mcp-inspector "python run_server.py"

Available Tools

create_catalog_item

Create a new item in your catalog:

create_catalog_item(
    item_id="ITEM123",
    name="Sample Product",
    table_id="TABLE1",
    price=29.99,
    sale_price=24.99,
    orderable="yes",
    taxable="yes"
)

update_catalog_item

Update an existing item:

update_catalog_item(
    item_id="ITEM123",
    name="Updated Product Name",
    price=34.99
)

delete_catalog_item

Delete an item:

delete_catalog_item(item_id="ITEM123")

search_catalog_items

Search for items:

search_catalog_items(
    keyword="shirt",
    start_index=1,
    end_index=50
)

get_store_config

Get current configuration:

get_store_config()

MCP Integration

This server can be used with any MCP-compatible client, such as:

  • Claude Desktop

  • Custom MCP clients

  • Development tools that support MCP

Claude Desktop Configuration

Add to your Claude Desktop config:

{
  "mcpServers": {
    "turbify-store": {
      "command": "python",
      "args": ["path/to/turbify-store-mcp/src/turbify_store_mcp/server.py"],
      "env": {
        "TURBIFY_STORE_ID": "your_store_id",
        "TURBIFY_CONTRACT_TOKEN": "your_contract_token"
      }
    }
  }
}

API Response Format

All tools return JSON responses with the following structure:

Success Response

{
  "status": "success",
  "messages": [
    {
      "code": "SUCCESS",
      "message": "Operation completed successfully"
    }
  ],
  "items": [...],  // For search operations
  "item_ids": [...] // For some operations
}

Error Response

{
  "status": "error",
  "errors": [
    {
      "code": "ERROR_CODE",
      "message": "Error description"
    }
  ]
}

Development

Setting up for development:

# Install with development dependencies
uv add --dev pytest pytest-asyncio black mypy

# Run tests
uv run pytest

# Format code
uv run black .

# Type checking
uv run mypy src/

Project Structure

turbify-mcp/
├── src/
│   └── turbify_mcp/
│       ├── __init__.py
│       └── server.py
├── tests/
├── pyproject.toml
├── README.md
└── .env

Requirements

  • Python 3.8+

  • Turbify Store API credentials

  • FastMCP

  • Pydantic v2

  • Requests

Limitations

  • Maximum 1000 items per search query (Turbify API limit)

  • Rate limiting as per Turbify Store API terms

  • XML-based API (handled internally)

Contributing

  1. Fork the repository

  2. Create a feature branch

  3. Make your changes

  4. Add tests if applicable

  5. Submit a pull request

License

[Add your license information here]

Support

For issues related to:

  • This MCP server: Create an issue in this repository

  • Turbify Store API: Consult Turbify Store API documentation

  • MCP protocol: Check the Model Context Protocol specification

Available Tools

6 tools
advanced_search_catalog_itemsB
    Advanced search for items in the Turbify Store catalog with multiple criteria.
    
    Args:
        criteria_list: List of criteria dictionaries, each with 'attribute', 'operator', and 'value'
                      Example: [{"attribute": "price", "operator": "gt", "value": "10.00"}]
        match_type: How to match criteria - "all" (AND) or "any" (OR) (default: "all")
        table_id: Optional table ID to search within
        start_index: Starting index for pagination (default: 1)
        end_index: Ending index for pagination (default: 100, max: 1000)
    
    Returns:
        JSON string with search results
    
ParametersJSON Schema
NameRequiredDescriptionDefault
criteria_listYes
match_typeNoall
table_idNo
start_indexNo
end_indexNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

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 pagination defaults and a max value for end_index, which adds some context, but it doesn't cover critical aspects like rate limits, authentication needs, error handling, or what 'JSON string with search results' entails. For a search tool with 5 parameters and no annotations, this leaves significant gaps in understanding behavior.

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: it starts with a clear purpose statement, then lists parameters with brief explanations and examples, and ends with return info. Every sentence earns its place without redundancy, making it efficient and easy to scan.

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, 0% schema coverage, no annotations, but an output schema exists, the description is moderately complete. It covers parameter semantics well and notes the return format, but lacks behavioral context (e.g., performance, errors) and sibling differentiation. The 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?

Schema description coverage is 0%, so the description must compensate. It adds substantial meaning by explaining each parameter's purpose, providing an example for criteria_list, clarifying match_type options and defaults, and noting constraints like max for end_index. This goes well beyond the bare schema, though it could detail attribute/operator values or table_id usage more.

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 performs 'Advanced search for items in the Turbify Store catalog with multiple criteria,' which specifies the verb (search), resource (catalog items), and scope (advanced with multiple criteria). It distinguishes from simpler search_catalog_items by emphasizing 'advanced' and 'multiple criteria,' though it doesn't explicitly contrast with get_catalog_items or other siblings beyond this implication.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like search_catalog_items or get_catalog_items. It mentions 'advanced search' but doesn't clarify scenarios where this is preferred over simpler methods, nor does it address prerequisites or exclusions. Usage is implied through the term 'advanced,' but explicit context is lacking.

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

create_itemsB
    Create items in Turbify Merchant Solutions catalog using the Catalog API.
    HTML included in the request values must be contained within CDATA tags.

    Args:
        items: List of item dictionaries to create. Each item must have:
            - id (str): Unique item ID
            - name (str): Item name
            - price (float): Item price
            - orderable (bool): Whether item is orderable
            - taxable (bool): Whether item is taxable
            - table_id (str): Table ID where item belongs
            - custom_data (list, optional): List of {"name": str, "value": str} custom attributes

    Returns:
        JSON string with creation results including success status and any error messages
        
ParametersJSON Schema
NameRequiredDescriptionDefault
itemsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

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 that 'HTML included in the request values must be contained within CDATA tags', which is useful technical context. However, it doesn't address critical behavioral aspects like authentication requirements, rate limits, error handling, whether creation is idempotent, or what happens with duplicate IDs.

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 statement, technical requirement, parameter documentation, and return value. Each sentence adds value, though the parameter documentation could be more concise given the extensive schema.

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

Completeness3/5

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

For a creation tool with no annotations and a complex schema, the description provides basic purpose and parameter guidance but lacks important context. It doesn't explain the return format beyond 'JSON string with creation results', though the output schema exists. More behavioral context would be helpful given the tool's complexity.

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 provides detailed semantic information about the 'items' parameter, listing 6 required fields and 1 optional field with their types and meanings. This adds significant value beyond the bare schema, though it doesn't cover all 40+ fields in the CatalogItem 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 ('Create items'), target resource ('Turbify Merchant Solutions catalog'), and method ('using the Catalog API'). It distinguishes this from sibling tools like 'update_items' or 'delete_items' by specifying creation rather than modification or deletion.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like 'update_items' or 'get_catalog_items'. It mentions the Catalog API context but doesn't specify prerequisites, constraints, or typical use cases for creation versus other operations.

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

delete_itemsB
    Delete multiple items in a single operation.
    
    Args:
        item_ids: List of item IDs to delete
    
    Returns:
        JSON string with operation result
    
ParametersJSON Schema
NameRequiredDescriptionDefault
item_idsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

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 full burden. It states the tool deletes items but lacks critical behavioral details: whether deletions are permanent or reversible, if there are rate limits, what permissions are required, or how errors are handled. The mention of 'single operation' hints at batch behavior but is vague. This is inadequate for a destructive 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 structured Args and Returns sections. Every sentence adds value without redundancy, making it efficient and easy to parse.

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 (destructive batch operation), lack of annotations, and an output schema (which covers return values), the description is minimally complete. It explains what the tool does and the parameter, but misses critical context like safety warnings, error handling, or usage scenarios. The output schema reduces the burden, but gaps remain 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?

Schema description coverage is 0%, so the description must compensate. It adds meaning by explaining 'item_ids' as 'List of item IDs to delete', clarifying the parameter's purpose beyond the schema's type definition. However, it doesn't specify ID format, constraints, or examples. With 0% coverage and one parameter, this earns a 4 for adding basic semantics.

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: 'Delete multiple items in a single operation.' This specifies the verb ('Delete') and resource ('items'), and distinguishes it from siblings like 'create_items' or 'update_items'. However, it doesn't explicitly differentiate from potential deletion alternatives (none listed in siblings), 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 Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., permissions), exclusions, or comparisons to other tools like 'update_items' for modifying instead of deleting. The agent must infer usage from the name and context alone.

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

get_catalog_itemsB
    Get details for multiple catalog items.
    
    Args:
        item_ids: List of item IDs to retrieve
    
    Returns:
        JSON string with item details
    
ParametersJSON Schema
NameRequiredDescriptionDefault
item_idsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

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 the full burden of behavioral disclosure. It states the tool retrieves details but doesn't mention whether this is a read-only operation, if it requires authentication, potential rate limits, error conditions, or how it handles invalid IDs. This leaves significant gaps in understanding the tool's behavior and constraints.

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 extremely concise. It uses a clear header format with 'Args' and 'Returns' sections, contains no redundant information, and every sentence directly contributes to understanding the tool's functionality without any wasted words.

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 (which handles return value documentation) and only one parameter, the description covers the basics adequately. However, as a retrieval tool with sibling alternatives and no annotations, it should ideally provide more context about when to use it versus other search tools and any behavioral 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?

The schema description coverage is 0%, so the description must compensate. It clearly explains that 'item_ids' is a 'List of item IDs to retrieve', adding essential meaning beyond the bare schema. However, it doesn't provide examples of valid ID formats, constraints on list size, or whether IDs must exist, leaving some ambiguity.

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 ('Get details') and resource ('multiple catalog items'), making it immediately understandable. However, it doesn't explicitly distinguish this tool from its sibling 'search_catalog_items' or 'advanced_search_catalog_items', which likely have overlapping functionality for retrieving catalog items.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like 'search_catalog_items' or 'advanced_search_catalog_items'. It mentions retrieving items by IDs but doesn't specify prerequisites, limitations, or typical use cases, leaving the agent with insufficient context for optimal tool selection.

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

search_catalog_itemsA
    Search for items in the Turbify Store catalog.
    Note: This simple search only matches the keyword against item ID, name, or code fields.
    For more advanced search capabilities against other fields, use advanced_search_catalog_items.
    
    Args:
        keyword: Search keyword (matches against ID, name, or code fields only)
        start_index: Starting index for pagination (default: 1)
        end_index: Ending index for pagination (default: 100, max: 1000)
    
    Returns:
        JSON string with search results
    
ParametersJSON Schema
NameRequiredDescriptionDefault
keywordYes
start_indexNo
end_indexNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

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 the search behavior (keyword matching against specific fields), pagination behavior with defaults and limits, and return format ('JSON string with search results'). It doesn't mention rate limits, authentication requirements, or error conditions, 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 a clear purpose statement, usage guidance, parameter documentation, and return information - all in just 7 lines. Every sentence adds value, and the information is front-loaded with the most important details 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 the tool's moderate complexity (search with pagination), no annotations, and the presence of an output schema, the description provides strong contextual coverage. It explains the search scope, parameter semantics, pagination behavior, and return format. The main gap is lack of information about authentication, rate limits, or error handling, but the output schema reduces the need to describe return values in detail.

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 fully compensates by explaining all three parameters: 'keyword' (what it matches against), 'start_index' (pagination starting point with default), and 'end_index' (pagination ending point with default and max). The description adds meaningful context beyond what the bare schema provides about parameter purposes and constraints.

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

Purpose5/5

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

The description clearly states the specific action ('Search for items') and resource ('Turbify Store catalog'), and explicitly distinguishes this tool from its sibling 'advanced_search_catalog_items' by noting this is a 'simple search' with limited field matching. This provides excellent differentiation from alternatives.

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 ('simple search only matches keyword against item ID, name, or code fields') and when to use an alternative ('For more advanced search capabilities against other fields, use advanced_search_catalog_items'). This gives clear context for tool selection among siblings.

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

update_itemsC
    Update items in Turbify Merchant Solutions catalog using the Catalog API. TableId and Id cannot be updated.
    HTML included in the request values must be contained within CDATA tags.

    Args:
        items: List of item dictionaries to update. Each item must have:
            - id (str): Unique item ID, this cannot be updated

    Returns:
        JSON string with creation results including success status and any error messages
        
ParametersJSON Schema
NameRequiredDescriptionDefault
itemsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions that 'TableId and Id cannot be updated' and 'HTML included in the request values must be contained within CDATA tags,' which are useful behavioral constraints. However, it lacks details on permissions, error handling, rate limits, or the impact of updates (e.g., whether changes are reversible). 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 clear sections: a purpose statement, key constraints, and parameter/return explanations. It's appropriately sized and front-loaded with essential information. However, it could be more concise by integrating the constraints into the main flow rather than as separate bullet points, and some sentences are slightly 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 the complexity (a mutation tool with 1 parameter but a rich nested schema) and the presence of an output schema (which covers return values), the description is moderately complete. It explains the purpose, key constraints, and parameter basics, but lacks behavioral details like permissions or error handling. With no annotations and incomplete parameter coverage, it should do more to be fully helpful.

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

Parameters3/5

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

The description includes an 'Args' section that explains the 'items' parameter as a 'List of item dictionaries to update' with a required 'id' field. However, the input schema has 0% description coverage, meaning all parameter details are undocumented in the schema. The description adds some value by clarifying the structure and the immutable 'id', but it doesn't cover the many other fields in the CatalogItem schema (e.g., name, price, table_id, etc.). Given the low schema coverage, the description 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's purpose: 'Update items in Turbify Merchant Solutions catalog using the Catalog API.' It specifies the verb ('update'), resource ('items'), and system context ('Turbify Merchant Solutions catalog using the Catalog API'). However, it doesn't explicitly differentiate from sibling tools like 'create_items' or 'delete_items' beyond the update action, 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 Guidelines2/5

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

The description provides minimal usage guidance. It mentions that 'TableId and Id cannot be updated,' which is a constraint, but it doesn't explain when to use this tool versus alternatives like 'create_items' or 'delete_items,' nor does it discuss prerequisites or typical scenarios. Without explicit when-to-use or when-not-to-use guidance, the score is limited.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 6 tool updatesv1.0.0
    • Changedadvanced_search_catalog_items1 field changed
      • addedInput schema / title
        Added value: +"advanced_search_catalog_itemsArguments"
    • Changedcreate_items2 fields changed
      • addedInput schema / $defs
        Added value: +{
        +  "CatalogItem": {
        +    "properties": {
        +      "abstract": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "Text used for description on other pages",
        +        "title": "Abstract"
        +      },
        +      "age_group": {
        +        "anyOf": [
        +          {
        +            "pattern": "^(infant|toddler|child|pre-teen|teen|adult)$",
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "Age group",
        +        "title": "Age Group"
        +      },
        +      "age_range": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "Age range (for toys)",
        +        "title": "Age Range"
        +      },
        +      "availability": {
        +        "anyOf": [
        +          {
        +            "pattern": "^(SAME_DAY|NEXT_DAY|2_3_DAY|3_4_DAY|5_7_DAY|1_2_WEEKS|2_3_WEEKS|4_6_WEEKS|6_8_WEEKS|CONTACT_US|IN_STOCK|AVAILABLE|OUT_OF_STOCK|PRE_ORDER)$",
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "Availability status",
        +        "title": "Availability"
        +      },
        +      "brand": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "Item brand",
        +        "title": "Brand"
        +      },
        +      "caption": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "Item description/caption",
        +        "title": "Caption"
        +      },
        +      "classification": {
        +        "anyOf": [
        +          {
        +            "pattern": "^(new|overstock|damaged|returned|refurbished|open box|liquidation|used)$",
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "Item classification",
        +        "title": "Classification"
        +      },
        +      "color": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "Color of the item",
        +        "title": "Color"
        +      },
        +      "condition": {
        +        "anyOf": [
        +          {
        +            "pattern": "^(New|Like new|Very good|Good|Acceptable|Refurbished|Used)$",
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "Item condition",
        +        "title": "Condition"
        +      },
        +      "custom_data": {
        +        "default": [],
        +        "description": "List of custom attributes",
        +        "items": {
        +          "$ref": "#/$defs/CustomData"
        +        },
        +        "title": "Custom Data",
        +        "type": "array"
        +      },
        +      "ean": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "European Article Number (13-digit)",
        +        "title": "Ean"
        +      },
        +      "gender": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "Gender (men/women/unisex) - for apparel",
        +        "title": "Gender"
        +      },
        +      "gift_cert": {
        +        "anyOf": [
        +          {
        +            "type": "boolean"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "Whether item is a gift certificate",
        +        "title": "Gift Cert"
        +      },
        +      "headline": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "Item headline (used instead of name on item page)",
        +        "title": "Headline"
        +      },
        +      "id": {
        +        "description": "Unique item ID",
        +        "title": "Id",
        +        "type": "string"
        +      },
        +      "inyshopping": {
        +        "anyOf": [
        +          {
        +            "type": "boolean"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "Include in Yahoo Shopping",
        +        "title": "Inyshopping"
        +      },
        +      "isbn": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "International Standard Book Number",
        +        "title": "Isbn"
        +      },
        +      "label": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "Text used when item appears as special on home page",
        +        "title": "Label"
        +      },
        +      "manufacturer": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "Item manufacturer",
        +        "title": "Manufacturer"
        +      },
        +      "manufacturer_part_number": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "Manufacturer's part number",
        +        "title": "Manufacturer Part Number"
        +      },
        +      "medium": {
        +        "anyOf": [
        +          {
        +            "pattern": "^(CD|Casette|MiniDisc|LPd|EP|45|VHS|Beta|8mm|Laser Disc|DVD|VCD)$",
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "Media type for music/video",
        +        "title": "Medium"
        +      },
        +      "merchant_category": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "Merchant category for Yahoo Shopping",
        +        "title": "Merchant Category"
        +      },
        +      "model_number": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "Model number",
        +        "title": "Model Number"
        +      },
        +      "msrp": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "Manufacturer's suggested retail price",
        +        "title": "Msrp"
        +      },
        +      "name": {
        +        "description": "Item name",
        +        "title": "Name",
        +        "type": "string"
        +      },
        +      "need_bill": {
        +        "anyOf": [
        +          {
        +            "type": "boolean"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "Whether billing address is required",
        +        "title": "Need Bill"
        +      },
        +      "need_pay_ship": {
        +        "anyOf": [
        +          {
        +            "type": "boolean"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "Whether shipping address is required",
        +        "title": "Need Pay Ship"
        +      },
        +      "need_payment": {
        +        "anyOf": [
        +          {
        +            "type": "boolean"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "Whether payment information is required",
        +        "title": "Need Payment"
        +      },
        +      "options": {
        +        "default": [],
        +        "description": "List of item options (size, color, etc.)",
        +        "items": {
        +          "$ref": "#/$defs/ItemOption"
        +        },
        +        "title": "Options",
        +        "type": "array"
        +      },
        +      "orderable": {
        +        "default": "yes",
        +        "description": "Whether item is orderable",
        +        "title": "Orderable",
        +        "type": "boolean"
        +      },
        +      "personalization_charge": {
        +        "anyOf": [
        +          {
        +            "type": "number"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "Charge for monogram/inscription",
        +        "title": "Personalization Charge"
        +      },
        +      "price": {
        +        "description": "Item price",
        +        "exclusiveMinimum": 0,
        +        "title": "Price",
        +        "type": "number"
        +      },
        +      "product_url": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "Product URL",
        +        "title": "Product Url"
        +      },
        +      "promo_text": {
        +        "anyOf": [
        +          {
        +            "maxLength": 50,
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "Promotional text (up to 50 chars)",
        +        "title": "Promo Text"
        +      },
        +      "sale_price": {
        +        "anyOf": [
        +          {
        +            "type": "number"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "Sale price of the item",
        +        "title": "Sale Price"
        +      },
        +      "ship_weight": {
        +        "anyOf": [
        +          {
        +            "type": "number"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "Shipping weight of the item",
        +        "title": "Ship Weight"
        +      },
        +      "size": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "Size of the item",
        +        "title": "Size"
        +      },
        +      "style": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "Style description (e.g., 'chino', 'denim')",
        +        "title": "Style"
        +      },
        +      "style_number": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "Style number (for apparel/home & garden)",
        +        "title": "Style Number"
        +      },
        +      "table_id": {
        +        "description": "Table ID where item belongs",
        +        "title": "Table Id",
        +        "type": "string"
        +      },
        +      "taxable": {
        +        "default": "no",
        +        "description": "Whether item is taxable",
        +        "title": "Taxable",
        +        "type": "boolean"
        +      },
        +      "upc": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "Universal Product Code (12-digit)",
        +        "title": "Upc"
        +      },
        +      "yahoo_shopping_category": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "Yahoo Shopping category",
        +        "title": "Yahoo Shopping Category"
        +      }
        +    },
        +    "required": [
        +      "id",
        +      "name",
        +      "price",
        +      "table_id"
        +    ],
        +    "title": "CatalogItem",
        +    "type": "object"
        +  },
        +  "CustomData": {
        +    "properties": {
        +      "name": {
        +        "description": "Name of the custom attribute",
        +        "title": "Name",
        +        "type": "string"
        +      },
        +      "value": {
        +        "description": "Value of the custom attribute",
        +        "title": "Value",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "name",
        +      "value"
        +    ],
        +    "title": "CustomData",
        +    "type": "object"
        +  },
        +  "ItemOption": {
        +    "properties": {
        +      "name": {
        +        "description": "Name of the option (e.g., 'Size', 'Color')",
        +        "title": "Name",
        +        "type": "string"
        +      },
        +      "value_list": {
        +        "description": "List of possible values for this option",
        +        "items": {
        +          "type": "string"
        +        },
        +        "title": "Value List",
        +        "type": "array"
        +      }
        +    },
        +    "required": [
        +      "name",
        +      "value_list"
        +    ],
        +    "title": "ItemOption",
        +    "type": "object"
        +  }
        +}
      • addedInput schema / title
        Added value: +"create_itemsArguments"
    • Changeddelete_items1 field changed
      • addedInput schema / title
        Added value: +"delete_itemsArguments"
    • Changedget_catalog_items1 field changed
      • addedInput schema / title
        Added value: +"get_catalog_itemsArguments"
    • Changedsearch_catalog_items1 field changed
      • addedInput schema / title
        Added value: +"search_catalog_itemsArguments"
    • Changedupdate_items2 fields changed
      • addedInput schema / $defs
        Added value: +{
        +  "CatalogItem": {
        +    "properties": {
        +      "abstract": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "Text used for description on other pages",
        +        "title": "Abstract"
        +      },
        +      "age_group": {
        +        "anyOf": [
        +          {
        +            "pattern": "^(infant|toddler|child|pre-teen|teen|adult)$",
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "Age group",
        +        "title": "Age Group"
        +      },
        +      "age_range": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "Age range (for toys)",
        +        "title": "Age Range"
        +      },
        +      "availability": {
        +        "anyOf": [
        +          {
        +            "pattern": "^(SAME_DAY|NEXT_DAY|2_3_DAY|3_4_DAY|5_7_DAY|1_2_WEEKS|2_3_WEEKS|4_6_WEEKS|6_8_WEEKS|CONTACT_US|IN_STOCK|AVAILABLE|OUT_OF_STOCK|PRE_ORDER)$",
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "Availability status",
        +        "title": "Availability"
        +      },
        +      "brand": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "Item brand",
        +        "title": "Brand"
        +      },
        +      "caption": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "Item description/caption",
        +        "title": "Caption"
        +      },
        +      "classification": {
        +        "anyOf": [
        +          {
        +            "pattern": "^(new|overstock|damaged|returned|refurbished|open box|liquidation|used)$",
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "Item classification",
        +        "title": "Classification"
        +      },
        +      "color": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "Color of the item",
        +        "title": "Color"
        +      },
        +      "condition": {
        +        "anyOf": [
        +          {
        +            "pattern": "^(New|Like new|Very good|Good|Acceptable|Refurbished|Used)$",
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "Item condition",
        +        "title": "Condition"
        +      },
        +      "custom_data": {
        +        "default": [],
        +        "description": "List of custom attributes",
        +        "items": {
        +          "$ref": "#/$defs/CustomData"
        +        },
        +        "title": "Custom Data",
        +        "type": "array"
        +      },
        +      "ean": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "European Article Number (13-digit)",
        +        "title": "Ean"
        +      },
        +      "gender": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "Gender (men/women/unisex) - for apparel",
        +        "title": "Gender"
        +      },
        +      "gift_cert": {
        +        "anyOf": [
        +          {
        +            "type": "boolean"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "Whether item is a gift certificate",
        +        "title": "Gift Cert"
        +      },
        +      "headline": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "Item headline (used instead of name on item page)",
        +        "title": "Headline"
        +      },
        +      "id": {
        +        "description": "Unique item ID",
        +        "title": "Id",
        +        "type": "string"
        +      },
        +      "inyshopping": {
        +        "anyOf": [
        +          {
        +            "type": "boolean"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "Include in Yahoo Shopping",
        +        "title": "Inyshopping"
        +      },
        +      "isbn": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "International Standard Book Number",
        +        "title": "Isbn"
        +      },
        +      "label": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "Text used when item appears as special on home page",
        +        "title": "Label"
        +      },
        +      "manufacturer": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "Item manufacturer",
        +        "title": "Manufacturer"
        +      },
        +      "manufacturer_part_number": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "Manufacturer's part number",
        +        "title": "Manufacturer Part Number"
        +      },
        +      "medium": {
        +        "anyOf": [
        +          {
        +            "pattern": "^(CD|Casette|MiniDisc|LPd|EP|45|VHS|Beta|8mm|Laser Disc|DVD|VCD)$",
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "Media type for music/video",
        +        "title": "Medium"
        +      },
        +      "merchant_category": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "Merchant category for Yahoo Shopping",
        +        "title": "Merchant Category"
        +      },
        +      "model_number": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "Model number",
        +        "title": "Model Number"
        +      },
        +      "msrp": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "Manufacturer's suggested retail price",
        +        "title": "Msrp"
        +      },
        +      "name": {
        +        "description": "Item name",
        +        "title": "Name",
        +        "type": "string"
        +      },
        +      "need_bill": {
        +        "anyOf": [
        +          {
        +            "type": "boolean"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "Whether billing address is required",
        +        "title": "Need Bill"
        +      },
        +      "need_pay_ship": {
        +        "anyOf": [
        +          {
        +            "type": "boolean"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "Whether shipping address is required",
        +        "title": "Need Pay Ship"
        +      },
        +      "need_payment": {
        +        "anyOf": [
        +          {
        +            "type": "boolean"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "Whether payment information is required",
        +        "title": "Need Payment"
        +      },
        +      "options": {
        +        "default": [],
        +        "description": "List of item options (size, color, etc.)",
        +        "items": {
        +          "$ref": "#/$defs/ItemOption"
        +        },
        +        "title": "Options",
        +        "type": "array"
        +      },
        +      "orderable": {
        +        "default": "yes",
        +        "description": "Whether item is orderable",
        +        "title": "Orderable",
        +        "type": "boolean"
        +      },
        +      "personalization_charge": {
        +        "anyOf": [
        +          {
        +            "type": "number"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "Charge for monogram/inscription",
        +        "title": "Personalization Charge"
        +      },
        +      "price": {
        +        "description": "Item price",
        +        "exclusiveMinimum": 0,
        +        "title": "Price",
        +        "type": "number"
        +      },
        +      "product_url": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "Product URL",
        +        "title": "Product Url"
        +      },
        +      "promo_text": {
        +        "anyOf": [
        +          {
        +            "maxLength": 50,
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "Promotional text (up to 50 chars)",
        +        "title": "Promo Text"
        +      },
        +      "sale_price": {
        +        "anyOf": [
        +          {
        +            "type": "number"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "Sale price of the item",
        +        "title": "Sale Price"
        +      },
        +      "ship_weight": {
        +        "anyOf": [
        +          {
        +            "type": "number"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "Shipping weight of the item",
        +        "title": "Ship Weight"
        +      },
        +      "size": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "Size of the item",
        +        "title": "Size"
        +      },
        +      "style": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "Style description (e.g., 'chino', 'denim')",
        +        "title": "Style"
        +      },
        +      "style_number": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "Style number (for apparel/home & garden)",
        +        "title": "Style Number"
        +      },
        +      "table_id": {
        +        "description": "Table ID where item belongs",
        +        "title": "Table Id",
        +        "type": "string"
        +      },
        +      "taxable": {
        +        "default": "no",
        +        "description": "Whether item is taxable",
        +        "title": "Taxable",
        +        "type": "boolean"
        +      },
        +      "upc": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "Universal Product Code (12-digit)",
        +        "title": "Upc"
        +      },
        +      "yahoo_shopping_category": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "default": null,
        +        "description": "Yahoo Shopping category",
        +        "title": "Yahoo Shopping Category"
        +      }
        +    },
        +    "required": [
        +      "id",
        +      "name",
        +      "price",
        +      "table_id"
        +    ],
        +    "title": "CatalogItem",
        +    "type": "object"
        +  },
        +  "CustomData": {
        +    "properties": {
        +      "name": {
        +        "description": "Name of the custom attribute",
        +        "title": "Name",
        +        "type": "string"
        +      },
        +      "value": {
        +        "description": "Value of the custom attribute",
        +        "title": "Value",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "name",
        +      "value"
        +    ],
        +    "title": "CustomData",
        +    "type": "object"
        +  },
        +  "ItemOption": {
        +    "properties": {
        +      "name": {
        +        "description": "Name of the option (e.g., 'Size', 'Color')",
        +        "title": "Name",
        +        "type": "string"
        +      },
        +      "value_list": {
        +        "description": "List of possible values for this option",
        +        "items": {
        +          "type": "string"
        +        },
        +        "title": "Value List",
        +        "type": "array"
        +      }
        +    },
        +    "required": [
        +      "name",
        +      "value_list"
        +    ],
        +    "title": "ItemOption",
        +    "type": "object"
        +  }
        +}
      • addedInput schema / title
        Added value: +"update_itemsArguments"
  2. 6 tool updates
    • First observedadvanced_search_catalog_items
    • First observedcreate_items
    • First observeddelete_items
    • First observedget_catalog_items
    • First observedsearch_catalog_items
    • First observedupdate_items

TDQS

A3.7/5.0

Scored across 6 tools

Disambiguation5/5

Each tool has a clearly distinct purpose with no ambiguity: advanced_search_catalog_items and search_catalog_items are explicitly differentiated in their descriptions, while create_items, get_catalog_items, update_items, and delete_items form a clean CRUD pattern. The descriptions clearly explain when to use each tool, preventing misselection.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern with snake_case throughout: advanced_search_catalog_items, create_items, delete_items, get_catalog_items, search_catalog_items, and update_items. The naming is predictable and follows the same structural convention across all six tools.

Tool Count5/5

Six tools is well-scoped for a catalog/items management server. The set covers core CRUD operations plus both simple and advanced search capabilities, with each tool earning its place. This is neither too sparse nor bloated for the domain of managing a store catalog.

Completeness5/5

The tool surface provides complete CRUD lifecycle coverage for catalog items (create, get, update, delete) plus comprehensive search functionality with both simple and advanced options. There are no obvious gaps or dead ends for agents working with this catalog management domain.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Allows AI agents to interact with a remote TMF620 Product Catalog Management API, enabling operations like listing, retrieving, and creating catalogs, product offerings, and product specifications.
    3
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Provides tools to search the Mouser Electronics parts catalog via keyword, part number, and manufacturer queries using the Mouser Search API.
    1
    MIT