Etsy MCP Server

Etsy MCP Server

Enables AI assistants to search for products, retrieve listing details, get shop information, discover trending items, and access reviews on Etsy through the Etsy API v3.

Category
Visit Server

README

Etsy MCP Server

A Model Context Protocol (MCP) server that provides integration with the Etsy API v3. This server enables AI assistants to search for products, get shop information, retrieve listing details, and more on Etsy.

Features

  • 🔍 Search Listings: Search for active products on Etsy with filters
  • 🏪 Shop Information: Get detailed shop data and reviews
  • 📦 Listing Details: Retrieve comprehensive product information with images
  • 🔥 Trending Products: Discover what's currently popular on Etsy
  • Reviews: Access shop reviews and ratings
  • 📊 Pagination Support: Handle large result sets efficiently

Prerequisites

  • Node.js 18 or higher
  • An Etsy API key (from Etsy Developer Portal)

Getting an Etsy API Key

  1. Go to Etsy Developers
  2. Sign in with your Etsy account
  3. Create a new app in the Developer Console
  4. Copy your API Key (also called "Keystring")

Note: For read-only operations (searching, viewing public data), you only need an API key. For operations that modify data (creating listings, managing shops), you would need OAuth 2.0 authentication, which is not currently implemented in this server.

Installation

From npm (when published)

npm install -g etsy-mcp-server

From Source

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

Configuration

Claude Desktop Configuration

Add the following to your Claude Desktop configuration file:

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

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

Or if installed from source:

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

Environment Variable

Alternatively, you can set the API key as an environment variable:

export ETSY_API_KEY=your_etsy_api_key_here

Available Tools

search_listings

Search for active listings on Etsy.

Parameters:

  • keywords (required): Search terms
  • limit (optional): Number of results (1-100, default: 25)
  • offset (optional): Pagination offset (default: 0)
  • min_price (optional): Minimum price filter
  • max_price (optional): Maximum price filter
  • sort_on (optional): Sort by created, price, updated, or score
  • sort_order (optional): asc, desc, ascending, or descending

Example:

Search Etsy for handmade leather wallets under $50

get_listing_details

Get detailed information about a specific listing.

Parameters:

  • listing_id (required): Numeric listing ID
  • includes (optional): Array of additional data (Shop, Images, User, Videos, Inventory)

Example:

Get details for Etsy listing ID 1234567890

get_shop_by_name

Retrieve information about a shop by its name.

Parameters:

  • shop_name (required): Shop name/slug

Example:

Get information about the Etsy shop "ArtisanLeatherCo"

get_shop_listings

Get all active listings from a specific shop.

Parameters:

  • shop_id (required): Numeric shop ID
  • limit (optional): Number of results (1-100, default: 25)
  • offset (optional): Pagination offset
  • sort_on (optional): Sort field
  • sort_order (optional): Sort direction

Example:

Show me all listings from Etsy shop ID 12345678

search_shops

Search for shops by name.

Parameters:

  • shop_name (required): Shop name to search
  • limit (optional): Number of results (1-100, default: 25)
  • offset (optional): Pagination offset

Example:

Search for Etsy shops with "pottery" in their name

get_trending_listings

Get currently trending listings on Etsy.

Parameters:

  • limit (optional): Number of results (1-100, default: 25)
  • offset (optional): Pagination offset

Example:

Show me trending items on Etsy

get_shop_reviews

Get reviews for a specific shop.

Parameters:

  • shop_id (required): Numeric shop ID
  • limit (optional): Number of results (1-100, default: 25)
  • offset (optional): Pagination offset
  • min_created (optional): Unix timestamp for minimum date
  • max_created (optional): Unix timestamp for maximum date

Example:

Get recent reviews for Etsy shop ID 12345678

Development

Build

npm run build

Watch Mode

npm run watch

Development Mode

npm run dev

API Rate Limits

Etsy's API has rate limits:

  • 10 requests per second per API key
  • Be mindful of pagination when retrieving large datasets

Error Handling

The server includes comprehensive error handling:

  • Invalid API keys return authentication errors
  • Missing required parameters return validation errors
  • Rate limit errors are surfaced to the user
  • Network errors are caught and reported

Limitations

  • Read-only: This server only supports read operations (searching, viewing)
  • Public data only: Can only access publicly available information
  • OAuth not implemented: Cannot perform authenticated operations like managing listings or accessing private shop data

Contributing

Contributions are welcome! Please feel free to submit issues or pull requests.

License

MIT

Resources

Troubleshooting

"ETSY_API_KEY environment variable is required"

Make sure you've set the ETSY_API_KEY in your configuration file or environment variables.

"Authentication failed"

Verify your API key is correct and active in the Etsy Developer Portal.

"Rate limit exceeded"

Wait a moment before making more requests. Consider implementing delays between requests if making many calls.

Connection Issues

Ensure you have internet connectivity and that Etsy's API is accessible from your network.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured