wishfinity-mcp-plusw
v1.2.2
Published
MCP server for +W (Wishfinity Add to Wishlist) - save any product to your universal wishlist. Works with Claude, ChatGPT, Gemini, LangChain, and any MCP client.
Maintainers
Readme
+W MCP Server (Wishfinity)
+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 wishlist with one click.
Works with Claude, ChatGPT, Gemini, LangChain, OpenAI Agents SDK, and any MCP-compatible client.
What it does
When 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.
User: "Find me a good espresso machine under $200"
AI: Here are 3 options...
[+W Add to Wishlist] [View on Amazon]Quick start
Option 1: Local installation (stdio transport)
Best for Claude Desktop, ChatGPT Desktop, Cursor, VS Code, and local development.
npm install wishfinity-mcp-pluswAdd to your MCP client configuration:
{
"mcpServers": {
"wishfinity": {
"command": "npx",
"args": ["wishfinity-mcp-plusw"]
}
}
}Option 2: Remote endpoint (HTTP transport)
Best for server-side agents, LangChain production deployments, and hosted AI applications.
https://mcp.wishfinity.com/mcpOr use the Cloudflare Workers URL:
https://wishfinity-mcp-plusw.wishfinity.workers.dev/mcpPlatform Setup Guides
Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%/Claude/claude_desktop_config.json (Windows):
{
"mcpServers": {
"wishfinity": {
"command": "npx",
"args": ["wishfinity-mcp-plusw"]
}
}
}ChatGPT Desktop
When MCP support is available, add to your ChatGPT MCP configuration:
{
"mcpServers": {
"wishfinity": {
"command": "npx",
"args": ["wishfinity-mcp-plusw"]
}
}
}Cursor
Add to .cursor/mcp.json in your project:
{
"mcpServers": {
"wishfinity": {
"command": "npx",
"args": ["wishfinity-mcp-plusw"]
}
}
}LangChain
from langchain_mcp_adapters.client import MultiServerMCPClient
from langchain.agents import create_agent
async def main():
client = MultiServerMCPClient({
"wishfinity": {
"command": "npx",
"args": ["wishfinity-mcp-plusw"],
"transport": "stdio",
}
})
tools = await client.get_tools()
agent = create_agent("openai:gpt-4", tools)
result = await agent.ainvoke({
"messages": [{"role": "user", "content": "Find me a coffee maker and save it to my wishlist"}]
})For production (HTTP transport):
client = MultiServerMCPClient({
"wishfinity": {
"url": "https://mcp.wishfinity.com/mcp",
"transport": "streamable_http",
}
})OpenAI Agents SDK
from agents import Agent, Runner
from agents.mcp import MCPServerStdio
async def main():
async with MCPServerStdio(
name="wishfinity",
params={
"command": "npx",
"args": ["wishfinity-mcp-plusw"],
},
) as server:
agent = Agent(
name="Shopping Assistant",
instructions="Help users find products and save them to wishlists.",
mcp_servers=[server],
)
result = await Runner.run(agent, "Find a good gift for a coffee lover and save it")
print(result.final_output)Hugging Face Agents
from huggingface_hub import Agent
agent = Agent(
model="meta-llama/Llama-3.1-70B-Instruct",
mcp_servers=[{
"command": "npx",
"args": ["wishfinity-mcp-plusw"]
}]
)
response = agent.run("Find me running shoes under $150 and save to wishlist")How it works
- AI calls the
add_to_wishlisttool with a product URL - MCP server returns a Wishfinity link:
https://wishfinity.com/add?url=... - User clicks the link → logs in (first time only) → product is saved
- User can organize, share, or purchase later
No API keys required. Authentication happens on Wishfinity's website when the user clicks the link.
Tool: add_to_wishlist
Input
| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| url | string | Yes | Product page URL |
Output
| Field | Type | Description |
| --- | --- | --- |
| action_url | string | Wishfinity link to open in browser |
| requires_user_action | boolean | Always true (user must click) |
| display_text | string | Suggested button label |
Example
// Input
{ "url": "https://amazon.com/dp/B0EXAMPLE" }
// Output
{
"action_url": "https://wishfinity.com/add?url=https%3A%2F%2Famazon.com%2Fdp%2FB0EXAMPLE",
"requires_user_action": true,
"display_text": "Open to add to Wishfinity"
}When to offer +W
AI clients should offer +W when:
- Explicit requests: "save for later," "add to wishlist," "bookmark this"
- After recommending products: Proactively offer to save shown items
- Indecision moments: "maybe later," "too expensive right now," "need to think about it"
- Gift context: "for my mom," "birthday gift," "perfect for my friend"
See aliases.json for the full list of trigger phrases.
Transports
| Transport | Use Case | Endpoint |
|-----------|----------|----------|
| stdio | Local clients (Claude Desktop, Cursor, etc.) | npx wishfinity-mcp-plusw |
| HTTP | Remote/server-side agents | https://mcp.wishfinity.com/mcp |
Button kit
The /button-kit folder contains optional UI assets (SVG icon, HTML/CSS snippets) if you want a consistent +W button appearance.
CDN URLs:
- Small:
https://cdn.jsdelivr.net/npm/wishfinity-mcp-plusw@latest/button-kit/Wishfinity-Button-Small.svg - Medium:
https://cdn.jsdelivr.net/npm/wishfinity-mcp-plusw@latest/button-kit/Wishfinity-Button-Medium.svg - Large:
https://cdn.jsdelivr.net/npm/wishfinity-mcp-plusw@latest/button-kit/Wishfinity-Button-Large.svg
Documentation
- SPEC.md — Full technical specification
- INTEGRATION_GUIDE.md — How to integrate +W into your UI
- CLOUDFLARE_SETUP.md — Deploy your own HTTP endpoint
- aliases.json — Machine-readable trigger phrases
Links
License
MIT
