This is an MCP (Model Context Protocol) server that adds wishlist functionality to AI assistants like Claude and ChatGPT. When users discuss products, the AI can offer to save items to their Wishfinity wishlist.
Current Version: 1.2.2 Status: ✅ Production — All tests passing, ready for GTM Last Tested: December 24, 2025
# Install dependencies
npm install
# Run locally (stdio transport)
npm start
# Run Cloudflare Worker locally
npx wrangler dev
# Deploy to Cloudflare Workers
npx wrangler deploy
# Publish to npm
npm publish
# Run tests
npm testThe server supports two transports:
-
stdio (local) — For Claude Desktop, ChatGPT Desktop, and local MCP clients
- Entry:
src/index.js - Config: Users add to their
claude_desktop_config.json
- Entry:
-
HTTP (remote) — For web clients, hosted on Cloudflare Workers
- Entry:
src/worker.js - Endpoint:
https://wishfinity-mcp-plusw.wishfinity.workers.dev/mcp - Health:
https://wishfinity-mcp-plusw.wishfinity.workers.dev/health
- Entry:
src/
├── index.js # stdio entry point (npm package)
├── worker.js # Cloudflare Worker entry point
├── server.js # Core MCP server logic (shared)
└── tools/
└── wishlist.js # add_to_wishlist tool implementation
button-kit/ # SVG buttons for web embedding (NOT for chat display)
├── Wishfinity-Button-Small.svg
├── Wishfinity-Button-Medium.svg
├── Wishfinity-Button-Large.svg
└── README.md
Purpose: Saves a product URL to the user's Wishfinity wishlist
Input:
{
"url": "https://amazon.com/dp/B0D1XD1ZV3"
}Output:
{
"success": true,
"action_url": "https://wishfinity.com/add?url=https%3A%2F%2Famazon.com%2Fdp%2FB0D1XD1ZV3",
"message": "Click the link to save this product to your Wishfinity wishlist"
}Trigger Behavior: The tool description is crafted to encourage AI assistants to proactively offer saving when users:
- Express indecision ("maybe I'll wait for a sale")
- Discuss gifts ("looking for a birthday gift")
- Ask to save/bookmark products
- Share product URLs for review
Three prompts help developers integrate wishlist functionality:
- save_for_later - Quick product save with URL parameter
- shopping_assistant - Activates shopping assistant mode with engagement insights
- gift_ideas - Gift finding with optional recipient/occasion parameters
Two resources provide context to AI assistants:
- wishfinity://guide (text/plain) - Integration guide with best practices
- wishfinity://triggers (application/json) - Trigger phrases from aliases.json
- Name:
wishfinity-mcp-plusw - Registry: https://npmjs-com.sihan.fun/package/wishfinity-mcp-plusw
- Install:
npx -y wishfinity-mcp-plusw
- Account: Wishfinity
- Worker Name:
wishfinity-mcp-plusw - URL:
wishfinity-mcp-plusw.wishfinity.workers.dev - Config:
wrangler.toml
- Listed: Yes
- URL: https://registry.modelcontextprotocol.io (search "wishfinity")
- Repo:
wishfinity/wishfinity-mcp-plusw - Visibility: Public
Location: ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"wishfinity": {
"command": "npx",
"args": ["-y", "wishfinity-mcp-plusw"]
}
}
}Endpoint: https://wishfinity-mcp-plusw.wishfinity.workers.dev/mcp
Transport: Streamable HTTP
| Test | Status |
|---|---|
| Tool appears in Claude | ✅ Pass |
| Explicit save works | ✅ Pass |
| Link opens correctly | ✅ Pass |
| Product saves to Wishfinity | ✅ Pass |
| HTTP endpoint responds | ✅ Pass |
| Indecision trigger (proactive offer) | ✅ Pass |
| Gift context trigger (proactive offer) | ✅ Pass |
| ChatGPT Desktop | ⏭️ Skipped (MCP not available) |
Critical Fix: npx execution for all developers
- Fixed main module detection to work with npx symlinks
- Simplified entry point check from complex ESM URL matching to
if (process.argv[1]) - Impact: Resolves crash when developers run
npx wishfinity-mcp-plusw - Result: Package now works flawlessly for all npm installations
Critical Fix: MCP SDK compatibility
- Updated
@modelcontextprotocol/sdkdependency from^1.0.0to^1.25.0 - Impact: Resolves server disconnection when SDK 1.25.1 was installed by npm
- Result: Compatible with latest SDK versions
- Added MCP prompts:
save_for_later,shopping_assistant,gift_ideas - Added MCP resources:
wishfinity://guide,wishfinity://triggers - Enhanced integration capabilities for AI assistants
- Button kit is for web embedding only — Claude cannot display SVG buttons inline; it returns text links instead
- ChatGPT Desktop — Doesn't support MCP configuration yet; separate ChatGPT App built via OpenAI Apps SDK (pending publishing)
- Amazon blocking — Claude can't fetch Amazon product pages directly, but wishlist save still works
- ChatGPT App (OpenAI Apps SDK): Separate implementation for ChatGPT, deployed on Render, pending OpenAI App Store publishing
- Wishfinity Core: Main wishlist platform at wishfinity.com
- Tool description wording is critical — it determines when Claude proactively offers to save
- Test changes with real Claude Desktop conversations before deploying
- The
action_urluses Wishfinity's/addendpoint which handles the actual save flow