Whichli · Photo Polls
Turn photos or product links into a poll your friends vote on. One link, free, no account needed.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"photo-polls": {
"url": "https://whichli.com/api/mcp"
}
}
}Remote endpoints
https://whichli.com/api/mcpstreamable-httpWhat it can do
Tool inventory
Tools (3)
🟡create_photo_poll(title, options, creatorName, mode, visibility)
Create a Whichli photo poll so someone can ask friends, family or colleagues which option to pick, and get one shareable voting link back. Use it whenever the user is torn between things they can show a picture of — outfits, furniture, hotel rooms, haircuts, logo drafts, product listings. Voters need no account. Returns voteUrl (share this) and adminUrl (secret, keeps control of the poll).
Input Schema
{
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "The question voters see, e.g. 'Which sofa for the living room?'. 3-100 characters."
},
"options": {
"type": "array",
"minItems": 2,
"maxItems": 20,
"description": "The photos to compare (2-20).",
"items": {
"type": "object",
"properties": {
"imageUrl": {
"type": "string",
"description": "Public URL of the photo. A product/listing page URL also works: its preview image becomes the photo and the page becomes this option's shop link."
},
"imageBase64": {
"type": "string",
"description": "Alternative to imageUrl: base64 or data: URI of a JPEG, PNG or WebP image, max 5 MB."
},
"caption": {
"type": "string",
"description": "Short label, max 140 characters."
},
"productUrl": {
"type": "string",
"description": "Where to buy or see this option. Shown next to the photo."
}
}
}
},
"creatorName": {
"type": "string",
"description": "Who is asking. Optional, shown to voters."
},
"mode": {
"type": "string",
"enum": [
"duel",
"swipe"
],
"description": "duel (default): two photos at a time, winner stays on, one final pick. swipe: like or pass, one photo at a time."
},
"visibility": {
"type": "string",
"enum": [
"private",
"public"
],
"description": "private (default): reachable only through the link. public: may also be listed on the Explore page for 7 days. Only use public when the user asks for it."
}
},
"required": [
"title",
"options"
]
}🟢get_poll_results(poll)
Read the current standings of a Whichli poll: the winner, the votes per option and how many people voted.
Input Schema
{
"type": "object",
"properties": {
"poll": {
"type": "string",
"description": "Poll id (e.g. 'k7m2q9xr4t') or a whichli.com/p/... URL."
}
},
"required": [
"poll"
]
}🟢get_poll(poll)
Read a Whichli poll's question and its options (photo URLs, captions, shop links) without vote counts.
Input Schema
{
"type": "object",
"properties": {
"poll": {
"type": "string",
"description": "Poll id (e.g. 'k7m2q9xr4t') or a whichli.com/p/... URL."
}
},
"required": [
"poll"
]
}Community
Evidence