Shoplinky MCP server

Shoplinky MCP developer reference

Endpoint, sign-in, tools, quotas and errors for connecting an AI assistant to Shoplinky's Instagram influencer discovery.

Shoplinky builds and runs its own remote MCP server; no third-party automation service sits in between. It lets a brand ask its AI assistant to find Instagram creators, check their audience and engagement, and build a shortlist for campaigns, using the brand's own Shoplinky account, plan and quota.

Connect

You need a Shoplinky brand account. Creator accounts can't connect.

Starting the connection opens the Shoplinky sign-in page. Sign in (or sign up), check which app is asking, and choose Allow. The assistant is then connected to your default brand account.

What you can do

Example requests:

Every tool is read-only. The connector never posts, messages creators, or changes anything in your Shoplinky account.

Skills

The assistant loads a skill with get_skill and follows it. The skill tools only analyse the text the assistant passes to them: they don't use your creator-discovery quota, don't call Shoplinky, and don't post anything.

Instagram content

From the instagram-agent-skill pack by Jake Schincariol (MIT License): https://github.com/Jakeschincariol/instagram-agent-skill

All tools

Generated from the server's tool registry, so it always matches what your assistant sees.

search_instagram_influencers read-only

Search Instagram Influencers

Search for Instagram influencers/creators matching filters such as follower count, engagement rate, bio keywords, location, language, interests, and verification status. Pass platform_username to look up a specific creator (or the user's own account) by handle; pass creator_lookalikes to find creators similar to one. Uses your connected Shoplinky brand account's creator-discovery quota. Returns up to 50 creators per call.

ParameterTypeDescription
platform_usernamestringFind creators whose username starts with this handle, e.g. to look up one account. When set, every other filter except limit and offset is ignored
creator_lookalikesstringUsername of a creator to find lookalikes of: creators with similar content
bio_phrasestringKeyword(s) that should appear in the creator's bio
hashtagsstring[]Hashtags the creator regularly uses
mentionsstring[]Accounts the creator regularly mentions
creator_locationsstring[]Location IDs the creator is based in, as returned by list_locations
creator_languagestring[]Language codes the creator posts in
creator_gender"MALE" | "FEMALE" | "ANY"Creator gender to match
creator_age{ min: number, max: number }Min/max creator age
creator_interestsstring[]Interest/category names, as returned by list_interest_categories
follower_count{ min: number, max: number }Min/max follower count
engagement_rate{ min: number }Minimum engagement rate, e.g. 0.02 for 2%
is_verifiedbooleanOnly creators with (true) or without (false) a verified badge
has_contact_detailsbooleanOnly creators who list contact details such as an email
limitnumberMax results to return (default 10, max 50)
offsetnumberNumber of results to skip, for paging through results

get_instagram_influencer_profile read-only

Get Instagram Influencer Profile

Get full profile analytics for a single Instagram creator by username: follower count, engagement rate, average likes/views/comments, audience demographics (gender/age/region), and recent/top content. Uses the account's creator-analytics quota. If full analytics are unavailable it falls back to a creator search by username, then to a handle search, and says which one answered in `source`; do not repeat those calls yourself.

ParameterTypeDescription
username requiredstringThe creator's Instagram username (handle, without @)

search_instagram_handles read-only

Search Instagram Handles

Autocomplete/typeahead search for Instagram usernames matching a partial username or display name. Returns matching handles.

ParameterTypeDescription
query requiredstringPartial username or display name to search for
limitnumberMax handles to return (default 10, max 50)

list_interest_categories read-only

List Interest Categories

List the valid interest/category names usable in the creator_interests filter of search_instagram_influencers.

No parameters.

list_locations read-only

List Locations

Search for location IDs (city/state/country) usable in the creator_locations filter of search_instagram_influencers.

ParameterTypeDescription
query requiredstringLocation name to search for, e.g. 'Mumbai' or 'United States'

list_languages read-only

List Languages

List the valid language codes usable in the creator_language filter of search_instagram_influencers.

No parameters.

get_skill read-only

Get Skill

Load a skill: a step-by-step method to follow for the user's request. Call it before doing work a skill covers, then follow the skill. Instagram content: ig-reel (Reel script from an idea, scored hooks, timed beat sheet); ig-viral (find reels working in a niche, build a swipe file); ig-caption (write and lint a caption); ig-carousel (carousel slides); ig-story (the day's Stories); ig-profile (score a profile out of 100 and rewrite it); ig-plan (plan the week); ig-human (make a draft sound human; use before showing any caption, script, comment, reply or DM); ig-comment (comments on other people's posts); ig-reply (replies to comments on the user's posts); ig-dm (DMs and follow-ups); ig-repurpose (turn a long video, podcast or article into posts); ig-audit (what worked in past posts). Call with no arguments to list the skills with full descriptions, or pass `reference` (not together with `skill`) for a data file a skill points to.

