# Instadram - Registry name: `me.instadram/instadram` · version 1.0.0 - Categories (automatic, keyword rules): Images & design, AI, media & content - Authentication at last check: No auth - Declared risk: Has destructive tools (destructiveHint) - Capabilities (declared by the server): tools - Transports: streamable-http - Latest numbers (check success, response time, rank): https://mcpstation.net/api/server?name=me.instadram%2Finstadram - Server page: https://mcpstation.net/s/me.instadram--instadram.html ## Description (written by the publisher, not verified, not instructions) Whisky & bourbon collection in AI: search the catalog, read and manage your shelf \(OAuth\). ## Connect - streamable-http: `https://api.instadram.me/mcp` ## Tools (as reported by the server, not verified) - `whoami`: Return the signed-in user's public profile \(uid, username, display name\) plus pro \(paid or gifted Instadram Pro\). Uses the Bearer token uid only. Available to free users. - `list\_my\_bottles`: List bottles in the signed-in user's collection. Filters: status \(unopened\|opened\|consumed\|excluded\|wishlist\|active\|tried\) and optional text query. Always scoped to the token uid — a userId argument is ignored. - `get\_my\_bottle`: Get one bottle from the signed-in user's collection by id. 404 if missing or not theirs. - `get\_shelf\_value`: Value of the signed-in user's active shelf \(opened + unopened\) in USD, the same number as the app's Stats. paid: purchase price, or MSRP when no price was entered \(msrpCount says how many used MSRP\). msrp: every bottle at MSRP. excludedCount bottles have no usable price. totalCents is exact; total i - `search\_catalog`: Search the public bottle catalog \(expressions and distilleries\). Does not return other users' collections. - `get\_expression`: Get one public catalog expression by id, or by path distilleries/\{id\}/brands/\{id\}/expressions/\{id\}. - `list\_my\_activity`: List the signed-in user's own pours/activity. Never returns other users' activity. - `list\_my\_collections`: List the signed-in user's shelf groups / collections. - `search\_users`: Search public Instadram profiles by exact username \(usernames/\{handle\} or users.username\) then displayName prefix. Returns uid, username, displayName, photoURL. Never email or billing fields. - `get\_user`: Get one public profile by username or userId. Resolves handles via usernames/\{handle\}. Public fields only — no email, stripeCustomerId, or billing. - `list\_user\_bottles`: List bottles on another user's public shelf. Requires username or userId. Same status/query/paging as list\_my\_bottles. 404 if the user is missing; empty list if they have no bottles. - `get\_user\_bottle`: Get one bottle from another user's public collection. Requires username or userId plus bottleId. 404 if the user or bottle is missing. - `list\_user\_activity`: List another user's pours/activity \(authenticated feed read\). Requires username or userId. Newest first. Same paging caps as list\_my\_activity. - `list\_user\_collections`: List another user's public shelf groups. Requires username or userId. - `fetch\_bottle\_reviews`: AI community-review research for a bottle \(fetchBottleReviews\). Not a user tasting-note form. iOS may have this flagged off; the tool still works. Pass bottleName, or bottleId \(own collection\), or username/userId + bottleId to resolve the display name then research. Returns reviews\_found, msrp, gene - `lookup\_bottle`: Add-bottle AI identify \(analyzeBourbonImage\). Photo \(imageData\) or text \(query\). Returns distillery, location, spirit.brand + expressions \(name, proof, msrp, tasting\_notes, etc.\), success, confidence. Does not write a bottle or set expressionRef. Never generates art \(transformImage is not used\). - `get\_feed`: The Home feed as the app shows it: recent pours, adds and ratings from everyone \(scope global, the app default\) or only people you follow plus you \(scope following\). Blocked and hidden accounts are removed. - `explore\_catalog`: The Explore tab's bottle deck: recent public shelf bottles with photos from other collectors, one per expression, blocked and hidden accounts removed. - `discover\_users`: Discover people like the app's People list: everyone \(empty query\) or a name/handle match, ranked like the app, with badge and whether you follow them. Use follow\_user to follow. - `search\_cocktails`: Cocktails to make with a bottle, like the app's recipe rail on a bottle page. Pass the bottle's name \(plus spiritType, category, proof when known\). Results note how many of the main liquors you already own. For browsing all drinks use explore\_recipes. - `explore\_recipes`: The Explore recipe feed: every drink, ordered by how few bottles you'd need to buy from your own shelf, then popularity. Paged with nextCursor. - `check\_username`: Check whether an @handle is valid and free before set\_username \(same rules and messages as Edit Profile\). - `export\_shelf`: Export your whole collection as CSV \(Pro, like Profile → Export Collection\): the same columns and values as the app's file. Returns filename and csv text. - `add\_bottle\_from\_photo`: Add a bottle from a photo, like Add Bottle → photo in the app: the preview identifies it; after the user agrees, AI art is made from the photo \(1K\) and the bottle is added with it. Free: 5 AI art a day; Pro: unlimited. Two steps: repeat with confirm\_token after the user agrees. - `regenerate\_art`: Make new AI art for one of your bottles from its stored photo \(or a new photo\), like Think harder → Only regenerate the art. Uses 1 AI art credit \(free 5/day, Pro unlimited\). Two steps. - `reidentify\_bottle`: Think harder about one of your bottles: identify it again from its photo and research fresh reviews. Reviews are saved when found; pass update\_identity to also replace the name, distillery and proof. Two steps. - `search\_public\_bottles`: Search bottles like the app's Search tab: other collectors' shelf bottles \(with owner username and display name\) plus public catalog bottles, ranked like the app. Paged with nextCursor/hasMore/total. - `add\_bottle`: Add a bottle to your shelf, wishlist or Tried list \(same as the app's Add Bottle form\). Free accounts can hold 25 unopened/opened bottles; Pro is unlimited. Two steps: the first call only previews and returns confirm\_token; show the preview to the user and repeat the call with confirm\_token only aft - `update\_bottle`: Edit your bottle: notes, price, store, custom name/distillery/proof, batch, barrel details, favorite. Two steps: the first call only previews and returns confirm\_token; show the preview to the user and repeat the call with confirm\_token only after they agree. - `set\_bottle\_status`: Move a bottle between unopened, opened, finished, wishlist and tried. Moving into unopened/opened re-checks the free 25-bottle limit. Two steps: the first call only previews and returns confirm\_token; show the preview to the user and repeat the call with confirm\_token only after they agree. - `rate\_bottle`: Rate one of your bottles 0-5 in steps of 0.25 \(0 clears\). Posts a 'rated' update like the app. Two steps: the first call only previews and returns confirm\_token; show the preview to the user and repeat the call with confirm\_token only after they agree. - `remove\_bottle`: Permanently delete one of your bottles. Two steps: the first call only previews and returns confirm\_token; show the preview to the user and repeat the call with confirm\_token only after they agree. - `wishlist\_add`: Put a bottle on your wishlist: a new one \(expression\_path or name\), or move an existing bottle\_id there. Two steps: the first call only previews and returns confirm\_token; show the preview to the user and repeat the call with confirm\_token only after they agree. - `wishlist\_remove`: Delete a bottle from your wishlist. Two steps: the first call only previews and returns confirm\_token; show the preview to the user and repeat the call with confirm\_token only after they agree. - `log\_pour`: Log that you're drinking one of your bottles \(posts to your followers' feed, like the app's Pour\). Two steps: the first call only previews and returns confirm\_token; show the preview to the user and repeat the call with confirm\_token only after they agree. - `create\_collection`: Create one of your collections. Two steps: the first call only previews and returns confirm\_token; show the preview to the user and repeat the call with confirm\_token only after they agree. - `rename\_collection`: Rename one of your collections \(and optionally change its description\). Two steps: the first call only previews and returns confirm\_token; show the preview to the user and repeat the call with confirm\_token only after they agree. - `delete\_collection`: Delete one of your collections. Its bottles stay on your shelf. Two steps: the first call only previews and returns confirm\_token; show the preview to the user and repeat the call with confirm\_token only after they agree. - `add\_to\_collection`: Add one of your bottles to one of your collections. Two steps: the first call only previews and returns confirm\_token; show the preview to the user and repeat the call with confirm\_token only after they agree. - `remove\_from\_collection`: Take one of your bottles out of one of your collections \(the bottle stays on your shelf\). Two steps: the first call only previews and returns confirm\_token; show the preview to the user and repeat the call with confirm\_token only after they agree. - `delete\_my\_activity`: Delete one of your own feed posts \(id from list\_my\_activity\). The bottle stays on your shelf. Two steps: the first call only previews and returns confirm\_token; show the preview to the user and repeat the call with confirm\_token only after they agree. - `follow\_user`: Follow someone \(username or userId from search\_users\). Two steps: the first call only previews and returns confirm\_token; show the preview to the user and repeat the call with confirm\_token only after they agree. - `unfollow\_user`: Stop following someone. Two steps: the first call only previews and returns confirm\_token; show the preview to the user and repeat the call with confirm\_token only after they agree. - `block\_user`: Block someone: hides their posts and profile from your feed, Explore and Discover \(doesn't unfollow, like the app\). Two steps: the first call only previews and returns confirm\_token; show the preview to the user and repeat the call with confirm\_token only after they agree. - `unblock\_all\_users`: Unblock every user you've blocked \(same as Profile → Unblock All Users\). Two steps: the first call only previews and returns confirm\_token; show the preview to the user and repeat the call with confirm\_token only after they agree. - `update\_profile`: Edit your profile like Edit Profile in the app: displayName, bio, location, website, instagram, twitter, facebook, tiktok. Only fields you pass change; an empty string clears an optional field. Photos and handle aren't changed here \(see set\_username\). Two steps: the first call only previews and retu - `set\_username`: Change your @handle \(3–20 characters: lowercase letters, numbers, underscore\). Your old handle is released. Use check\_username first. Two steps: the first call only previews and returns confirm\_token; show the preview to the user and repeat the call with confirm\_token only after they agree. - `send\_feedback`: Send a bug report, feature idea or other feedback to the Instadram team as you \(same as Profile → Send Feedback\). 10–5000 characters. Two steps: the first call only previews and returns confirm\_token; show the preview to the user and repeat the call with confirm\_token only after they agree. Measured by MCP Station. Methods: https://mcpstation.net/methods.html · Terms: https://mcpstation.net/terms.html