EffectConnect MCP by usefulapi

Read channels, product selections, products, orders and processes in EffectConnect.

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
100%
Integridad del esquema
87%
Calidad de los nombres
74%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Hallazgos (4)

  • LOWTool 'effectconnect_list_product_selections' name length outside 3-30 rangeen effectconnect_list_product_selections
  • LOWTool 'effectconnect_get_product_selection' name length outside 3-30 rangeen effectconnect_get_product_selection
  • LOWTool 'effectconnect_list_product_selection_products' name length outside 3-30 rangeen effectconnect_list_product_selection_products
  • LOWTool 'effectconnect_get_process_report' name length outside 3-30 rangeen effectconnect_get_process_report

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~3,237Tokens (definiciones de herramientas)
~1.8 KBTamaño de respuesta típico
Impacto significativo en la atención (2.53% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

{
  "mcpServers": {
    "effectconnect": {
      "url": "https://effectconnect.usefulapi.io/mcp"
    }
  }
}

Puntos de conexión remotos

https://effectconnect.usefulapi.io/mcpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (14)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢effectconnect_list_channels

List the channels (marketplaces and webshops) linked to the EffectConnect API key. Use the channel identifier in other tools. Needs scope channels:read. GET /v3/channels.

Esquema de entrada

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢effectconnect_get_channel(identifier)

Get one channel by its identifier. Needs scope channels:read. GET /v3/channel/{identifier}.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "identifier": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "The channel identifier, from effectconnect_list_channels."
    }
  },
  "required": [
    "identifier"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢effectconnect_list_product_selections(page_token)

List the product selections (named groups of products that a channel can sell) with pagination. Needs scope productSelections:read. GET /v3/product-selections.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "page_token": {
      "description": "nextPageToken from the previous reply. Omit for the first page.",
      "type": "string",
      "minLength": 1,
      "maxLength": 2048
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢effectconnect_get_product_selection(identifier)

Get one product selection by its numeric identifier. Needs scope productSelections:read. GET /v3/product-selection/{identifier}.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "identifier": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "The product selection identifier."
    }
  },
  "required": [
    "identifier"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢effectconnect_list_product_selection_products(identifier, page_token)

List the products in one product selection, with pagination. Needs scope productSelections:read. GET /v3/product-selection/{identifier}/products.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "identifier": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "The product selection identifier."
    },
    "page_token": {
      "description": "nextPageToken from the previous reply. Omit for the first page.",
      "type": "string",
      "minLength": 1,
      "maxLength": 2048
    }
  },
  "required": [
    "identifier"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢effectconnect_list_products(retrieve_attributes, included_attributes, languages, page_token)

List all products of the API key, page by page. Pass the nextPageToken from a reply to get the next page. Needs scope products:read. GET /v3/products.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "retrieve_attributes": {
      "description": "Include the product attributes (default false).",
      "type": "boolean"
    },
    "included_attributes": {
      "description": "Only these attribute codes, for example [\"color\", \"size\"]. Use with retrieve_attributes.",
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 100
      }
    },
    "languages": {
      "description": "Only these language codes, for example [\"en\", \"nl\"]. Omit for all languages.",
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 10
      }
    },
    "page_token": {
      "description": "nextPageToken from the previous reply. Omit for the first page.",
      "type": "string",
      "minLength": 1,
      "maxLength": 2048
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢effectconnect_search_products(product_selections, product_parent_api_identifiers, product_identifiers, retrieve_attributes, included_attributes, ...)

Find products by product selection, by parent API identifier, or by product identifiers (API identifier, SKU, EAN or external identifier). Needs scope products:read. POST /v3/products/search.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "product_selections": {
      "description": "Only products in these product selections.",
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991
      }
    },
    "product_parent_api_identifiers": {
      "description": "Only products under these parent API identifiers.",
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 255
      }
    },
    "product_identifiers": {
      "description": "Only these products, each with its identifier type and value.",
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "PRODUCT_API_IDENTIFIER",
              "SKU",
              "EAN",
              "EXTERNAL_IDENTIFIER"
            ]
          },
          "identifier": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          }
        },
        "required": [
          "type",
          "identifier"
        ]
      }
    },
    "retrieve_attributes": {
      "description": "Include the product attributes (default false).",
      "type": "boolean"
    },
    "included_attributes": {
      "description": "Only these attribute codes, for example [\"color\", \"size\"]. Use with retrieve_attributes.",
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 100
      }
    },
    "languages": {
      "description": "Only these language codes, for example [\"en\", \"nl\"]. Omit for all languages.",
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 10
      }
    },
    "page_token": {
      "description": "nextPageToken from the previous reply. Omit for the first page.",
      "type": "string",
      "minLength": 1,
      "maxLength": 2048
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢effectconnect_get_product(identifier_type, identifier, retrieve_attributes, included_attributes, languages)

Get one product by an identifier of the given type (API identifier, SKU, EAN or external identifier). Needs scope products:read. GET /v3/product/{identifierType}/{identifier}.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "identifier_type": {
      "type": "string",
      "enum": [
        "PRODUCT_API_IDENTIFIER",
        "SKU",
        "EAN",
        "EXTERNAL_IDENTIFIER"
      ]
    },
    "identifier": {
      "type": "string",
      "minLength": 1,
      "maxLength": 255,
      "description": "The product identifier value."
    },
    "retrieve_attributes": {
      "description": "Include the product attributes (default false).",
      "type": "boolean"
    },
    "included_attributes": {
      "description": "Only these attribute codes, for example [\"color\", \"size\"]. Use with retrieve_attributes.",
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 100
      }
    },
    "languages": {
      "description": "Only these language codes, for example [\"en\", \"nl\"]. Omit for all languages.",
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 10
      }
    }
  },
  "required": [
    "identifier_type",
    "identifier"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢effectconnect_search_orders(ordered_at_after, ordered_at_before, updated_at_after, order_statuses, order_tags, ...)

Find orders by order date, last update, status, tag or channel. Leave the filters empty to list all orders page by page. Needs scope orders:read. POST /v3/orders/search.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "ordered_at_after": {
      "description": "Only orders placed after this date-time.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,7})?)?(Z|[+-]\\d{2}:\\d{2})$"
    },
    "ordered_at_before": {
      "description": "Only orders placed before this date-time.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,7})?)?(Z|[+-]\\d{2}:\\d{2})$"
    },
    "updated_at_after": {
      "description": "Only orders updated after this date-time.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,7})?)?(Z|[+-]\\d{2}:\\d{2})$"
    },
    "order_statuses": {
      "description": "Only orders with one of these statuses.",
      "maxItems": 4,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "PAID",
          "PARTIALLY_SHIPPED",
          "SHIPPED",
          "CANCELLED"
        ]
      }
    },
    "order_tags": {
      "description": "Only orders with one of these tags.",
      "maxItems": 20,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 100
      }
    },
    "exclude_order_tags": {
      "description": "Leave out orders with one of these tags.",
      "maxItems": 20,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 100
      }
    },
    "channel_ids": {
      "description": "Only orders from these channel identifiers.",
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991
      }
    },
    "sort_field": {
      "description": "The date to sort by.",
      "type": "string",
      "enum": [
        "orderedAt",
        "createdAt",
        "updatedAt"
      ]
    },
    "sort_direction": {
      "type": "string",
      "enum": [
        "ASCENDING",
        "DESCENDING"
      ]
    },
    "currency": {
      "type": "string",
      "minLength": 3,
      "maxLength": 3,
      "pattern": "^[A-Z]{3}$",
      "description": "ISO 4217 currency code, for example EUR."
    },
    "page_token": {
      "description": "nextPageToken from the previous reply. Omit for the first page.",
      "type": "string",
      "minLength": 1,
      "maxLength": 2048
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢effectconnect_read_orders(identifiers, sort_field, sort_direction, currency)

Get up to 100 orders by their identifiers (EffectConnect ID or number, channel identifier or number, connection identifier or number, or invoice). Needs scope orders:read. POST /v3/orders/read.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "identifiers": {
      "minItems": 1,
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "EFFECTCONNECT_ID",
              "EFFECTCONNECT_NUMBER",
              "CHANNEL_IDENTIFIER",
              "CHANNEL_NUMBER",
              "CONNECTION_IDENTIFIER",
              "CONNECTION_NUMBER",
              "CONNECTION_INVOICE"
            ]
          },
          "value": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64
          },
          "channel_identifier": {
            "description": "The channel the order belongs to, if the identifier is not unique.",
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991
          }
        },
        "required": [
          "type",
          "value"
        ]
      }
    },
    "sort_field": {
      "type": "string",
      "enum": [
        "orderedAt",
        "createdAt",
        "updatedAt"
      ]
    },
    "sort_direction": {
      "type": "string",
      "enum": [
        "ASCENDING",
        "DESCENDING"
      ]
    },
    "currency": {
      "type": "string",
      "minLength": 3,
      "maxLength": 3,
      "pattern": "^[A-Z]{3}$",
      "description": "ISO 4217 currency code, for example EUR."
    }
  },
  "required": [
    "identifiers"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢effectconnect_get_order(identifier_type, identifier, channel_identifier, currency)

Get one order by an identifier of the given type. Pass channel_identifier when the identifier is not unique. Needs scope orders:read. GET /v3/order/{identifierType}/{identifier}.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "identifier_type": {
      "type": "string",
      "enum": [
        "EFFECTCONNECT_ID",
        "EFFECTCONNECT_NUMBER",
        "CHANNEL_IDENTIFIER",
        "CHANNEL_NUMBER",
        "CONNECTION_IDENTIFIER",
        "CONNECTION_NUMBER",
        "CONNECTION_INVOICE"
      ]
    },
    "identifier": {
      "type": "string",
      "minLength": 1,
      "maxLength": 64
    },
    "channel_identifier": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "The numeric channel identifier."
    },
    "currency": {
      "type": "string",
      "minLength": 3,
      "maxLength": 3,
      "pattern": "^[A-Z]{3}$",
      "description": "ISO 4217 currency code, for example EUR."
    }
  },
  "required": [
    "identifier_type",
    "identifier"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢effectconnect_list_processes(process_type, status, page_token)

List asynchronous processes (catalog and order reports) and their status. Filter by type or status. Processes are kept for 48 hours. GET /v3/processes.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "process_type": {
      "type": "string",
      "enum": [
        "PRODUCT_PARENT_REPORT",
        "PRODUCT_REPORT",
        "CATEGORY_REPORT",
        "ORDER_REPORT",
        "ATTRIBUTE_REPORT",
        "ENVIRONMENT_REPORT"
      ]
    },
    "status": {
      "type": "string",
      "enum": [
        "QUEUED",
        "PROCESSING",
        "FINISHED",
        "CRITICAL_ERROR"
      ]
    },
    "page_token": {
      "description": "nextPageToken from the previous reply. Omit for the first page.",
      "type": "string",
      "minLength": 1,
      "maxLength": 2048
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢effectconnect_get_process(identifier)

Get the status of one asynchronous process by its identifier (QUEUED, PROCESSING, FINISHED or CRITICAL_ERROR). Processes are kept for 48 hours. GET /v3/process/{identifier}.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "identifier": {
      "type": "string",
      "minLength": 1,
      "maxLength": 64,
      "description": "The process identifier returned by a write or a report request."
    }
  },
  "required": [
    "identifier"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢effectconnect_get_process_report(identifier)

Get the report of one finished asynchronous process. A report exists only when the status is FINISHED, and it is removed after 48 hours. GET /v3/process/{identifier}/report.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "identifier": {
      "type": "string",
      "minLength": 1,
      "maxLength": 64
    }
  },
  "required": [
    "identifier"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada14 herramientas