FinerWorks MCP by usefulapi

Read FinerWorks orders, inventory, catalog, prices and shipping quotes; never submits an order.

我该使用它吗

质量与安全性

A
描述质量
92%
模式完整度
87%
命名质量
75%
投毒风险
100%
权限匹配度
100%
协议合规性
100%

发现(5)

  • LOWTool 'finerworks_list_order_status_definitions' name length outside 3-30 range在 finerworks_list_order_status_definitions 中
  • LOWTool 'finerworks_list_virtual_inventory' name length outside 3-30 range在 finerworks_list_virtual_inventory 中
  • LOWTool 'finerworks_list_static_products' name length outside 3-30 range在 finerworks_list_static_products 中
  • LOWTool 'finerworks_list_frame_collections' name length outside 3-30 range在 finerworks_list_frame_collections 中
  • LOWTool 'finerworks_get_shipping_options' name length outside 3-30 range在 finerworks_get_shipping_options 中

基于对工具定义和协议合规性的自动分析。

上下文开销

~3,988token 数(工具定义)
~1.5 KB典型响应大小
对注意力有显著影响(占 128k 上下文窗口的 3.12%)

这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。

安装

一键安装

将以下内容添加到你的 `claude_desktop_config.json` 文件中:

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

远程端点

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

它能做什么

工具清单

工具(19)

🟢 只读🟡 写入🔴 删除⚪ 未知
🟢finerworks_get_account

The FinerWorks account these API keys belong to: username, email, billing and business addresses, account credits, shipping preferences and app details. The API keys, payment profile and third-party connection secrets are never returned. GET /v3/test_my_credentials.

输入模式

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢finerworks_list_orders(search, status, order_ids, order_pos, date_from, ...)

List submitted print orders, newest first, with status, totals and dates. Filter by free text, production status, FinerWorks order ids, your own order POs (the order numbers from Shopify, Squarespace, etc.) or an order-date range. POST /v3/list_orders.

输入模式

