mcp-tiktok-brand-presence-mapper
TikTok Brand Presence Mapper MCP Server
MCP-сервер для актора TikTok Brand Presence Mapper от Mamba Labs на Apify.
Разрешает TikTok-хэндл или домен компании в брендовый аккаунт с количеством подписчиков, лайков и видео.
Что он делает
Разрешает TikTok-хэндл или домен компании в официальный TikTok-аккаунт этого бренда. Возвращает количество подписчиков, подписок, лайков и видео, статус верификации, отображаемое имя, био и исходящую ссылку из био аккаунта — одной плоской строкой, готовой для Clay. Счётчики выше примерно десяти тысяч округляются TikTok, и строка это помечает. Предполагаемый аккаунт, не прошедший проверку личности, сообщается как identity_mismatch без счётчиков, а не возвращается как аккаунт компании. Только чтение; требует APIFY_TOKEN и расходует кредиты Apify за каждый вызов.
Related MCP server: Company Identity Resolver MCP Server
Быстрый старт
Добавьте это в конфигурацию вашего MCP-клиента:
{
"mcpServers": {
"mamba-tiktok-brand-presence-mapper": {
"command": "npx",
"args": ["-y", "@mambalabsdev/mcp-tiktok-brand-presence-mapper"],
"env": { "APIFY_TOKEN": "your-apify-token" }
}
}
}Предварительные требования
Node.js 18 или новее
API-токен Apify с console.apify.com/account/integrations
Актор оплачивается за событие и расходует кредиты Apify за каждый вызов. Цены указаны на странице актора.
Примеры запросов
«Сколько подписчиков в TikTok у Gymshark?»
«Найди TikTok-аккаунт для allbirds.com и скажи, верифицирован ли он».
«Проверь, есть ли у patagonia.com вообще присутствие в TikTok».
Инструмент и входные данные
Инструмент: map_tiktok_brand_presence
Входные данные | Тип | Значение |
| string | TikTok-хэндл, с ведущим @ или без, например shopify. Это ОСНОВНОЙ вход: только 4 из 14 B2B-домашних страниц объявляют ссылку на TikTok, поэтому |
| string | Голый домен компании, например shopify.com. Используется для ПОИСКА хэндла, когда у вас его нет, и для проверки личности хэндла, который угадало обнаружение. |
| string | Необязательно. Улучшает точность поиска и является тем, что проверяет шлюз идентичности для обнаруженного аккаунта. |
| boolean | Если «true» (по умолчанию), страница профиля загружается и извлекаются счётчики. Установите «false», чтобы разрешить только URL профиля, что дешевле и не требует |
| boolean | Если «false» (по умолчанию), успешный поиск кэшируется на семь дней и используется повторно. Установите «true», чтобы принудительно выполнить новый запрос. Отправляется как строка для совместимости с Clay. |
| boolean | TikTok отвечает на большинство запросов через дешёвую маршрутизацию дата-центров и блокирует меньшинство страницей обнаружения ботов. Если «true» (по умолчанию), заблокированный запрос повторяется |
Чтение результата
Каждая строка несёт поле _status для каждой платформы, и это поле следует читать
в первую очередь. Словарь одинаков во всём семействе социальных акторов Mamba Labs:
Статус | Значение |
| получено и обработано, значение есть |
| мы искали и такого профиля нет |
| профиль существует, но значение недоступно нам в данных |
| платформа отказала нам, стоит повторить позже |
| мы нашли реальный профиль, но он принадлежит кому-то другому |
| вы не запрашивали эту платформу |
false и null никогда не взаимозаменяемы. false означает, что мы искали и ответ — нет. null означает, что мы не смогли искать. Если вы фильтруете компании без присутствия, фильтруйте по false, потому что строки null — это неизвестность, а не отсутствие.
Полная документация актора
apify.com/mambalabs/tiktok-brand-presence-mapper
Mamba Labs GTM Suite
Mamba Labs создаёт флот акторов GTM-обогащения, которые используют единую плоскую конвенцию вывода, готовую для Clay, поэтому их строки объединяются по company_domain без этапа очистки. Полный флот: apify.com/mambalabs
Лицензия
MIT
Available Tools
1 toolmap_tiktok_brand_presenceMap TikTok Brand PresenceARead-onlyIdempotent
Resolve a TikTok handle, or a company domain, to that brand's official TikTok account. Returns follower, following, like and video counts, verification status, display name, bio and the account's outbound bio link, as one flat Clay ready row. Counts above roughly ten thousand are rounded by TikTok and the row flags that. A guessed account that fails the identity check is reported as identity_mismatch with no counts rather than being returned as the company's. Read only; requires an APIFY_TOKEN and consumes Apify credits per call.
| Name | Required | Description | Default |
|---|---|---|---|
| handle | No | The TikTok handle, with or without the leading @, for example shopify. This is the PRIMARY input: only 4 of 14 B2B homepages declare a TikTok link, so supplying the handle is both cheaper and far more reliable than asking the actor to find it. | |
| skipCache | No | When "false" (default) a successful lookup is cached for seven days and reused. Set "true" to force a fresh fetch. Sent as a string for Clay compatibility. | |
| company_name | No | Optional. Improves search accuracy and is what the identity gate checks a discovered account against. | |
| company_domain | No | Bare company domain, for example shopify.com. Used to FIND the handle when you do not have one, and to identity check a handle that discovery guessed. Supplying both is the best case. | |
| escalateOnBlock | No | TikTok answers most requests over cheap datacenter routing and blocks a minority with a bot detection page. When "true" (default) a blocked fetch is retried once over residential, which recovers most of them at a higher cost per recovered row. Set "false" to accept the block and return status blocked. Sent as a string for Clay compatibility. | |
| includeFollowerCounts | No | When "true" (default) the profile page is fetched and the counts are extracted. Set "false" to resolve the profile URL only, which is cheaper and needs no proxy. Sent as a string for Clay compatibility. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds meaningful behavioral disclosures beyond the annotations: TikTok rounds counts above roughly ten thousand and the row flags that; a failed identity check surfaces as identity_mismatch with zero counts rather than silently returning bad data; the escalateOnBlock retry semantic reveals the tool can transition to residential routing. It also names upstream behavior ('TikTok answers most requests over cheap datacenter routing') that contextualizes the blocked status. The 'Read only' claim is consistent with readOnlyHint=true; no contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
At roughly 105 words, the main description is dense but every clause earns its place: intent, output shape, rounding caveat, identity-failure semantics, and cost warning all load in sequence. It front-loads the core action before edge cases. A half-point off for the CSV-like return field list ('follower, following, like and video counts...') which could be trimmed, but that is minor — structure fidelity is high and the most important behavioral caveat (rounding) comes early.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation-adjacent tool with six parameters, zero required, no output schema, and no siblings, the description covers all the bases: it explains the return payload (counts, verification, bio, link), the two error/edge statuses (identity_mismatch, blocked), the rounding edge case, the read-only safety profile, and the cost implication. With no output schema present, the description's inventory of returned fields is what makes the tool callable without a single round-trip to the API. The only trivia an agent can't know is the exact JSON shape of the row — immaterial when Clay is the sink.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline of 3 applies. The parameter descriptions themselves are exemplary — they explain tone (skipCache serialized as a string for Clay), priming (handle is PRIMARY), and failure modes (blocked on escalation). However, the main description itself adds no parameter-level meaning; it focuses on return shape and error states. No deduction needed, but also no bonus: the description correctly leaves the parameter documentation to the schema where it already exists at full coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb+resource pairing — "Resolve a TikTok handle, or a company domain, to that brand's official TikTok account" — and immediately enumerates the exact deliverable fields (follower counts, verification status, bio, outbound link). It goes far beyond a restatement of the tool name, and the identity-mismatch sentence further disambiguates what the tool is (an identity-verified resolver, not a fuzzy lookup). Even without sibling tools to distinguish from, nothing about the core purpose is left to inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description supplies clear operational context: it is read-only, requires an APIFY_TOKEN, and consumes credits per call. The parameter docs add routing guidance about preferring handle over domain discovery ("only 4 of 14 B2B homepages declare a TikTok link") and when to flip escalateOnBlock or includeFollowerCounts. It lacks an explicit 'use alternative X instead' statement, but with no siblings that exclusion is legally unnecessary; a small deduction for the cost/intent guidance being spread across parameters rather than fronted in the main body.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
v1.0.0- First observed
map_tiktok_brand_presence
TDQS
Scored across 1 tool
With only a single tool, there is no possibility of overlap or confusion between different operations.
The tool name 'map_tiktok_brand_presence' is clear, descriptive, and follows a consistent verb_noun pattern; no inconsistency issues with a single tool.
Having only one tool makes the surface feel thin for a server that ostensibly aims to map brand presence on TikTok, though it might be acceptable if the scope is extremely narrow. It falls into the borderline category.
The tool only resolves a single brand to its TikTok account and returns basic stats. There are significant gaps—no search, listing, comparison, or update capabilities—which would force agents to rely on external workarounds for related tasks.
Maintenance
Related MCP Connectors
TikTok profiles (followers, bio) and per-video stats by handle or URL. No login. Pay per result.
Public TikTok profiles, videos, comments and keyword search as JSON. No developer account.
Get social media data from Instagram and TikTok: profiles, posts, videos, comments, and more.
TikTok search demand, videos, creators, comments and captions for AI agents. OAuth or API key.
Related MCP Servers
- AlicenseAqualityDmaintenanceChecks username availability and retrieves account information across major social media platforms including YouTube, TikTok, Threads, X (Twitter), and Instagram, perfect for brand name qualification and competitive research.4269 npmMIT
- AlicenseAqualityAmaintenanceResolves any combination of company name, domain, or LinkedIn URL into the canonical company identity (name, domain, LinkedIn URL) with confidence scores and match method.145 npmMIT
- AlicenseAqualityBmaintenanceEnables resolving a company domain to its Instagram, Threads, and Facebook accounts with follower and post counts.119 npmMIT
- AlicenseAqualityBmaintenanceResolves company domains to their LinkedIn pages, providing exact follower counts and public firmographics such as industry, company size band, headquarters, founded year, and specialties.122 npmMIT