ParameterTypeDescription
skill"ig-reel" | "ig-viral" | "ig-caption" | "ig-carousel" | "ig-story" | "ig-profile" | "ig-plan" | "ig-human" | "ig-comment" | "ig-reply" | "ig-dm" | "ig-repurpose" | "ig-audit"The skill to load
reference"hook-formulas" | "profile-rubric" | "slop-lexicon" | "voice-template"A data file a skill refers to: hook-formulas, profile-rubric, slop-lexicon, voice-template

score_reel_hooks read-only

Score Reel Hooks

Score one or more Instagram Reel hooks (the first spoken line) 0-100 on length, specificity, stakes, front-loading and viewer address, flag dealbreakers like greetings or "stop scrolling", and rank them. Text heuristics that catch weak hooks; not a view predictor. Used by the ig-reel skill.

ParameterTypeDescription
hooks requiredstring[]Hook lines to score, one per item

time_reel_script read-only

Time Reel Script

Turn an Instagram Reel script into a timed beat sheet (one line per beat) and flag a hook past 3 seconds, beats over 4 seconds, runs of beats with nothing concrete, a missing loop back to the hook, and distance from a target length. Timings are estimated from word count. Used by the ig-reel skill.

ParameterTypeDescription
script requiredstringThe spoken script, one beat per line
target_secondsnumberTarget Reel length in seconds
wpmnumberSpeaking rate in words per minute (default 165)

lint_instagram_caption read-only

Lint Instagram Caption

Check an Instagram caption before it is posted: what the feed shows before "... more", length, first line, concreteness, hashtag count (Instagram's cap is 5), hashtag placement, dead links, number of calls to action, emoji density and whether search terms appear. Returns PASS/WARN/FAIL per check and a verdict. Used by the ig-caption skill.

ParameterTypeDescription
caption requiredstringThe caption text
keywordsstring[]Search terms the caption should contain, e.g. ["client proposals"]
truncate_atintegerCharacters shown before "... more" (default 125)

humanize_text read-only

Humanize Text

Clean a draft (caption, script, comment, reply or DM) so it reads as written by a person: removes invisible characters, replaces em dashes and curly quotes, swaps stock AI phrasing for plain words, keeps URLs intact, and flags structural tells to rewrite by hand. Returns the cleaned text and a report. Used by the ig-human skill.

ParameterTypeDescription
text requiredstringThe draft to clean

check_ai_writing read-only

Check AI Writing Signals

Score how machine-written a draft reads on five checks (sentence-length variation, specificity, stock-phrase density, typographic fingerprint, voice), 0-100 where higher reads more human, with a PASS/REVIEW/FLAGGED verdict. Pass previous_text to compare a revision against the earlier draft. Text heuristics only; not an AI-detector verdict. Used by the ig-human skill.

ParameterTypeDescription
text requiredstringThe draft to score
previous_textstringAn earlier draft, to show the before and after

build_reel_swipe_file read-only

Build Reel Swipe File

Rank Instagram reels the user collected by outlier multiple (views divided by the account's median views, or followers if no median), name the hook formula each used, score each hook, compare the top and bottom thirds, and return the swipe file as markdown. Pass the reels as structured rows or as tab-separated text with a header row. Used by the ig-viral skill.

ParameterTypeDescription
reels{ account: string, followers: integer, median: integer, views: integer, hook: string, on_screen: string, length: number, cta: string }[]One entry per reel
tsvstringAlternative to reels: tab-separated rows with a header like account, followers, median, views, hook

Quotas and limits

Build an integration

Errors

Understand the results

Data and privacy

The connector acts as your signed-in Shoplinky account and only reads data your plan already gives you access to. The MCP server keeps the sign-in session needed to call Shoplinky on your behalf; the tokens it issues to your assistant are stored only as hashes. It does not store your conversations or tool results, including the text sent to the skill tools. See the Privacy Policy and Terms.

To disconnect, remove Shoplinky from your assistant's connector settings. Connections that aren't used for 30 days expire automatically.

Support

Email contact@shoplinky.com or use the contact page.