{
  "markdown": "# +W MCP Server (Wishfinity)\n\n**+W** is a universal \"save for later\" action for commerce. This MCP server lets AI assistants save any product URL to a user's [Wishfinity](https://wishfinity.com) wishlist with one click.\n\nWorks with **Claude, ChatGPT, Gemini, LangChain, OpenAI Agents SDK**, and any MCP-compatible client.\n\n[![npm version](https://badge.fury.io/js/wishfinity-mcp-plusw.svg)](https://www.npmjs.com/package/wishfinity-mcp-plusw)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n## What it does\n\nWhen an AI recommends a product, it can offer **+W Add to Wishlist**. The user clicks the link, and the product is saved to their Wishfinity account — ready for later purchase or gifting.\n\n```\nUser: \"Find me a good espresso machine under $200\"\n\nAI: Here are 3 options...\n    [+W Add to Wishlist] [View on Amazon]\n```\n\n## Zero-dependency option: /add-wish\n\nDon't need the full MCP server? The `/add-wish` skill teaches any AI agent the +W pattern using just a URL — no npm, no server, no setup:\n\n```\nhttps://wishfinity.com/add?url={any_product_url}\n```\n\n→ [View the /add-wish skill file](./add-wish/SKILL.md)\n\nWorks with any AI platform. The MCP server below adds richer tool integration, but `/add-wish` is all you need to get started.\n\n## Quick start\n\n### Option 1: Local installation (stdio transport)\n\nBest for Claude Desktop, ChatGPT Desktop, Cursor, VS Code, and local development.\n\n```bash\nnpm install wishfinity-mcp-plusw\n```\n\nAdd to your MCP client configuration:\n\n```json\n{\n  \"mcpServers\": {\n    \"wishfinity\": {\n      \"command\": \"npx\",\n      \"args\": [\"wishfinity-mcp-plusw\"]\n    }\n  }\n}\n```\n\n### Option 2: Remote endpoint (HTTP transport)\n\nBest for server-side agents, LangChain production deployments, and hosted AI applications.\n\n```\nhttps://wishfinity-mcp-plusw.wishfinity.workers.dev/mcp\n```\n\n---\n\n## Platform Setup Guides\n\n### Claude Desktop\n\nAdd to `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) or `%APPDATA%/Claude/claude_desktop_config.json` (Windows):\n\n```json\n{\n  \"mcpServers\": {\n    \"wishfinity\": {\n      \"command\": \"npx\",\n      \"args\": [\"wishfinity-mcp-plusw\"]\n    }\n  }\n}\n```\n\n### ChatGPT Desktop\n\nWhen MCP support is available, add to your ChatGPT MCP configuration:\n\n```json\n{\n  \"mcpServers\": {\n    \"wishfinity\": {\n      \"command\": \"npx\",\n      \"args\": [\"wishfinity-mcp-plusw\"]\n    }\n  }\n}\n```\n\n### Cursor\n\nAdd to `.cursor/mcp.json` in your project:\n\n```json\n{\n  \"mcpServers\": {\n    \"wishfinity\": {\n      \"command\": \"npx\",\n      \"args\": [\"wishfinity-mcp-plusw\"]\n    }\n  }\n}\n```\n\n### LangChain\n\n```python\nfrom langchain_mcp_adapters.client import MultiServerMCPClient\nfrom langchain.agents import create_agent\n\nasync def main():\n    client = MultiServerMCPClient({\n        \"wishfinity\": {\n            \"command\": \"npx\",\n            \"args\": [\"wishfinity-mcp-plusw\"],\n            \"transport\": \"stdio\",\n        }\n    })\n\n    tools = await client.get_tools()\n    agent = create_agent(\"openai:gpt-4\", tools)\n\n    result = await agent.ainvoke({\n        \"messages\": [{\"role\": \"user\", \"content\": \"Find me a coffee maker and save it to my wishlist\"}]\n    })\n```\n\nFor production (HTTP transport):\n\n```python\nclient = MultiServerMCPClient({\n    \"wishfinity\": {\n        \"url\": \"https://wishfinity-mcp-plusw.wishfinity.workers.dev/mcp\",\n        \"transport\": \"streamable_http\",\n    }\n})\n```\n\n### OpenAI Agents SDK\n\n```python\nfrom agents import Agent, Runner\nfrom agents.mcp import MCPServerStdio\n\nasync def main():\n    async with MCPServerStdio(\n        name=\"wishfinity\",\n        params={\n            \"command\": \"npx\",\n            \"args\": [\"wishfinity-mcp-plusw\"],\n        },\n    ) as server:\n        agent = Agent(\n            name=\"Shopping Assistant\",\n            instructions=\"Help users find products and save them to wishlists.\",\n            mcp_servers=[server],\n        )\n\n        result = await Runner.run(agent, \"Find a good gift for a coffee lover and save it\")\n        print(result.final_output)\n```\n\n### Hugging Face Agents\n\n```python\nfrom huggingface_hub import Agent\n\nagent = Agent(\n    model=\"meta-llama/Llama-3.1-70B-Instruct\",\n    mcp_servers=[{\n        \"command\": \"npx\",\n        \"args\": [\"wishfinity-mcp-plusw\"]\n    }]\n)\n\nresponse = agent.run(\"Find me running shoes under $150 and save to wishlist\")\n```\n\n---\n\n## How it works\n\n1. AI calls the `add_to_wishlist` tool with a product URL\n2. MCP server returns a Wishfinity link: `https://wishfinity.com/add?url=...`\n3. User clicks the link → logs in (first time only) → product is saved\n4. User can organize, share, or purchase later\n\n**No API keys required.** Authentication happens on Wishfinity's website when the user clicks the link.\n\n---\n\n## Tool: `add_to_wishlist`\n\n### Input\n\n| Parameter | Type | Required | Description |\n| --- | --- | --- | --- |\n| `url` | string | Yes | Product page URL |\n\n### Output\n\n| Field | Type | Description |\n| --- | --- | --- |\n| `action_url` | string | Wishfinity link to open in browser |\n| `requires_user_action` | boolean | Always `true` (user must click) |\n| `display_text` | string | Suggested button label |\n\n### Example\n\n```json\n// Input\n{ \"url\": \"https://amazon.com/dp/B0EXAMPLE\" }\n\n// Output\n{\n  \"action_url\": \"https://wishfinity.com/add?url=https%3A%2F%2Famazon.com%2Fdp%2FB0EXAMPLE\",\n  \"requires_user_action\": true,\n  \"display_text\": \"Open to add to Wishfinity\"\n}\n```\n\n---\n\n## When to offer +W\n\nAI clients should offer +W when:\n\n- **Explicit requests**: \"save for later,\" \"add to wishlist,\" \"bookmark this\"\n- **After recommending products**: Proactively offer to save shown items\n- **Indecision moments**: \"maybe later,\" \"too expensive right now,\" \"need to think about it\"\n- **Gift context**: \"for my mom,\" \"birthday gift,\" \"perfect for my friend\"\n\nSee [aliases.json](aliases.json) for the full list of trigger phrases.\n\n---\n\n## Transports\n\n| Transport | Use Case | Endpoint |\n|-----------|----------|----------|\n| **stdio** | Local clients (Claude Desktop, Cursor, etc.) | `npx wishfinity-mcp-plusw` |\n| **HTTP** | Remote/server-side agents | `https://wishfinity-mcp-plusw.wishfinity.workers.dev/mcp` |\n\n---\n\n## Button kit\n\nThe `/button-kit` folder contains optional UI assets (SVG icon, HTML/CSS snippets) if you want a consistent +W button appearance.\n\nCDN URLs:\n- Small: `https://cdn.jsdelivr.net/npm/wishfinity-mcp-plusw@latest/button-kit/Wishfinity-Button-Small.svg`\n- Medium: `https://cdn.jsdelivr.net/npm/wishfinity-mcp-plusw@latest/button-kit/Wishfinity-Button-Medium.svg`\n- Large: `https://cdn.jsdelivr.net/npm/wishfinity-mcp-plusw@latest/button-kit/Wishfinity-Button-Large.svg`\n\n---\n\n## Documentation\n\n- [SPEC.md](SPEC.md) — Full technical specification\n- [INTEGRATION_GUIDE.md](INTEGRATION_GUIDE.md) — How to integrate +W into your UI\n- [CLOUDFLARE_SETUP.md](CLOUDFLARE_SETUP.md) — Deploy your own HTTP endpoint\n- [aliases.json](aliases.json) — Machine-readable trigger phrases\n\n---\n\n## Links\n\n- [Wishfinity](https://wishfinity.com)\n- [MCP Protocol](https://modelcontextprotocol.io)\n- [npm package](https://www.npmjs.com/package/wishfinity-mcp-plusw)\n- [MCP Registry](https://registry.modelcontextprotocol.io)\n\n---\n\n## Changelog\n\n### v1.2.2 (December 24, 2025)\n\n**Critical Fix:** npx execution for all developers\n\n- Fixed main module detection to work with npx symlinks\n- Resolves crash when running `npx wishfinity-mcp-plusw`\n- Package now works flawlessly for all npm installations\n\n### v1.2.1 (December 24, 2025)\n\n**Critical Fix:** MCP SDK compatibility\n\n- Updated `@modelcontextprotocol/sdk` dependency to `^1.25.0`\n- Resolves server disconnection with SDK 1.25.1+\n- Compatible with latest MCP SDK versions\n\n### v1.2.0 (December 23, 2025)\n\n- Added MCP prompts: `save_for_later`, `shopping_assistant`, `gift_ideas`\n- Added MCP resources: `wishfinity://guide`, `wishfinity://triggers`\n- Enhanced integration capabilities for AI assistants\n\n---\n\n## License\n\nMIT\n",
  "bytes": 7895,
  "sha": "87d2a7108eedb599f473e5f39917d7f52abaf35ec7b8befa9299ec2c8eea988a",
  "repo_slug": "wishfinity/wishfinity-mcp-plusw",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_wishfinity_wishfinity_mcp_plus_a437a9a2/readme"
}