Etsy API集成服务

一个提供与Etsy API v3集成的模型上下文协议(MCP)服务器,使AI助手能够搜索产品、获取店铺信息、检索商品详情等。

  • by administrativetrick
  • JavaScript
  • 本地部署
  • 18 星标
  • 更新于
在 GitHub 查看 administrativetrick/etsy-mcp-server

使用说明

Etsy MCP服务器

模型上下文协议(MCP)服务器,提供与Etsy API v3的集成。该服务器使AI助手能够在Etsy上搜索产品、获取店铺信息、检索商品详情等。

特性

  • 🔍 搜索列表:使用过滤器在Etsy上搜索活跃产品
  • 🏪 店铺信息:获取详细的店铺数据和评论
  • 📦 列表详细信息:使用图像检索全面的产品信息
  • 🔥 热销产品:了解Etsy上当前流行的内容
  • ⭐ 评论:访问店铺评论和评级
  • 📊 分页支持:高效处理大型结果集

先决条件

  • Node.js 18或更高版本
  • Etsy API密钥(来自Etsy开发人员门户网站)

获取Etsy API密钥

  1. 首选 Etsy开发者
  2. 使用您的Etsy帐户登录
  3. 在中创建新应用程序 开发者控制台
  4. 复制您的API密钥(也称为“密钥串”)

备注:对于只读操作(搜索、查看公共数据),您只需要一个API密钥。对于修改数据的操作(创建列表、管理商店),您需要OAuth 2.0身份验证,但此服务器目前尚未实现。

安装

来自npm(发布时)

npm install -g etsy-mcp-server

来源

git clone <repository-url>
cd etsy-mcp-server
npm install
npm run build

配置

Claude桌面配置

将以下内容添加到您的Claude Desktop配置文件中:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json 视窗: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "etsy": {
      "command": "npx",
      "args": ["-y", "etsy-mcp-server"],
      "env": {
        "ETSY_API_KEY": "your_etsy_api_key_here"
      }
    }
  }
}

或者,如果从源代码安装:

{
  "mcpServers": {
    "etsy": {
      "command": "node",
      "args": ["/path/to/etsy-mcp-server/build/index.js"],
      "env": {
        "ETSY_API_KEY": "your_etsy_api_key_here"
      }
    }
  }
}

环境变量

或者,您可以将API键设置为环境变量:

export ETSY_API_KEY=your_etsy_api_key_here

可用工具

搜索列表

在Etsy上搜索活动列表。

参数:

  • keywords (必填):搜索词
  • limit (可选):结果数量(1-100,默认值:25)
  • offset (可选):分页偏移量(默认值:0)
  • min_price (可选):最低价格过滤器
  • max_price (可选):最高价格过滤器
  • sort_on (可选):按创建、价格、更新或分数排序
  • sort_order (可选):asc、desc、升序或降序

例子:

Search Etsy for handmade leather wallets under $50

get_listing_details

获取特定列表的详细信息。

参数:

  • listing_id (必填):数字列表ID
  • includes (可选):附加数据数组(商店、图像、用户、视频、库存)

例子:

Get details for Etsy listing ID 1234567890

get_shop_by_name

按店铺名称检索店铺信息。

参数:

  • shop_name (必填):店铺名称/slug

例子:

Get information about the Etsy shop "ArtisanLeatherCo"

get_shop_listings

获取特定商店的所有活动列表。

参数:

  • shop_id (必填):数字店铺ID
  • limit (可选):结果数量(1-100,默认值:25)
  • offset (可选):分页偏移
  • sort_on (可选):排序字段
  • sort_order (可选):排序方向

例子:

Show me all listings from Etsy shop ID 12345678

搜索_商店

按名称搜索商店。

参数:

  • shop_name (必填):要搜索的店铺名称
  • limit (可选):结果数量(1-100,默认值:25)
  • offset (可选):分页偏移

例子:

Search for Etsy shops with "pottery" in their name

get_trending_listings

在Etsy上获取当前热门列表。

参数:

  • limit (可选):结果数量(1-100,默认值:25)
  • offset (可选):分页偏移

例子:

Show me trending items on Etsy

get_shop_reviews

获取特定商店的评论。

参数:

  • shop_id (必填):数字店铺ID
  • limit (可选):结果数量(1-100,默认值:25)
  • offset (可选):分页偏移
  • min_created (可选):最小日期的Unix时间戳
  • max_created (可选):最大日期的Unix时间戳

例子:

Get recent reviews for Etsy shop ID 12345678

发展

构建

npm run build

观看模式

npm run watch

发展模式

npm run dev

API费率限制

Etsy的API有费率限制:

  • 每秒10个请求 每个API密钥
  • 检索大型数据集时注意分页

错误处理

服务器包括全面的错误处理:

  • 无效的API密钥返回身份验证错误
  • 缺少必需的参数会返回验证错误
  • 向用户显示速率限制错误
  • 捕获并报告网络错误

局限性

  • 只读:此服务器仅支持读取操作(搜索、查看)
  • 仅限公共数据:只能访问公开信息
  • OAuth未实现:无法执行经过身份验证的操作,如管理商品列表或访问私人商店数据

贡献

欢迎投稿!请随时提交问题或拉取请求。

许可证

麻省理工学院

资源

故障排除

“ETSY_API_KEY环境变量是必需的”

确保您已设置 ETSY_API_KEY 在配置文件或环境变量中。

“身份验证失败”

验证您的API密钥是否正确并在Etsy开发人员门户中处于活动状态。

“超出费率限制”

请稍等片刻,然后再提出更多请求。如果拨打多个电话,请考虑在请求之间实现延迟。

连接问题

确保您具有互联网连接,并且可以从您的网络访问Etsy的API。