EffectConnect MCP by usefulapi
Read channels, product selections, products, orders and processes in EffectConnect.
使うべきか
品質と安全性
検出事項(4)
- LOWeffectconnect_list_product_selections 内
- LOWeffectconnect_get_product_selection 内
- LOWeffectconnect_list_product_selection_products 内
- LOWeffectconnect_get_process_report 内
ツール定義とプロトコルへの準拠に関する自動分析に基づいています。
コンテキストコスト
これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。
インストール
ワンクリックインストール
これを `claude_desktop_config.json` ファイルに追加してください:
{
"mcpServers": {
"effectconnect": {
"url": "https://effectconnect.usefulapi.io/mcp"
}
}
}リモートエンドポイント
https://effectconnect.usefulapi.io/mcpstreamable-httpできること
ツール一覧
ツール(14)
🟢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.
入力スキーマ
{
"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}.
入力スキーマ
{
"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.
入力スキーマ
{
"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}.
入力スキーマ
{
"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.
入力スキーマ
{
"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.
入力スキーマ
{
"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.
入力スキーマ
{
"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}.
入力スキーマ
{
"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.
入力スキーマ
{
"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.
入力スキーマ
{
"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}.
入力スキーマ
{
"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.
入力スキーマ
{
"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}.
入力スキーマ
{
"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.
入力スキーマ
{
"type": "object",
"properties": {
"identifier": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
},
"required": [
"identifier"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}コミュニティ
エビデンス