v0.1.0

Algrow MCP Server

Connect Algrow's YouTube intelligence to Cursor, Claude, VS Code, Windsurf, and any MCP-compatible client. Search channels, find viral videos, scrape data, and generate TTS — all through natural conversation.

Active subscription required. Channel search, scraping, and data endpoints are available on all plans. Text-to-speech and voice endpoints require a Professional or Ultimate plan. Go to Settings to manage your subscription.

Setup

Pick your platform and copy the config. The remote server requires no installation — just paste the config and restart.

Step 1 — Open MCP settings

Open Cursor → SettingsMCP+ Add new MCP server

Step 2 — Paste this config
{ "mcpServers": { "algrow": { "url": "https://mcp.algrow.online/mcp", "headers": { "Authorization": "Bearer your-api-key-here" } } } }
No installation needed. This connects directly to Algrow's hosted MCP server. Just paste, replace your API key, and restart Cursor.
Step 1 — Open Connectors settings

Go to claude.aiSettingsConnectorsAdd custom connector

Step 2 — Enter these details
Name: Algrow
Server URL: https://mcp.algrow.online/mcp
Client ID: algrow_mcp_claude
Client Secret: zoJFY044Ih2GKhkf3ae25DwFqupsjoPS54Ic0A3ZAaZEsR7I4EAftEncqCIHLN-7
Step 3 — Authorize your account

After adding the connector, Claude will redirect you to sign in with your Algrow account. Click Approve to connect.

No API key needed. Claude.ai uses OAuth to connect directly to your Algrow account. Works on web and mobile — your tools sync across all devices.
Installation Demo
Step 1 — Enable Developer Mode

Go to chatgpt.comSettingsAppsAdvanced settings → toggle on Developer mode

Requires a ChatGPT Plus, Pro, Business, or Enterprise plan.
Step 2 — Add custom tool

Go to SettingsAppsCreate App

Step 3 — Enter these details
Name: Algrow
MCP Server URL: https://mcp.algrow.online/mcp
Authentication: OAuth
Step 4 — Confirm and authorize

Tick "I understand and want to continue", then click Create. ChatGPT will auto-discover the OAuth settings — no Client ID or secret needed.

When you first use an Algrow tool, ChatGPT will redirect you to sign in with your Algrow account. Click Approve to connect.

No API key needed. ChatGPT uses OAuth to connect directly to your Algrow account. You can use the same Algrow account across both ChatGPT and Claude — each gets its own connection.
Run this command in your terminal
claude mcp add algrow --transport http https://mcp.algrow.online/mcp --header "Authorization: Bearer your-api-key-here"
That's it. Claude Code will connect to Algrow automatically. Run /mcp to verify the server is connected.
Step 1 — Open MCP settings

Open VS Code → Ctrl+Shift+P (or Cmd+Shift+P) → type "MCP: Add Server"

Step 2 — Or add to .vscode/mcp.json in your project
{ "servers": { "algrow": { "type": "http", "url": "https://mcp.algrow.online/mcp", "headers": { "Authorization": "Bearer your-api-key-here" } } } }
Requires GitHub Copilot. MCP support in VS Code works through GitHub Copilot's agent mode. Make sure you have the Copilot extension installed and updated.
Add to your Windsurf MCP config

Open Windsurf → SettingsMCPAdd Server, or edit the config file directly:

{ "mcpServers": { "algrow": { "serverUrl": "https://mcp.algrow.online/mcp", "headers": { "Authorization": "Bearer your-api-key-here" } } } }
Config file location:
• macOS / Linux: ~/.codeium/windsurf/mcp_config.json
• Windows: %USERPROFILE%\.codeium\windsurf\mcp_config.json

After saving, restart Windsurf.
Step 1 — Open your Codex config

Open or create ~/.codex/config.toml (or .codex/config.toml in your project root)

Step 2 — Add the Algrow MCP server
[mcp_servers.algrow] url = "https://mcp.algrow.online/mcp" http_headers = { "Authorization" = "Bearer your-api-key-here" }
No installation needed. Codex connects directly via Streamable HTTP. After saving, restart Codex to connect.
Generic MCP configuration

Any MCP-compatible client can connect using the Streamable HTTP endpoint:

