EffectConnect MCP by usefulapi

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

使うべきか

品質と安全性

A
説明の品質
100%
スキーマの完全性
87%
命名の品質
74%
ポイズニングのリスク
100%
権限の一致
100%
プロトコルへの準拠
100%

検出事項(4)

  • LOWTool 'effectconnect_list_product_selections' name length outside 3-30 rangeeffectconnect_list_product_selections 内
  • LOWTool 'effectconnect_get_product_selection' name length outside 3-30 rangeeffectconnect_get_product_selection 内
  • LOWTool 'effectconnect_list_product_selection_products' name length outside 3-30 rangeeffectconnect_list_product_selection_products 内
  • LOWTool 'effectconnect_get_process_report' name length outside 3-30 rangeeffectconnect_get_process_report 内

ツール定義とプロトコルへの準拠に関する自動分析に基づいています。

コンテキストコスト

~3,237トークン数(ツール定義)
~1.8 KB一般的なレスポンスサイズ
注意への影響は大きい(128k コンテキストの 2.53%)

これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。

インストール

ワンクリックインストール

これを `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"
}

コミュニティ

このサーバーを評価する

エビデンス

最近の観測

検証済みバージョンは記録されていませんツール 14 件