etsy-mcp-server

etsy-mcp-server

This is a deployable remote MCP server that lets OpenAI Agent Builder connect directly to Etsy using Etsy OAuth 2.0 with PKCE.

Category
Visit Server

README

Etsy MCP Server for OpenAI Agent Builder

This is a deployable remote MCP server that lets OpenAI Agent Builder connect directly to Etsy using Etsy OAuth 2.0 with PKCE.

Tools

  • etsy_get_my_shops
  • etsy_get_shop
  • etsy_get_listings
  • etsy_create_listing
  • etsy_update_listing
  • etsy_get_orders
  • etsy_get_messages
  • etsy_reply_to_message

Important: Etsy's official OpenAPI v3 spec does not expose conversations/messages or reply endpoints. The two message tools are registered so Agent Builder can see the requested surface, but they return unsupported_by_etsy_open_api_v3 instead of faking unsupported Etsy calls.

Environment Variables

PUBLIC_BASE_URL=https://your-deployed-etsy-mcp.example.com
PORT=3000
DATA_PATH=etsy-mcp-store.json
ETSY_CLIENT_ID=your_etsy_keystring
ETSY_API_KEYSTRING=your_etsy_keystring
ETSY_SHARED_SECRET=your_etsy_shared_secret

ETSY_CLIENT_ID and ETSY_API_KEYSTRING are normally the same Etsy keystring.

Etsy Developer Portal Setup

  1. Go to https://www.etsy.com/developers/your-apps.
  2. Create or open your Etsy app.
  3. Copy the app keystring into ETSY_CLIENT_ID and ETSY_API_KEYSTRING.
  4. Copy the shared secret into ETSY_SHARED_SECRET.
  5. Add this exact OAuth redirect URI:
https://your-deployed-etsy-mcp.example.com/oauth/etsy/callback
  1. Replace the host with the real deployed host used in PUBLIC_BASE_URL.
  2. The URI must be HTTPS and must match exactly. No trailing slash.

The server requests these Etsy scopes:

shops_r shops_w listings_r listings_w transactions_r transactions_w

Local Development

npm install
cp .env.example .env
npm run dev

For local Agent Builder testing, expose the server with an HTTPS tunnel and set:

PUBLIC_BASE_URL=https://your-tunnel-host

Then add this redirect URI to Etsy:

https://your-tunnel-host/oauth/etsy/callback

Deployment

Deploy to any Node host that supports persistent storage for the JSON token store, such as Render, Railway, Fly.io, or a VPS.

Build command:

npm install && npm run build

Start command:

npm start

Set all environment variables in the hosting provider.

If your platform has ephemeral disk, set DATA_PATH to a mounted persistent volume path or replace the JSON store with Postgres/Redis before production use.

OpenAI Agent Builder Setup

In Agent Builder, add a remote MCP connection:

Field Value
MCP Server URL https://your-deployed-etsy-mcp.example.com
Authentication OAuth
Headers None

Do not use:

https://your-deployed-etsy-mcp.example.com/mcp
https://your-deployed-etsy-mcp.example.com/sse

When Agent Builder connects, it discovers:

https://your-deployed-etsy-mcp.example.com/.well-known/oauth-protected-resource
https://your-deployed-etsy-mcp.example.com/.well-known/oauth-authorization-server

The OAuth flow then sends Employee #1 to Etsy, Employee #1 approves the Etsy app, and Agent Builder receives an MCP bearer token for subsequent tool calls.

Etsy API Routes Used

The server calls Etsy Open API v3:

GET   /v3/application/users/{user_id}/shops
GET   /v3/application/shops/{shop_id}
GET   /v3/application/shops/{shop_id}/listings
GET   /v3/application/shops/{shop_id}/listings/active
POST  /v3/application/shops/{shop_id}/listings
PATCH /v3/application/shops/{shop_id}/listings/{listing_id}
GET   /v3/application/shops/{shop_id}/receipts

Every Etsy API call sends:

Authorization: Bearer <etsy_oauth_access_token>
x-api-key: <keystring>:<shared_secret>

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
E2B

E2B

Using MCP to run code via e2b.

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
Qdrant Server

Qdrant Server

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

Official
Featured