Connect Vira to your AI agent
Overview
Vira MCP gives your AI agent Vira data under your plan. Available through MCP now: TikTok search data — what people search, how fast topics grow, who searches and how many creators already cover them. Connect with Google sign-in or an API key. Free and Pro reach the same tools; Pro gets full depth. Read-only.
Server URL
https://mcp-dev.tryvira.app/mcpThe same for everyone. Your account is chosen by your Google sign-in or by your API key.
Connect in 5 minutes
- 1
Sign in to Vira with Google. The agent uses the same account and plan.
- 2
Pick your client below and run or paste the line.
- 3
A browser window opens: choose the same Google account and allow access.
- 4
Ask: "What's growing on TikTok this week that few creators cover?" A successful answer ends with a quota line.
Clients
Choose your client
Create a key in API keys below, then run the command in a terminal. The key travels in a header, so no browser sign-in is needed.
Run in a terminal
claude mcp add --transport http vira https://mcp-dev.tryvira.app/mcp --header "x-api-key: <VIRA_API_KEY>"
Replace <VIRA_API_KEY> with your key. Create a key
Or add to .mcp.json by hand
{
"mcpServers": {
"vira": {
"type": "http",
"url": "https://mcp-dev.tryvira.app/mcp",
"headers": {
"x-api-key": "${VIRA_API_KEY}"
}
}
}
}Check the connection
Run claude mcp list: vira should be connected. In a session, /mcp shows its tools.
The prompt asks your AI agent to set itself up. It has a placeholder instead of your key: paste the key only into the client config, never into a chat.
Tools
You don't call tools by hand — ask in plain words and the agent picks them. Names are here to read the agent's log.
| Tools | On Free |
|---|---|
tiktok_find_content_opportunitiesGrowing topics with few creators — the main "what to film" tool | 7-day window, first page |
tiktok_list_trending_topicsTop growing topics for a period | 7-day window, first page |
tiktok_search_topicsFind topics by keyword or category | First page only |
tiktok_search_demandSearch what viewers look for — a text search over demand (an LLM reading, can be wrong) | First page, first angle only, shares the demand ceiling |
tiktok_list_new_topicsTopics that appeared recently | Shifted by 24 h |
tiktok_get_topicTopic card: popularity, trend, creators | 7-day window, top audience segment, top country, one video |
tiktok_get_topicsCompact summary of up to 10 topics in one call | Numbers and data flags; no viewer-demand sentence |
tiktok_get_related_topicsNeighbouring niches: the topics TikTok links to a topic | First 10 neighbours |
tiktok_find_risingRising topics with an honest growth and trust flags | Global, first page of 10, no fast growth or breaking topics; shared daily ceiling |
tiktok_topic_profileShape of a topic's demand and whether it is still alive | 3 topics, no weekly medians; shared daily ceiling |
tiktok_topic_familySize of a niche by word root | 2 roots, top 3 per root; shared daily ceiling |
tiktok_fresh_topicsFresh viral topics born in the last days, before any growth exists | Window ends 24 h ago, up to 7 days, first page; shared daily ceiling |
tiktok_list_topic_videosCompetitor videos ranking in a topic | Top 3, daily ceiling |
tiktok_get_audience_demandWhat viewers search inside a topic | One angle of five, daily ceiling |
tiktok_get_content_playbookHook, titles, hashtags and a scene-by-scene script | Hook, titles and top hashtags; no music and scenes; daily ceiling |
tiktok_list_categoriesCategories in the data | Full answer |
tiktok_get_dataset_overviewHow fresh and complete the data is | Full answer |
get_my_quotaYour plan, what is left of each daily budget and the reset time. Free of charge | Full answer |
Examples
You ask
What's growing on TikTok this week that few creators cover?
The agent calls
tiktok_find_content_opportunities({ "days": 7 })Vira answers (shortened)
Opportunities · window 7d vs previous 7d · region global id | topic | category | popularity | creators | growth | score … | … | … | … | … | … | … quota: …
You ask
How much can I still use today?
The agent calls
get_my_quota({})Vira answers (shortened)
plan: free tiktok: … of … left … resets at: …
You ask
Write me a script for this topic (on Free)
The agent calls
tiktok_get_content_playbook({ "query_id": "…" })Vira answers (shortened)
Hook: … Titles: … Hashtags: #… #… #… free plan: music and scene-by-scene script omitted, hashtags cut to 3. Full answer on Vira Pro: … quota: …
Plans and limits
Daily request limits take effect when MCP quotas launch. Until then no numbers here are final; exact ones will be published at launch.
Limits are daily budgets per UTC day; counters reset at 00:00 UTC. A successful answer ends with a "quota:" line; errors carry their own code. get_my_quota shows every budget, costs nothing and works after a budget is used up. The plan refreshes within 5 minutes after you upgrade.
Exact numbers for your account: ask the agent to call get_my_quota.
Errors
401 / "invalid_token" / the client asks to sign in again
Sign-in expired. Claude Code: /mcp → vira → Authenticate. Others: remove the server and add it again.
You pay for Pro, but the agent says free
1) Sign-in used another Google account: remove the server, add it again and sign in with the account you use on Vira. 2) The plan refreshes within 5 minutes after payment. 3) Still free after that — write to us.
Telegram ChannelThe answer has a "free plan: …" line
Not an error: on Free the answer is shortened and the line says what was cut. Pro returns the full answer.
QUOTA_EXCEEDED
The daily budget of this source is used up. It resets at 00:00 UTC. get_my_quota shows what is left.
DAILY_TOOL_LIMIT
This tool's daily ceiling is reached; other tools still work. Resets at 00:00 UTC.
DATA_UNAVAILABLE
The data for this topic is still being collected. Try another topic or later. The call is not counted.
NOT_FOUND
No such topic. Ask the agent to find it with search first.
INVALID_CURSOR
The agent sent an old page cursor. Ask it to repeat the search from the start.
The client shows no Vira tools
Check the URL ends with /mcp, restart the client and finish the browser sign-in. ChatGPT needs a plan with custom connectors.
INTERNAL_ERROR
Our side failed. Retry in a minute; if it repeats, write to us in Telegram.
Telegram ChannelData and access
Access is read-only (scope csi:read). The server stores your email, Google account id and daily request counters — nothing from your chats. To stop a client, use "Disconnect on this device" for it: the client deletes the server and its tokens. Vira can't cancel a token that was already issued: an access token stays valid for up to 60 min after it was issued, even after you disconnect.