Server URL: https://mcp.algrow.online/mcp Transport: Streamable HTTP Auth header: Authorization: Bearer your-api-key-here
Works with any MCP client that supports Streamable HTTP transport — including Cline, Continue, Zed, Amazon Q Developer, and others. Check your client's docs for where to add MCP server configurations.
Replace your-api-key-here with your actual API key from Settings. After configuring, restart your client to connect.

What is MCP?

The Model Context Protocol (MCP) lets AI assistants use external tools. The Algrow MCP server gives your AI assistant direct access to Algrow's YouTube intelligence — search channels, find viral videos, scrape YouTube data, and generate TTS audio through natural conversation.

1

Get your API key

Grab your key from Settings

2

Pick your platform

Add the config to Cursor, Claude, VS Code, or Windsurf

3

Start asking

"Find me roblox Shorts channels under 50k subs growing fast"


Channel Search

Search Algrow's database of YouTube Shorts and Longform channels with similarity search, keyword matching, and advanced filters.

TOOL search_shorts_channels

Search Shorts channels with similarity search, keyword matching, and advanced filters. Returns channel metadata, growth metrics, and recent videos.

Example prompt
"Search for 'roblox' Shorts channels in English under 50k subs that gained over 100k views in the last 24 hours"
ParameterTypeDefaultDescription
qstringrequiredSearch query. Accepts a channel ID, @handle, channel URL, a video URL (e.g. https://youtube.com/shorts/..., https://youtu.be/...), or topic keywords. Comma-separated for multiple, prefix with - to exclude.
sortstringnullSort: {field}_{asc|desc}. Fields: subs, views, videos, age, added, views_24h, subs_24h, views_48h, similarity. Defaults to similarity when searching.
pageinteger1Page number (1-indexed, max 20)
min_subsintegernullMinimum subscriber count
max_subsintegernullMaximum subscriber count
min_avg_viewsintegernullMinimum average views per video
max_avg_viewsintegernullMaximum average views per video
min_ageintegernullMinimum channel age in days since first upload
max_ageintegernullMaximum channel age in days since first upload
min_uploadsintegernullMinimum number of videos
max_uploadsintegernullMaximum number of videos
min_viewsintegernullMinimum total view count
max_viewsintegernullMaximum total view count
min_views_24hintegernullMinimum views gained in last 24 hours
max_views_24hintegernullMaximum views gained in last 24 hours
min_views_48hintegernullMinimum views gained in last 48 hours
max_views_48hintegernullMaximum views gained in last 48 hours
min_days_addedintegernullMinimum days since channel was added to Algrow's database (NOT channel age)
max_days_addedintegernullMaximum days since channel was added to Algrow's database (NOT channel age)
TOOL search_longform_channels

Search Longform channels with similarity search, keyword matching, and advanced filters. Returns channel metadata, growth metrics, monetization status, and recent videos with duration.

Example prompt
"Search for 'top 10 unsolved mysteries' monetized English longform channels under 100k subs with at least 10k average views, sorted by newest"
ParameterTypeDefaultDescription
qstringrequiredSearch query. Accepts a channel ID, @handle, channel URL, a video URL (e.g. https://youtube.com/shorts/..., https://youtu.be/...), or topic keywords. Comma-separated for multiple, prefix with - to exclude.
sortstringnullSort: {field}_{asc|desc}. Fields: subs, views, videos, age, total_views, added, views_24h, subs_24h, views_48h, similarity. Defaults to similarity when searching.
pageinteger1Page number (1-indexed, max 20)
min_subsintegernullMinimum subscriber count
max_subsintegernullMaximum subscriber count
min_avg_viewsintegernullMinimum average views per video
max_avg_viewsintegernullMaximum average views per video
min_ageintegernullMinimum channel age in days since first upload
max_ageintegernullMaximum channel age in days since first upload
min_uploadsintegernullMinimum number of videos
max_uploadsintegernullMaximum number of videos
min_durationintegernullMinimum average video duration in seconds
max_durationintegernullMaximum average video duration in seconds
monetizedstringnullFilter by monetization: yes or no
min_views_24hintegernullMinimum views gained in last 24 hours
max_views_24hintegernullMaximum views gained in last 24 hours
min_views_48hintegernullMinimum views gained in last 48 hours
max_views_48hintegernullMaximum views gained in last 48 hours
min_days_addedintegernullMinimum days since channel was added to Algrow's database (NOT channel age)
max_days_addedintegernullMaximum days since channel was added to Algrow's database (NOT channel age)

Channel Data

Look up rich metadata for any YouTube channel by ID. If you only have a @handle or URL, call resolve_handle or resolve_url first.

TOOL get_channel_about

Pull everything from a channel's About page in one call — name, description, subscriber and view counts, country, language, join date, topics, social links, trailer, banner, and more.

Example prompt
"Give me the full About page for The Geo Network"
ParameterTypeDefaultDescription
channel_idstringrequired24-char YouTube channel ID (starts with UC).
TOOL get_channel_daily_analytics

See how a channel has grown day-by-day across any date range you pick — subscribers, views, and uploads, plus a summary with total growth over the window.

Example prompt
"How many subs did The Geo Network gain in the last 30 days?"
ParameterTypeDefaultDescription
channel_idstringrequired24-char YouTube channel ID.
start_datestring30 days agoISO YYYY-MM-DD.
end_datestringtodayISO YYYY-MM-DD. Max window 365 days.
TOOL get_channel_videos

Browse a channel's longform uploads, newest first — with titles, view counts, durations, upload dates, and thumbnails.

Example prompt
"Show me the 20 most recent longform videos from MrBeast"
ParameterTypeDefaultDescription
channel_idstringrequired24-char YouTube channel ID.
limitinteger30Max videos (1–100).
TOOL get_channel_shorts

Browse a channel's Shorts, newest first — the real Shorts tab, not short-duration regular videos.

Example prompt
"What are the recent Shorts from this channel?"
ParameterTypeDefaultDescription
channel_idstringrequired24-char YouTube channel ID.
limitinteger30Max shorts (1–100).
TOOL get_channel_playlists

See every public playlist on a channel — title, description, video count, and thumbnail for each. Paginates in batches of 50.

Example prompt
"Show me every playlist this channel has"
ParameterTypeDefaultDescription
channel_idstringrequired24-char YouTube channel ID.
page_tokenstringnullPass next_page_token from a previous response for subsequent pages.

Terminated Channels

TOOL search_terminated_channels

Search terminated/deleted YouTube channels. Returns channel metadata, growth metrics at time of termination, and top videos. Available on all plans.

Example prompt
"Search for terminated 'roblox' channels that had over 100k subscribers"
ParameterTypeDefaultDescription
qstringrequiredSearch query. Matches channel titles and video titles. Comma-separated for multiple keywords.
languagesstringnullFilter by language. Comma-separated.
sortstringdate_descSort: {field}_{asc|desc}. Fields: subs, views, videos, age, views_24h, subs_24h, views_48h, date, similarity
pageinteger1Page number (1-indexed, max 20)
per_pageinteger50Results per page (max 50)
min_subsintegernullMinimum subscriber count
max_subsintegernullMaximum subscriber count
min_viewsintegernullMinimum total view count
max_viewsintegernullMaximum total view count
min_avg_viewsintegernullMinimum average views per video
max_avg_viewsintegernullMaximum average views per video
min_ageintegernullMinimum channel age in days
max_ageintegernullMaximum channel age in days
min_uploadsintegernullMinimum number of videos
max_uploadsintegernullMaximum number of videos
monetizedstringnullFilter by monetization: yes or no

Viral Videos

TOOL search_viral_videos

Find viral videos — by similarity to a query/video, or by pure filters. Three modes: (1) pass search for a topic/channel query, (2) pass video_url to find similar videos, (3) omit both and browse by filters alone (e.g. “biggest outliers from the last 7 days with 100k+ views”). To check if specific channels have viral videos, pass their channel_ids from a prior search. Filter by video views, channel size, growth metrics, upload recency, language, and outlier score (a video's views ÷ its channel's average views per video — e.g. 3.2 means the video got 3.2× the channel's typical views). Each result includes an outlier_score field; sort by outlier_score to surface the biggest over-performers.

Example prompt
"Find viral Shorts videos about cooking uploaded in the last 7 days with over 1 million views"
ParameterTypeDefaultDescription
searchstringnullText search query — uses title similarity matching. Pass exact video titles, not paraphrased keywords. Optional — omit along with video_url to browse by filters alone.
video_urlstringnullYouTube video URL (watch, shorts, or youtu.be link). Finds similar videos based on the given video. Optional.
content_typestringshortsContent type: shorts or longform
channel_idsstringnullComma-separated channel IDs to filter by (e.g. from a prior search_shorts_channels result). When provided, only returns viral videos from these specific channels.
languagesstringEnglishFilter by language. Comma-separated.
sort_bystringsimilaritySort: similarity (default, best for finding most relevant videos — requires search or video_url; auto-swaps to outlier_score for pure-filter browsing), views (most viewed), recent (newest fetched), upload_date (newest uploaded), outlier_score (biggest over-performers — views vs channel average)
pageinteger1Page number (1-indexed, max 20)
per_pageinteger50Results per page (max 50)
min_video_viewsinteger25000Minimum video view count. Default matches the system's natural floor.
max_video_viewsintegernullMaximum video view count
min_subsintegernullMinimum channel subscriber count
max_subsintegernullMaximum channel subscriber count
min_uploadsintegernullMinimum channel video count
max_uploadsintegernullMaximum channel video count
min_channel_ageintegernullMinimum channel age in days
max_channel_ageintegernullMaximum channel age in days
uploaded_within_daysintegernullOnly include videos uploaded within this many days. E.g. 7 = last week, 30 = last month.
uploaded_before_daysintegernullExclude videos newer than this many days ago. E.g. 7 = only show videos older than 1 week.
min_durationintegernullMinimum video duration in seconds (longform only)
max_durationintegernullMaximum video duration in seconds (longform only)
min_views_24hintegernullMinimum channel views gained in last 24h (shorts only)
max_views_24hintegernullMaximum channel views gained in last 24h (shorts only)
min_views_48hintegernullMinimum channel views gained in last 48h (shorts only)
max_views_48hintegernullMaximum channel views gained in last 48h (shorts only)
min_outlier_scorefloatnullMinimum outlier score. A video's outlier_score = its view count ÷ its channel's average views per video, so 2.5 means “video got 2.5× the channel's typical views.” Use this to surface videos over-performing their channel.
max_outlier_scorefloatnullMaximum outlier score. Rarely needed — usually pair with min_outlier_score.
min_similarityintegernullMinimum similarity score (0–100). Only return videos with at least this similarity %. E.g. 55 = only show videos that are 55%+ similar.

Thumbnail Search

TOOL search_by_thumbnail

Search for longform videos by thumbnail similarity. Provide a YouTube video URL, an image URL, or a text description to find videos with visually similar thumbnails using similarity matching.

Example prompts
"Find videos with thumbnails similar to this image: https://i.ytimg.com/vi/abc123/maxresdefault.jpg"
"Search for thumbnails that show a before and after transformation"
ParameterTypeDefaultDescription
image_urlstringnullURL of a thumbnail image to search with. Supports JPEG, PNG, WebP, and GIF.
video_urlstringnullYouTube video URL. Accepts watch, shorts, and youtu.be links.
qstringnullText description of the thumbnail style (e.g. “red arrow pointing at shocked face”).
limitinteger50Max results to return (1–50)
min_similarityfloat0.3Minimum similarity threshold (0–1). Higher values return fewer but more visually similar results.
min_viewsintegernullMinimum video view count filter
max_viewsintegernullMaximum video view count filter
uploaded_within_daysintegernullOnly include videos uploaded within this many days. E.g. 7 = last week, 30 = last month.
uploaded_before_daysintegernullExclude videos newer than this many days ago. E.g. 7 = only show videos older than 1 week.

TOOL search_terminated_by_thumbnail

Search terminated/deleted channel videos by thumbnail similarity. Same as search_by_thumbnail but searches the terminated channels archive instead of active longform channels.

Example prompts
"Find terminated channel videos with thumbnails similar to this image: https://i.ytimg.com/vi/abc123/maxresdefault.jpg"
"Search terminated channels for thumbnails that show clickbait red arrows"
ParameterTypeDefaultDescription
image_urlstringnullURL of a thumbnail image to search with. Supports JPEG, PNG, WebP, and GIF.
video_urlstringnullYouTube video URL. Accepts watch, shorts, and youtu.be links.
qstringnullText description of the thumbnail style (e.g. “red arrow pointing at shocked face”).
limitinteger50Max results to return (1–50)
min_similarityfloat0.3Minimum similarity threshold (0–1). Higher values return fewer but more visually similar results.
min_viewsintegernullMinimum video view count filter
max_viewsintegernullMaximum video view count filter

YouTube Scraper

TOOL scrape_youtube

Scrape video data from a YouTube channel or single video. Returns metadata, transcripts, and top comments (sorted by likes). Async — submits a job, polls until complete, returns final results.

Example prompt
"Scrape the last 10 videos from @MrBeast and include transcripts and comments"
ParameterTypeDefaultDescription
urlstringrequiredYouTube channel URL or video URL
video_typestringbothType of videos: shorts, videos, or both
sortstringrecentSort order: recent or popular
max_videosinteger20Maximum videos to scrape (1-100)
include_transcriptsbooleanfalseInclude full video transcripts
include_commentsbooleanfalseInclude top comments for each video (sorted by likes)
Context limits: To keep responses within Claude's context window, transcripts are trimmed to 5,000 characters per video and comments are limited to 20 per video (top by likes, 300 chars each).
TOOL read_transcript

Fetch full transcript text for YouTube videos. Pass one or more transcript_url values from scrape_youtube results (comma-separated for batch). All URLs are fetched in parallel. Returns complete transcripts with no truncation.

Example prompt
"Read the transcript for the first video from the scrape results"
ParameterTypeDefaultDescription
transcript_urlstringrequiredOne or more transcript_url values from scrape_youtube results. Pass a single URL or multiple comma-separated URLs to fetch all in parallel.

Workspace

Organize channels into folders, save and manage your research. 30 channels per folder hard cap on all plans.

TOOL list_folders

List the user's saved folders with channel counts. Returns folder name, ID, channel count, and creation date for each folder. No parameters required.

Example prompt
"Show me my saved folders"
TOOL create_folder

Create a new folder for organizing saved channels. Returns 409 if a folder with this name already exists. Folder limits: Starter 15, Pro 50, Ultimate unlimited.

Example prompt
"Create a folder called 'Cooking Research'"
ParameterTypeDefaultDescription
namestringrequiredFolder name (1–50 chars, must be unique per user)
TOOL rename_folder

Rename an existing folder. Pass the current folder name (or ID) and the new name. Returns 409 if the new name collides with another existing folder.

ParameterTypeDefaultDescription
folderstring | integerrequiredCurrent folder name OR folder ID
new_namestringrequiredNew folder name (1–50 chars, must be unique)
TOOL delete_folder

Delete a folder AND unsave every channel in it. Destructive — the first call (confirm=false) returns a preview with the channel count so the user can confirm. There is no Uncategorized fallback.

ParameterTypeDefaultDescription
folderstring | integerrequiredFolder name OR folder ID to delete
confirmbooleanfalseSet to true to confirm deletion. First call returns the channel count so you can warn the user before they confirm.
TOOL get_folder

Get all channels in a folder with live 24h growth metrics. Returns each channel's current subscriber count, view count, and the latest 24h delta (views_24h, subs_24h).

Example prompt
"What's new with my Cooking Research folder?"
ParameterTypeDefaultDescription
folderstring | integerrequiredFolder name OR folder ID
TOOL save_channels

Save one or more channels to a folder. Channel IDs must be raw YouTube channel IDs (start with UC, 24 chars). For @handles or URLs, call resolve_handle / resolve_url first. 30 channels per folder hard cap.

Example prompt
"Save the top 3 channels from my last search to 'Cooking Research'"
ParameterTypeDefaultDescription
channel_idslist[string]requiredList of YouTube channel IDs (UCxxxxxxxxxxxxxxxxxxxxxx). Must be raw IDs — call resolve_handle or resolve_url first to convert @handles or URLs.
folderstring | integerrequiredFolder name OR folder ID. There is no default folder — must be specified.
TOOL unsave_channel

Remove a channel from the user's saved set. The channel disappears from whichever folder it was in.

ParameterTypeDefaultDescription
channel_idstringrequiredYouTube channel ID (UCxxxxxxxxxxxxxxxxxxxxxx) to remove from saved channels
TOOL move_channel

Move an already-saved channel from its current folder to a different one. Returns 404 if the channel isn't currently saved. Returns 409 if the target folder is at the 30-channel cap.

ParameterTypeDefaultDescription
channel_idstringrequiredYouTube channel ID (UCxxxxxxxxxxxxxxxxxxxxxx) to move
to_folderstring | integerrequiredDestination folder name OR folder ID

Resolvers

Convert @handles and URLs to stable channel IDs for use with workspace tools. These are narrow-use tools — search tools auto-resolve handles and URLs internally.

TOOL resolve_handle

Resolve a YouTube @handle to a stable channel ID. Use only when you need a raw channel ID for save_channels. Search tools already auto-resolve handles — do NOT call this before searching.

Example prompt
"Save @cheftok to my Cooking Research folder"
ParameterTypeDefaultDescription
handlestringrequiredA YouTube @handle (e.g. @cheftok or cheftok). The leading @ is optional.
TOOL resolve_url

Resolve a YouTube channel URL or video URL to a stable channel ID. For video URLs, the owner channel is returned. Use only when you need a raw channel ID for save_channels.

ParameterTypeDefaultDescription
urlstringrequiredA YouTube channel URL (youtube.com/@handle, youtube.com/channel/UCxxx) or video URL (watch, shorts, youtu.be). For video URLs the owner channel is returned.

Alerts

Set up growth alerts on channels, folders, and saved searches. Alerts fire once a night and show once the next morning. Plan limits: Starter 3, Professional 25, Ultimate unlimited.

TOOL list_alerts

List all the user's active alerts (paused and unpaused). No parameters required.

Example prompt
"What alerts do I have?"
TOOL create_alert

Create a growth alert. Fires once a night when the threshold is crossed. Three target types: channel (single channel), folder (any channel in a folder), search (new channels matching a saved search).

Example prompt
"Alert me when any channel in my Cooking Research folder gains 5000+ subs in 24 hours"
ParameterTypeDefaultDescription
target_typestringrequiredWhat the alert watches: channel (single channel), folder (any channel in a folder), or search (new channels matching a saved search).
target_valueobjectrequiredShape depends on target_type: {"channel_id": "UCxxx..."} for channel, {"folder_id": 47} for folder, {"query": {"q": "cooking", "max_subs": 100000, "content_type": "shorts"}} for search.
metricstringrequiredWhat to measure: subs_24h (subscriber gain in last 24h), views_24h (view gain), subscriber_count, avg_views, total_videos, view_count, avg_duration, video_outlier (new video's views vs channel avg), or new_channels (count of new search matches — search target only).
thresholdnumberrequiredFire when the metric value is >= this number. E.g. 5000 with metric subs_24h means "fire when channel gains 5000+ subs in 24h". For video_outlier, this is a float multiplier — e.g. 2.5 fires when a new video gets 2.5x or more views than the channel's average per video.
TOOL pause_alert

Pause an alert without deleting it. Resume later with unpause_alert.

ParameterTypeDefaultDescription
alert_idintegerrequiredAlert ID from list_alerts
TOOL unpause_alert

Resume a previously paused alert.

ParameterTypeDefaultDescription
alert_idintegerrequiredAlert ID from list_alerts
TOOL delete_alert

Permanently delete an alert. Also deletes all its triggered_alerts history.

ParameterTypeDefaultDescription
alert_idintegerrequiredAlert ID from list_alerts
TOOL get_outlier_alert_status

Get diagnostic status for the user's video_outlier alerts. Returns what the nightly evaluator looked at, what it skipped and why, and the top 10 near-miss channels. Use this to answer "what did my alert find yesterday" or "why hasn't it fired yet". Unlike get_triggered_alerts, this shows every run — including ones where nothing met the threshold. Data is from the last evaluator run (a checked_at_human field like "3 hours ago" tells you how fresh).

Example prompt
"What's the status of my outlier alerts? How close are any of them to firing?"

No parameters. Returns one entry per video_outlier alert with state (checked / never_checked / paused), summary (channels total / with uploads / skipped breakdown / top_outlier_score), and near_misses (array of up to 10 channels whose top video scored at least 10% of the threshold, each with per-condition pass/fail).

TOOL get_triggered_alerts

Get the user's alert inbox — the morning-briefing tool. By default returns alerts that have fired since the user last checked and marks them as seen. Set include_acknowledged=true for read-only history mode.

Example prompt
"Any alerts this morning?"
ParameterTypeDefaultDescription
sincestringnullOptional duration filter: 24h, 7d, 30d. Limits results to alerts that fired within this window.
include_acknowledgedbooleanfalseDefault false (inbox mode). Set true for read-only history mode that includes already-seen alerts and does NOT mark new ones as seen.

Text-to-Speech

Browse voices, generate audio, and check job status. Supports both ElevenLabs and Stealth TTS providers.

TOOL list_voices

Browse and search available TTS voices. Returns voice IDs, names, previews, and metadata. Set stealth=true for Stealth provider voices.

Example prompt
"Show me young male American English voices"
ParameterTypeDefaultDescription
searchstringnullSearch by voice name or labels
genderstringnullFilter: male, female, or neutral
agestringnullFilter: young, middle_aged, or old
languagestringnullLanguage code (e.g. en, es, fr)
accentstringnullFilter by accent (e.g. american, british)
sortstringtrendingSort: trending, created_date, usage_character_count_1y
page_sizeinteger30Results per page (max 100)
pageinteger0Page number (0-indexed)
stealthbooleanfalseUse Stealth voices endpoint instead of ElevenLabs
TOOL generate_tts

Generate text-to-speech audio. Submits a job, polls until complete, returns the permanent hosted audio URL.

Example prompt
"Generate a voiceover using the voice 'Adam' saying: Welcome to today's video about productivity tips"
ParameterTypeDefaultDescription
scriptstringrequiredText to convert to speech (max 200,000 characters)
voice_idstringrequiredVoice ID from list_voices, or voice name for Stealth provider
providerstringelevenlabsTTS provider: elevenlabs or stealth
model_idstringnullElevenLabs model (e.g. eleven_multilingual_v2, eleven_flash_v2_5)
stabilityfloatnullVoice consistency 0.0-1.0 (ElevenLabs only)
similarity_boostfloatnullVoice match accuracy 0.0-1.0 (ElevenLabs only)
stylefloatnullStyle exaggeration 0.0-1.0 (ElevenLabs only)
speedfloatnullPlayback speed 0.7-1.2 (ElevenLabs only)
temperaturefloatnullExpressiveness — higher is more expressive (Stealth only)
speaking_ratefloatnullSpeaking speed multiplier (Stealth only)
voice_namestringnullHuman-readable voice label for your reference
custom_titlestringnullCustom filename for output MP3 (without extension)
generate_srtbooleanfalseGenerate SRT subtitle file (ElevenLabs only)
TOOL get_tts_job_status

Check the status of a TTS generation job. Use this to retrieve the audio_url for a previously submitted job.

ParameterTypeDefaultDescription
job_idstringrequiredJob ID returned from generate_tts
TOOL list_tts_jobs

List your recent TTS generation jobs, sorted by creation time (newest first). No parameters required.

Example prompt
"Show me my recent TTS generations"
TOOL clone_voice

Clone a voice using the Stealth voice engine. Upload an audio sample and get a reusable voice ID. Requires an active subscription.

Example prompt
"Clone this voice sample as 'My Narrator' using the audio at https://example.com/sample.mp3"
ParameterTypeDefaultDescription
display_namestringrequiredDisplay name for the cloned voice
audio_urlstringrequiredURL to the audio sample (MP3, WAV, M4A, OGG, WEBM; max 15MB)
lang_codestringEN_USLanguage code (e.g. EN_US, ES_MX, FR_FR, DE_DE, JA_JP)
descriptionstringnullDescription of the voice
TOOL delete_voice

Delete a cloned Stealth voice by ID.

ParameterTypeDefaultDescription
voice_idstringrequiredID of the cloned voice to delete

Media Generation

TOOL generate_image

Generate an AI image from a text prompt. Requires Professional or Ultimate plan. Costs 2–3 studio credits depending on model.

Example prompt
"Generate a thumbnail image of a mysterious dark forest with glowing eyes, 16:9 aspect ratio"
ParameterTypeDefaultDescription
promptstringrequiredDescription of the image to generate
modelstringnano-banana-2Model: nano-banana-2 (2 credits, default), nano-banana-pro (3, supports up to 8 reference images), seedream-4.5-edit (2, requires reference_image_url), seedream-5.0-lite (2, optional reference)
aspect_ratiostring16:9Aspect ratio (e.g. 16:9, 9:16, 1:1)
reference_image_urlstringnullOptional reference image URL
TOOL generate_video

Generate an AI video from a text prompt. Requires Professional or Ultimate plan. Costs 3–30 studio credits depending on model and duration.

Example prompt
"Generate a 4-second vertical video of a cat walking through a neon-lit city at night using sora-2"
ParameterTypeDefaultDescription
promptstringrequiredDescription of the video to generate
modelstringsora-2Model: sora-2, kling-2.6, veo3-fast, grok-image-to-video
secondsstring4Duration for sora-2 (4, 8, or 12 seconds)
sizestring720x1280Resolution (e.g. 720x1280, 1280x720)
durationstring5Duration for kling model (5 or 10 seconds)
soundbooleanfalseInclude audio (kling only)
aspect_ratiostring9:16Aspect ratio (e.g. 9:16, 16:9)
input_reference_urlstringnullReference image URL
TOOL remove_captions

Remove captions or watermarks from a video. Costs 12 credits per minute (0.2 per second, rounded up). Requires Professional or Ultimate plan.

ParameterTypeDefaultDescription
video_urlstringrequiredURL of the video to remove captions from
TOOL remove_sora_watermark

Remove the Sora watermark from a video. Costs 2 studio credits. Requires Professional or Ultimate plan. URL must be from sora.chatgpt.com.

ParameterTypeDefaultDescription
video_urlstringrequiredSora video URL (must be from sora.chatgpt.com)

Utility

TOOL health_check

Check API health and view current job counts. Useful for verifying your connection is working.

Example prompt
"Check if the Algrow API is up"

Example Prompts

Once the MCP server is connected, just ask Claude in plain English. Here are some examples to get started:

Channel Discovery
"Search for 'roblox' English Shorts channels under 10k subs that are less than 90 days old and growing fast"
Niche Research
"Search for 'history documentary' longform channels with under 50k subs that are monetized"
Viral Video Analysis
"Find the top viral Shorts about AI tools uploaded in the last 3 days"
Competitor Research
"Scrape the last 20 videos from @AlexHormozi and include transcripts so I can analyze his content strategy"
TTS Generation
"List trending male voices, then generate a voiceover for this script: [paste script]"
Combined Workflow
"Find 5 viral Shorts about fitness, scrape the top performing channel, and summarize their content strategy"

Limits

LimitValueApplies to
Requests per minute30All tools
Max page number20Search tools
Max results per page50Search tools
Max results per query1,000Search tools (20 pages × 50 results)
Max concurrent jobs5TTS, scraper, media generation
Max videos per scrape100scrape_youtube
Max script length200,000 charsgenerate_tts
Search query required: All search tools (search_shorts_channels, search_longform_channels, search_viral_videos) require a search query. Browsing without a query is not supported.

Troubleshooting

Server not appearing in Claude Code

  1. Run /mcp in Claude Code to see connected servers
  2. Check your ~/.claude.json syntax with a JSON linter
  3. Restart Claude Code completely

Server not appearing in Claude Desktop

  1. Restart Claude Desktop completely (not just close the window)
  2. Verify config file path is correct for your OS
  3. Check JSON syntax — a trailing comma will break it
  4. Look for the MCP indicator (hammer icon) in the chat input area

API key errors

  1. Verify your API key at algrow.online/settings
  2. Make sure the key is in the Authorization header, not args or env
  3. Check your subscription is active (Professional or Ultimate plan required)
Still stuck? Contact support at support@algrow.online or check the REST API docs to verify your API key works with direct HTTP requests.
×

Buy More Credits

Boost
250
credits
$9.99
Good for:
  • ~20 min caption removal
Studio
2,500
credits
$89.99
Good for:
  • ~208 min caption removal