# Influship (remote · mcp.influship.com)

Find and analyze influencers with creator search, lookalikes, profiles, posts, and transcripts.

- Trust score: 77/100 (medium)
- Change this week: +7
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- remote · `mcp.influship.com`: 77/100 (this document), [markdown](https://verifymcp.io/servers/influship-influship-mcp/mcp.md), [page](https://verifymcp.io/servers/influship-influship-mcp/mcp)
- npm · `@influship/mcp`: 35/100, [markdown](https://verifymcp.io/servers/influship-influship-mcp/influship-mcp.md), [page](https://verifymcp.io/servers/influship-influship-mcp/influship-mcp)

## Channel facts

- Endpoint: `https://mcp.influship.com/mcp`
- Transports: `streamable-http`
- Auth: `required`
- Version: `0.1.1`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Endpoint Security**: 83/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one.
  - HTTPS is enforced; there's no plaintext access path.
  - The HSTS (Strict-Transport-Security) header is present.
  - DNSSEC is configured correctly; the domain's records validate against the full chain to the root.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 74/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 4156 tokens (~277/item across 15 items; 14 tools + 1 resources), over budget; trim descriptions and params.
  - Tools include usage examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
  - Structured output schemas are declared (100% of tools); any adoption earns full credit.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.
  - Supports UI / widget rendering.

## Install

### Claude

```bash
claude mcp add --transport http influship-influship-mcp https://mcp.influship.com/mcp
```

### Codex

```toml
[mcp_servers.influship-influship-mcp]
url = "https://mcp.influship.com/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "influship-influship-mcp": {
      "type": "remote",
      "url": "https://mcp.influship.com/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add influship-influship-mcp --url https://mcp.influship.com/mcp --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  influship-influship-mcp:
    url: "https://mcp.influship.com/mcp"
```

### Other

```json
{
  "mcpServers": {
    "influship-influship-mcp": {
      "type": "http",
      "url": "https://mcp.influship.com/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-03 (score 77, +1)

No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-31 (score 76, +4)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-30 (score 72, +1)

No change was recorded against any check on this day. Stability & Change Management went from 10 to 13. That category is still filling its 30-day observation window: 3 days of observed history at the previous scan, 4 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-28 (score 71, +1)

No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-27 (score 70, +1)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-26 (score 69)

First indexed and scored.

## MCP tools (14)

### `get_sample_creator` (~142 tokens)

Get sample creator

Use this when a ChatGPT user wants to see what Influship can return before linking an account.

Fetches one configured sample creator with social profile context. This is a low-cost preview tool and should not be used for search, discovery, matching, or lookalike requests.
After showing the preview, tell the user that real live creator data, search, lookalikes, matching, posts, and transcripts require connecting an Influship account. Explain that they can authorize either an Influship SaaS subscription, where usage counts against monthly bundled credits, or an Influship API account, where usage is billed pay-as-you-go under API billing.

Output parameters:

- `count` (number)
- `data`
- `has_more` (boolean)
- `next_cursor`
- `not_found` (array)
- `ok` (boolean)
- `results` (array)
- `suggested_followups` (array)

### `search_creators` (~665 tokens)

Find a creator by name/handle, while preserving legacy semantic creator search.

Use this as the default creator lookup tool when the user gives a creator-ish string
but not a canonical creator UUID: a handle, partial handle, display name, creator name,
or profile-ish text. This is cheap, fast, and backed by the creator lookup index.

If the user gives an exact handle on a specific platform (for example "@niickjackson on
Instagram"), prefer `get_profile` first because it returns the full platform profile.
If you need to resolve a rough creator name or partial handle first, use this tool with
\`query_type: "creator_lookup"`.

For backward compatibility, this tool still accepts the old semantic-search fields
(`platforms`, follower/engagement filters, `creator_kinds`) and routes legacy calls
to the semantic endpoint unless the query clearly contains a handle/profile URL. For
new topical/niche discovery calls such as "fitness creators in NYC" or "vegan recipe
creators with high engagement", prefer `semantic_search_creators` because its name is
explicit and less likely to be confused with exact creator lookup.

Examples:
\- User: "Find @cris" -> use this tool with query "cris" and query_type
  "creator_lookup".
\- User: "Who is that fitness coach called Jane?" -> use this tool with query "Jane"
  and query_type "creator_lookup".
\- User: "Pull @niickjackson on Instagram" -> use `get_profile` with platform
  "instagram" and username "niickjackson".
\- User: "Find news creators with 1M+ followers" -> use `semantic_search_creators`,
  not this tool.

Returns either autocomplete-style creator lookup results or legacy semantic results,
depending on routing. Use returned creator IDs with `get_creator`,
\`find_lookalike_creators`, or `match_creators`; use returned platform usernames
with `get_profile` or `get_posts`.

Input parameters:

- `creator_kinds` (array): Optional creator kind filter. Omit for no creator-kind filter.
- `limit` (integer): Maximum results to return.
- `max_engagement_rate` (number): Maximum engagement rate as a percentage from 0 to 100.
- `max_followers` (integer): Maximum follower count.
- `min_engagement_rate` (number): Minimum engagement rate as a percentage from 0 to 100.
- `min_followers` (integer): Minimum follower count.
- `platform`: Optional platform to narrow username matching.
- `platforms` (array): Platforms to search. Omit for all.
- `query` (string, required): Natural-language semantic discovery query by topic, niche, audience, geography, or content style. Do not pass exact handles or usernames here; use get_profile, lookup_profiles, or autocomplete_creato…
- `query_type` (string): Use creator_lookup for specific names/handles and semantic_discovery for topical/niche discovery. Auto routes exact handles and profile URLs to lookup, and keeps legacy semantic-search behavior other…
- `scope` (string): Which linked platforms to include in each lookup result.
- `verified` (boolean): When set, only return verified or unverified creators.

### `semantic_search_creators` (~549 tokens)

Semantic discovery search for influencers/content creators using natural-language queries.

Use this only when the user asks to discover creators by topic, audience, geography,
niche, content style, or campaign criteria (e.g., "fitness creators in NYC", "vegan
recipe creators with high engagement", "tech reviewers who cover phones"). The query
is matched against creator profiles, extracted facts, and visual style via hybrid
vector search.

Do not use this for exact handles, usernames, or known creator names. If the user gives
a specific platform and handle (for example "@niickjackson on Instagram"), use
\`get_profile` first. For rough name/handle lookup, use `search_creators`. For
multiple known handles, use `lookup_profiles`. Semantic search can return lookalike
or topical matches and is allowed to miss an exact username.

Examples:
\- User: "Find news creators with 1M+ followers" -> use this tool.
\- User: "Find creators in LA who make cinematic travel videos" -> use this tool.
\- User: "Pull @niickjackson on Instagram" -> use `get_profile`, not this tool.
\- User: "Is @niickjackson a fit for Pixel?" -> use `get_profile` first, optionally
  \`get_posts`, then `match_creators`.

Returns a ranked list of creators (id, platform, username, follower count, engagement
rate, top categories, evidence facts). Use the flat follower, engagement-rate, and
verified fields to constrain results when the user gives concrete numeric constraints.

Use `find_lookalike_creators` instead when you want creators SIMILAR to known ones.
Use `match_creators` when you want to SCORE specific creators against a brief.

Input parameters:

- `creator_kinds` (array): Optional creator kind filter. Omit for no creator-kind filter.
- `limit` (integer): Maximum results to return.
- `max_engagement_rate` (number): Maximum engagement rate as a percentage from 0 to 100.
- `max_followers` (integer): Maximum follower count.
- `min_engagement_rate` (number): Minimum engagement rate as a percentage from 0 to 100.
- `min_followers` (integer): Minimum follower count.
- `platforms` (array): Platforms to search. Omit for all.
- `query` (string, required): Natural-language semantic discovery query by topic, niche, audience, geography, or content style. Do not pass exact handles or usernames here; use get_profile, lookup_profiles, or autocomplete_creato…
- `verified` (boolean): When set, only return verified or unverified creators.

Output parameters:

- `count` (number)
- `data`
- `has_more` (boolean)
- `next_cursor`
- `not_found` (array)
- `ok` (boolean)
- `results` (array)
- `suggested_followups` (array)

### `autocomplete_creators` (~321 tokens)

Autocomplete creator names, usernames, or display names from partial input.

Use this for fast lookup when the user types a partial handle or name and you need to
resolve it to canonical creator IDs (e.g., "find @cris" or "who's that fitness coach
called Jane?"). Cheap and fast — prefer over `search_creators` for handle-style
queries where the user already knows roughly who they want.

Use `get_profile` instead when the user gives an exact platform+username pair. Use
\`search_creators` for the same fuzzy creator lookup behavior with a less typeahead-
specific name. Use `semantic_search_creators` only for discovery by topic, niche,
audience, geography, or content style, not for resolving a known creator.

Examples:
\- User: "Who is that fitness coach called Jane?" -> use this tool.
\- User: "Find @cris..." -> use this tool to resolve the partial handle.
\- User: "Pull @niickjackson on Instagram" -> use `get_profile`, not this tool.

Returns a short list of matching creators with their IDs, platforms, and display names.
Use the IDs returned here as input to `get_creator`, `find_lookalike_creators`, or
\`match_creators` for downstream operations.

Input parameters:

- `limit` (integer): Maximum results to return
- `platform`: Filter by platform
- `q` (string, required): Search query (min 2 characters)
- `scope` (string): Which platforms to include in results

Output parameters:

- `count` (number)
- `data`
- `has_more` (boolean)
- `next_cursor`
- `not_found` (array)
- `ok` (boolean)
- `results` (array)
- `suggested_followups` (array)

### `find_lookalike_creators` (~415 tokens)

Find creators SIMILAR to one or more seed creators.

Use this when the user already knows a creator they like and wants more like them
(e.g., "find creators like @therock", "find more creators like these three I just
booked"). Seeds are blended via creator-profile + visual-style + fact embeddings to
surface similar accounts.

Seeds are passed in `seed_creator_ids` (canonical UUIDs) and/or `seed_profiles`
(platform + username; resolve handles via `autocomplete_creators` first if needed).
Returns a ranked list of similar creators with scores. `limit` caps results
(default 25, max 100). Use the flat follower, engagement-rate, and verified fields
to constrain results.

Use `semantic_search_creators` instead when you have a topic/niche but no seed.
Use `match_creators` when you have specific candidates and want to score their fit
against a brief.

Examples:
\- User: "Find creators like @niickjackson on Instagram" -> use this tool with
  \`seed_profiles: [{ platform: "instagram", username: "niickjackson" }]`.
\- User: "Find news creators with 1M+ followers" -> use `semantic_search_creators`,
  not this tool.

Input parameters:

- `cursor` (string): Pagination cursor from a previous response.
- `limit` (integer): Maximum results to return.
- `max_engagement_rate` (number): Maximum engagement rate as a percentage from 0 to 100.
- `max_followers` (integer): Maximum follower count.
- `min_engagement_rate` (number): Minimum engagement rate as a percentage from 0 to 100.
- `min_followers` (integer): Minimum follower count.
- `seed_creator_ids` (array): Seed creators identified by canonical Influship creator UUID.
- `seed_profiles` (array): Seed creators identified by platform and username.
- `verified` (boolean): When set, only return verified or unverified creators.

Output parameters:

- `count` (number)
- `data`
- `has_more` (boolean)
- `next_cursor`
- `not_found` (array)
- `ok` (boolean)
- `results` (array)
- `suggested_followups` (array)

### `match_creators` (~348 tokens)

Score how well specific creators fit a campaign brief or search intent.

Use this when the user already has candidate creators in mind and wants to evaluate
fit (e.g., "rate these 5 creators for a vegan cookbook launch", "which of these is
the best match for my crypto audience?"). For each creator the API returns a match
score (0-1), a good/neutral/avoid decision, and structured reasons.

Pass candidates in `creator_ids` (canonical UUIDs) and/or `profiles`
(platform + username). `intent_query` is the brief the LLM reasons against;
\`intent_context` is optional extra context (target audience, brand values,
prior collabs).

Use `semantic_search_creators` when you don't have candidates yet and need topical
or niche discovery. Use `search_creators` first when you only need to resolve rough
creator names/handles into candidates.
Use `find_lookalike_creators` when you want creators similar to known good fits.

Examples:
\- User: "Is @niickjackson a fit for Pixel?" -> use this tool after resolving the
  exact Instagram profile with `get_profile`; call `get_posts` first if recent
  content context is needed.
\- User: "Rate these five creators for a vegan cookbook launch" -> use this tool.

Input parameters:

- `creator_ids` (array): Candidate creators identified by canonical Influship creator UUID.
- `intent_context` (string): Optional extra campaign context, audience, brand values, or prior collabs.
- `intent_query` (string, required): Campaign brief or matching intent.
- `profiles` (array): Candidate creators identified by platform and username.

Output parameters:

- `count` (number)
- `data`
- `has_more` (boolean)
- `next_cursor`
- `not_found` (array)
- `ok` (boolean)
- `results` (array)
- `suggested_followups` (array)

### `get_creator` (~344 tokens)

Fetch the full record for a single creator by ID or exact platform username.

Use this when you already have either:
\- a canonical creator UUID returned by `search_creators`,
  \`semantic_search_creators`, `autocomplete_creators`, or
  \`find_lookalike_creators`; or
\- an exact platform+username pair such as platform "instagram" and username
  "niickjackson".

Pass `include: ['profiles']` to also receive the creator's social profile
summaries when using a creator UUID. For platform+username inputs, this tool resolves
through the profile endpoint and returns the profile record plus the underlying creator
record, so you already get the matched profile context.

Examples:
\- User: "Get creator 123e4567-e89b-12d3-a456-426614174000" -> call with id.
\- User: "Get @niickjackson on Instagram" -> call with platform "instagram" and
  username "niickjackson", or use `get_profile` if profile metrics are the main need.
\- User: "Tell me about @niickjackson and include his profiles" -> use platform
  "instagram" and username "niickjackson"; then use `get_profile`/`get_posts` for
  platform-specific metrics and content if needed.

Use `lookup_profiles` for batch exact profile lookups.

Input parameters:

- `id` (string): Creator unique identifier
- `include` (array): Additional data to include in response
- `platform`: Social platform for the username.
- `username` (string): Platform username or handle without the @ sign.

Output parameters:

- `count` (number)
- `data`
- `has_more` (boolean)
- `next_cursor`
- `not_found` (array)
- `ok` (boolean)
- `results` (array)
- `suggested_followups` (array)

### `get_profile` (~282 tokens)

Fetch a single social profile by (platform, username).

Always use this first when the user gives an exact handle on a specific platform
(for example "@niickjackson on Instagram") and you need the full profile: bio,
follower/engagement metrics, recent activity, growth, and the canonical creator ID.
Pass exactly the username they typed without the @ sign — case-insensitive matching is
handled server-side. Do not use `search_creators` for an exact platform+username
lookup.

Examples:
\- User: "Pull @niickjackson on Instagram" -> use this tool with platform
  "instagram" and username "niickjackson".
\- User: "Tell me about instagram.com/niickjackson" -> parse the platform and
  username, then use this tool.
\- User: "Is @niickjackson a fit for Pixel?" -> use this tool first, then call
  \`get_posts` and/or `match_creators` if the task needs content or fit analysis.

Returns the profile record plus the underlying creator record. If you already have a
creator UUID, use `get_creator` instead. For batch lookups by handle, use
\`lookup_profiles`.

Input parameters:

- `platform` (required): Social platform for the username.
- `username` (string, required): Platform username or handle without the @ sign.

Output parameters:

- `count` (number)
- `data`
- `has_more` (boolean)
- `next_cursor`
- `not_found` (array)
- `ok` (boolean)
- `results` (array)
- `suggested_followups` (array)

### `lookup_profiles` (~304 tokens)

Batch-fetch up to 100 profiles by (platform, username) pairs.

Use this when the user has a list of handles and you need profile data for all of
them at once (e.g., "give me follower counts for these 30 accounts I'm considering"
or "which of @a @b @c are real accounts?"). One round-trip beats 30 calls to
\`get_profile`.

Use this for exact batch handle lookup, not semantic discovery. For one exact
platform+username pair, use `get_profile`. For partial or fuzzy handle/name input,
use `search_creators` or `autocomplete_creators`. Use
\`semantic_search_creators` only for topical/niche/audience discovery where
false-positive semantic matches are acceptable.

Examples:
\- User: "Compare @a, @b, and @c on Instagram" -> use this tool for the exact
  handle batch.
\- User: "Give me follower counts for these 30 accounts" -> use this tool.
\- User: "Find wellness creators in Austin" -> use `semantic_search_creators`, not
  this tool.

The response splits results into `data` (profiles found) and `not_found` (the
(platform, username) pairs that weren't recognized). Profiles are returned in no
particular order — re-correlate via the platform/username fields if you need to
preserve input order.

Input parameters:

- `profiles` (array, required): Profiles to lookup

Output parameters:

- `count` (number)
- `data`
- `has_more` (boolean)
- `next_cursor`
- `not_found` (array)
- `ok` (boolean)
- `results` (array)
- `suggested_followups` (array)

### `get_posts` (~371 tokens)

Fetch a creator's posts, sorted and paginated.

Use this when the user asks to see what a creator has posted (e.g., "show me Jane's
last 20 posts", "what are this creator's top-engagement reels?", "pull recent posts
from creator-id ABC"). Identify the creator by either `creator_id` (UUID) OR
(`platform` + `username`).

\`sort` defaults to "recent" (newest first); use "top_engagement" for the highest-
engagement posts, or one of "most_likes" / "most_views" / "most_comments" for a
specific metric. `limit` defaults to 12 and is capped at 50. Pass `cursor` from a
previous response's `next_cursor` to paginate.

Returns post records (caption, media URL, like/comment/view counts, timestamps),
plus `has_more` and `next_cursor` for pagination.

Examples:
\- User: "Show @niickjackson's recent Instagram posts" -> use this tool with
  platform "instagram" and username "niickjackson".
\- User: "Is @niickjackson a fit for Pixel?" -> use this after `get_profile` when
  the fit analysis needs recent content evidence, then call `match_creators`.

Input parameters:

- `creator_id` (string): Creator ID (use this OR platform+username)
- `cursor` (string): Opaque keyset cursor from next_cursor. A cursor is bound to the sort order that produced it; using it with another sort returns 400.
- `limit` (integer): Maximum posts to return
- `platform`: Platform (required with username)
- `sort`: Sort order
- `username` (string): Username (required with platform)

Output parameters:

- `count` (number)
- `data`
- `has_more` (boolean)
- `next_cursor`
- `not_found` (array)
- `ok` (boolean)
- `results` (array)
- `suggested_followups` (array)

### `get_instagram_post` (~96 tokens)

Fetch raw Instagram post-page data by shortcode.

Use this when the user needs fresh raw Instagram post metadata that is not
guaranteed on regular cached post-list endpoints yet, including coauthors,
tagged users, paid partnership metadata, product mentions, music attribution,
location, display resources, and video versions.

Input parameters:

- `shortcode` (string, required): Instagram post shortcode from a /p/, /reel/, or /tv/ URL

Output parameters:

- `count` (number)
- `data`
- `has_more` (boolean)
- `next_cursor`
- `not_found` (array)
- `ok` (boolean)
- `results` (array)
- `suggested_followups` (array)

### `get_instagram_posts` (~79 tokens)

Fetch raw Instagram post-page data for a bounded list of shortcodes through the raw API. Transient upstream recovery is handled automatically within the request deadline.

Returns one item per requested shortcode with per-item success or error details.

Input parameters:

- `shortcodes` (array, required): Instagram post shortcodes from /p/, /reel/, or /tv/ URLs

Output parameters:

- `count` (number)
- `data`
- `has_more` (boolean)
- `next_cursor`
- `not_found` (array)
- `ok` (boolean)
- `results` (array)
- `suggested_followups` (array)

### `get_instagram_post_transcript` (~107 tokens)

Transcribe an Instagram video post by shortcode through the raw API.

The response includes raw post metadata on a transcript cache miss. A cache hit
omits the post field; use `get_instagram_post` when you need post metadata with
a cached transcript.

Input parameters:

- `language` (string): Optional transcript language code. Omit to auto-detect.
- `shortcode` (string, required): Instagram post shortcode from a /p/, /reel/, or /tv/ URL

Output parameters:

- `count` (number)
- `data`
- `has_more` (boolean)
- `next_cursor`
- `not_found` (array)
- `ok` (boolean)
- `results` (array)
- `suggested_followups` (array)

### `get_instagram_post_transcripts` (~113 tokens)

Transcribe a bounded list of Instagram video posts by shortcode through the raw API.

Each successful item includes transcript data. The nested post field is present
on cache misses and omitted on cache hits; use `get_instagram_posts` when you
also need post metadata for every shortcode.

Input parameters:

- `language` (string): Optional transcript language code. Omit to auto-detect.
- `shortcodes` (array, required): Instagram video post shortcodes from /p/, /reel/, or /tv/ URLs

Output parameters:

- `count` (number)
- `data`
- `has_more` (boolean)
- `next_cursor`
- `not_found` (array)
- `ok` (boolean)
- `results` (array)
- `suggested_followups` (array)

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/influship-influship-mcp/mcp#diagnostics

## Score history

- 2026-08-03: 77
- 2026-08-02: 76
- 2026-08-01: 76
- 2026-07-31: 76
- 2026-07-30: 72
- 2026-07-29: 71
- 2026-07-28: 71
- 2026-07-27: 70
- 2026-07-26: 69

## Links

- Remote endpoint: https://mcp.influship.com/mcp
- Authorisation metadata: https://mcp.influship.com/.well-known/oauth-protected-resource/mcp
- Repository: https://github.com/Influship/influship-mcp
- Website: https://docs.influship.com/guides/mcp-server
- Changelog RSS feed: https://verifymcp.io/servers/influship-influship-mcp/mcp/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/influship-influship-mcp/mcp/changelog.json
- HTML version of this page: https://verifymcp.io/servers/influship-influship-mcp/mcp