{
  "type": "object",
  "properties": {
    "search": {
      "description": "Text to search for in the order title or description.",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "status": {
      "description": "Order status to filter by (see finerworks_list_order_status_definitions).",
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "order_ids": {
      "description": "Optional list of FinerWorks order ids to filter by.",
      "minItems": 1,
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991
      }
    },
    "order_pos": {
      "description": "Your own order PO numbers.",
      "minItems": 1,
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 100
      }
    },
    "date_from": {
      "description": "Orders placed on or after this date, yyyy-mm-dd.",
      "type": "string",
      "pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$"
    },
    "date_to": {
      "description": "Orders placed on or before this date, yyyy-mm-dd.",
      "type": "string",
      "pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$"
    },
    "show_cancelled": {
      "description": "Include cancelled orders (default true).",
      "type": "boolean"
    },
    "page": {
      "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100000
    },
    "per_page": {
      "description": "Results per page, 1-25 (default 10).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 25
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢finerworks_get_order(order_guid, order_email)

One order in full: items, recipient, shipping method, status and totals. Needs the order GUID and the email address on the order. GET /v3/get_order.

输入模式

{
  "type": "object",
  "properties": {
    "order_guid": {
      "type": "string",
      "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
      "description": "The order's GUID (order_guid in finerworks_list_orders)."
    },
    "order_email": {
      "type": "string",
      "minLength": 3,
      "maxLength": 254,
      "description": "The email address on the order (billing or recipient email)."
    }
  },
  "required": [
    "order_guid",
    "order_email"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢finerworks_get_order_status(order_pos, order_ids)

The current production status of orders (in production, shipped, ...), looked up by your order PO numbers or FinerWorks order ids. An order that is not found returns nothing. POST /v3/fetch_order_status.

输入模式

{
  "type": "object",
  "properties": {
    "order_pos": {
      "description": "Your own order PO numbers.",
      "minItems": 1,
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 100
      }
    },
    "order_ids": {
      "description": "FinerWorks order ids. Not needed when order_pos is given.",
      "minItems": 1,
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991
      }
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢finerworks_list_order_status_definitions

All production statuses an order can have, with their ids. Use the id as the stable reference. GET /v3/list_order_status_definitions.

输入模式

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

Orders saved but held in a pending status, not yet submitted for production (nothing is billed until submitted). POST /v3/list_pending_orders.

输入模式

{
  "type": "object",
  "properties": {
    "ids": {
      "description": "Optional list of pending order ids to filter by.",
      "minItems": 1,
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991
      }
    },
    "skus": {
      "description": "Only pending orders containing these SKUs.",
      "minItems": 1,
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 100
      }
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢finerworks_list_virtual_inventory(search, skus, product_codes, product_type_ids, sort_field, ...)

The reusable print products (SKUs) saved in the account's virtual inventory: title, SKU, product code, image and price details. Filter by text, SKU, product code or product type. POST /v3/list_virtual_inventory.

输入模式

{
  "type": "object",
  "properties": {
    "search": {
      "description": "Text to search for in the title or description.",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "skus": {
      "description": "Only these SKUs (up to 50).",
      "minItems": 1,
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 100
      }
    },
    "product_codes": {
      "description": "Only these product codes (up to 50).",
      "minItems": 1,
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 100
      }
    },
    "product_type_ids": {
      "description": "Optional list of product type ids to filter by.",
      "minItems": 1,
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991
      }
    },
    "sort_field": {
      "description": "Sort field (default id).",
      "type": "string",
      "enum": [
        "id",
        "title",
        "file_name",
        "file_size",
        "updated",
        "date_added"
      ]
    },
    "sort_direction": {
      "description": "Sort direction (default DESC).",
      "type": "string",
      "enum": [
        "ASC",
        "DESC"
      ]
    },
    "page": {
      "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100000
    },
    "per_page": {
      "description": "Results per page, 1-50 (default 10).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 50
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢finerworks_get_product_details(products)

Details and pricing for up to 25 virtual inventory SKUs at given quantities. POST /v3/get_product_details.

输入模式

{
  "type": "object",
  "properties": {
    "products": {
      "minItems": 1,
      "maxItems": 25,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "sku": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100,
            "description": "A virtual inventory SKU or a product code."
          },
          "quantity": {
            "description": "Quantity, 1-999 (default 1).",
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 999
          }
        },
        "required": [
          "sku"
        ]
      },
      "description": "SKUs with quantities (up to 25)."
    }
  },
  "required": [
    "products"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢finerworks_get_prices(products)

Price and price breakdown for up to 50 product codes or virtual inventory SKUs at given quantities. Nothing is ordered or billed. POST /v3/get_prices.

输入模式

{
  "type": "object",
  "properties": {
    "products": {
      "minItems": 1,
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "sku": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100,
            "description": "A virtual inventory SKU or a product code."
          },
          "quantity": {
            "description": "Quantity, 1-999 (default 1).",
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 999
          }
        },
        "required": [
          "sku"
        ]
      },
      "description": "Product codes or SKUs with quantities (up to 50)."
    }
  },
  "required": [
    "products"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢finerworks_list_product_types(ids)

The product types FinerWorks prints (fine art paper, canvas, wood, metal, cards, ...). POST /v3/list_product_types.

输入模式

{
  "type": "object",
  "properties": {
    "ids": {
      "description": "Optional list of product type ids to filter by.",
      "minItems": 1,
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991
      }
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢finerworks_list_media_types(ids)

The papers and media FinerWorks prints on. POST /v3/list_media_types.

输入模式

{
  "type": "object",
  "properties": {
    "ids": {
      "description": "Optional list of media ids to filter by.",
      "minItems": 1,
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991
      }
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢finerworks_list_style_types(ids)

The print styles FinerWorks offers (for example gallery wrap or float mount). POST /v3/list_style_types.

输入模式

{
  "type": "object",
  "properties": {
    "ids": {
      "description": "Optional list of style ids to filter by.",
      "minItems": 1,
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991
      }
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢finerworks_list_static_products(ids)

Non-dynamic products, mostly accessories, that can be added to an order. POST /v3/list_static_products.

输入模式

{
  "type": "object",
  "properties": {
    "ids": {
      "description": "Optional list of static product ids to filter by.",
      "minItems": 1,
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991
      }
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢finerworks_list_frame_collections(id, product_code)

Frame collections (categories). Pass a collection id to list the frames in it; pass a product code to show only collections and frames compatible with that print product. POST /v3/list_collections.

输入模式

{
  "type": "object",
  "properties": {
    "id": {
      "description": "Collection id. Required to list the frames inside a collection.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "product_code": {
      "description": "Only collections and frames compatible with this product code.",
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢finerworks_get_frame(id)

Details of one frame by id (from finerworks_list_frame_collections). POST /v3/frame_details.

输入模式

{
  "type": "object",
  "properties": {
    "id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Frame id."
    }
  },
  "required": [
    "id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢finerworks_list_mats(id)

The available mats (matting). POST /v3/list_mats.

输入模式

{
  "type": "object",
  "properties": {
    "id": {
      "description": "Only this mat id.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢finerworks_list_glazing(id)

The available glazing (glass and acrylic) options. POST /v3/list_glazing.

输入模式

{
  "type": "object",
  "properties": {
    "id": {
      "description": "Only this glazing id.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢finerworks_get_shipping_options(recipient, items)

Shipping options and rates for one prospective order: a recipient address plus the SKUs and quantities. Returns the shipping_code values an order would need. Nothing is ordered or billed. POST /v3/list_shipping_options_multiple.

输入模式

{
  "type": "object",
  "properties": {
    "recipient": {
      "type": "object",
      "properties": {
        "first_name": {
          "type": "string",
          "minLength": 1,
          "maxLength": 100
        },
        "last_name": {
          "type": "string",
          "minLength": 1,
          "maxLength": 100
        },
        "company_name": {
          "type": "string",
          "maxLength": 150
        },
        "address_1": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "address_2": {
          "type": "string",
          "maxLength": 200
        },
        "city": {
          "type": "string",
          "minLength": 1,
          "maxLength": 100
        },
        "state_code": {
          "description": "US/Canada state or province code, e.g. AK.",
          "type": "string",
          "maxLength": 10
        },
        "province": {
          "description": "Province or region for countries without state codes.",
          "type": "string",
          "maxLength": 100
        },
        "zip_postal_code": {
          "type": "string",
          "minLength": 1,
          "maxLength": 20
        },
        "country_code": {
          "type": "string",
          "minLength": 2,
          "maxLength": 2,
          "description": "Two-letter country code, e.g. us."
        },
        "phone": {
          "type": "string",
          "maxLength": 40
        },
        "email": {
          "type": "string",
          "maxLength": 200
        }
      },
      "required": [
        "first_name",
        "last_name",
        "address_1",
        "city",
        "zip_postal_code",
        "country_code"
      ],
      "description": "Where the order would ship."
    },
    "items": {
      "minItems": 1,
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "sku": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100,
            "description": "A virtual inventory SKU or a product code."
          },
          "quantity": {
            "description": "Quantity, 1-999 (default 1).",
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 999
          }
        },
        "required": [
          "sku"
        ]
      },
      "description": "SKUs (virtual inventory) with quantities."
    }
  },
  "required": [
    "recipient",
    "items"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢finerworks_validate_address(recipient)

Check a recipient address and return FinerWorks' corrected version. Nothing is saved or ordered. POST /v3/validate_recipient_address.

输入模式

{
  "type": "object",
  "properties": {
    "recipient": {
      "type": "object",
      "properties": {
        "first_name": {
          "type": "string",
          "minLength": 1,
          "maxLength": 100
        },
        "last_name": {
          "type": "string",
          "minLength": 1,
          "maxLength": 100
        },
        "company_name": {
          "type": "string",
          "maxLength": 150
        },
        "address_1": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "address_2": {
          "type": "string",
          "maxLength": 200
        },
        "city": {
          "type": "string",
          "minLength": 1,
          "maxLength": 100
        },
        "state_code": {
          "description": "US/Canada state or province code, e.g. AK.",
          "type": "string",
          "maxLength": 10
        },
        "province": {
          "description": "Province or region for countries without state codes.",
          "type": "string",
          "maxLength": 100
        },
        "zip_postal_code": {
          "type": "string",
          "minLength": 1,
          "maxLength": 20
        },
        "country_code": {
          "type": "string",
          "minLength": 2,
          "maxLength": 2,
          "description": "Two-letter country code, e.g. us."
        },
        "phone": {
          "type": "string",
          "maxLength": 40
        },
        "email": {
          "type": "string",
          "maxLength": 200
        }
      },
      "required": [
        "first_name",
        "last_name",
        "address_1",
        "city",
        "zip_postal_code",
        "country_code"
      ],
      "description": "The address to check."
    }
  },
  "required": [
    "recipient"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

社区

评价此服务器

证据

最近观测

已验证未记录版本19 个工具