Skip to main content
Glama
bit2beat

Bitrix24 MCP server

b24_products_create

Create a product in the catalog. Specify a required name and optionally set price, currency, description, active status, section, or preview picture.

Instructions

Crea un nuevo producto en el catálogo.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
fieldsYesCampos del producto. Requeridos: NAME. Opcionales: ACTIVE, PRICE, CURRENCY_ID, DESCRIPTION, SECTION_ID, PREVIEW_PICTURE
webhook_urlNo

Implementation Reference

  • The actual handler function that creates a product in Bitrix24 catalog. It calls 'catalog.product.add' via the Bitrix24 client with the provided fields and returns the created product ID.
    export async function productsCreate({ fields, webhook_url }) {
      const client = new Bitrix24Client(resolveWebhook(webhook_url));
      const res = await client.call('catalog.product.add', { fields });
      return { portal: client.portal, created_id: res.result, success: true };
    }
  • Zod schema for the 'b24_products_create' tool. Defines 'fields' (object of product fields, NAME required, optional: ACTIVE, PRICE, CURRENCY_ID, etc.) and optional 'webhook_url'.
    export const productsCreateSchema = z.object({
      fields: z.record(z.any()).describe(
        'Campos del producto. Requeridos: NAME. ' +
        'Opcionales: ACTIVE, PRICE, CURRENCY_ID, DESCRIPTION, SECTION_ID, PREVIEW_PICTURE'
      ),
      webhook_url: z.string().url().optional(),
    });
  • index.js:271-273 (registration)
    Registers the tool 'b24_products_create' on the MCP server with its description, schema, and handler (via the wrap function).
    server.tool('b24_products_create',
      'Crea un nuevo producto en el catálogo.',
      productsCreateSchema.shape, wrap(productsCreate));
  • index.js:65-72 (registration)
    Import statement that brings in productsCreateSchema and productsCreate from the catalog-products module.
    // ── Catálogo / Productos ──────────────────────────────────────────────────────
    import {
      productsListSchema, productsList,
      productsGetSchema, productsGet,
      productsCreateSchema, productsCreate,
      productsUpdateSchema, productsUpdate,
      productsSectionsSchema, productsSections,
    } from './src/tools/catalog-products.js';
Behavior2/5

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

No annotations provided; description only states creation without disclosing side effects, default values, error behavior, or authentication needs, which are critical for a creation 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?

Main description is a single clear sentence; inline schema description is appropriately structured. No redundant information, but could be slightly more detailed without losing conciseness.

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

Completeness2/5

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

Given no output schema and no annotations, the description fails to explain return values, error handling, or validation rules. The nested 'fields' parameter's additionalProperties is not explained, leaving ambiguity about allowed keys.

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?

Description within schema lists required (NAME) and optional fields, adding minimal clarity beyond schema properties. With 50% schema description coverage, the description partially compensates but lacks details on formats or constraints for fields like PRICE or CURRENCY_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 'Crea un nuevo producto en el catálogo' clearly specifies the verb (create) and resource (product in catalog), distinguishing it from sibling tools like b24_products_list, b24_products_get, b24_products_update.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives, no prerequisites, no context about required permissions or typical workflow scenarios.

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/bit2beat/bitrix24-mcp'

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