Desearch
Server Details
39 tools: AI/web/X search, TikTok, Facebook, Instagram, YouTube, Reddit, Threads, People/Companies.
- Status
- Healthy
- Uptime
- 100.0% over the last 24 hours
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- Desearch-ai/mcp-desearch
- GitHub Stars
- 1
- Server Listing
- Desearch MCP Server
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 39 tools
Several tools overlap heavily: search, web-search, search-api, web-links-search, ai-search, fetch, extract, and web-crawl all retrieve web content with only subtle distinctions. The X toolset also has near-duplicates such as x-user-posts vs x-posts-by-user and x-post-replies vs x-user-replies, so an agent can easily misselect despite detailed descriptions.
Names are consistently lower-kebab-case, but structural conventions are mixed: bare nouns like facebook, instagram, reddit, search, and fetch coexist with verb-style prefixes like extract and web-search, and X uses many dedicated prefixed tools while other platforms use a single action-parameter tool. It is readable but not highly predictable.
With 39 tools, the surface is heavy for the apparent scope and includes numerous overlapping search, fetch/extract, and X-specific operations. Several tools could be consolidated, especially the web retrieval variants and the ten X tools, without losing capability.
The server covers web search/extraction, major social platforms, and the full people/company search lifecycle including status, pause, resume, cancel, task listing, profiles, and export. A direct LinkedIn reader is notably absent even though LinkedIn appears in people-search, but most core workflows are covered.
Available Tools
39 toolsai-searchAI SearchCRead-onlyInspect
AI search and analysis on web using Desearch AI
Inputs: prompt (required), model, tools, end_date, +5 more.
company-enrichCompany EnrichAInspect
Start a paid job billed to the user's Desearch balance: collect public contact data for companies you already know, by domain. Send 1-200 domains or URLs; each is reduced to its host without www., lowercased, and deduplicated, and the task reads every one. Returns a task_id at once, with the task's status and reserved_cost_usd. You get one company per domain with the same fields as company-search but no fit score (score is null). The task's count is the number of domains left after deduplication. Cost: the call reserves one company per domain sent at the Company Enrich per-company price at the time of the call (reserved_cost_usd; prices at https://desearch.ai/pricing). When the task ends you pay only for the companies it delivered (final_cost_usd; a minimum of 1; a task that delivers none is free) and the rest of the reservation, including duplicate domains, is returned. Data: Desearch reads public data only: each company's own website (its homepage and its contact, about, team, and imprint pages), public web search results, and public LinkedIn profiles of its leaders. Each company comes back with its location, public emails, phones, and social profiles, and its leaders (roles) with their title, LinkedIn profile, and emails. Every contact keeps the page it came from (source_url). Leader emails can be inferred from the company's address pattern (source: inferred, with a confidence), and every email is checked (verification: valid, invalid, risky, or unknown). Companies stay readable for 30 days after the task ends. The task runs in the background: poll company-search-status with the task_id to read progress and the companies delivered so far. Each company is delivered first with enrichment status partial, and the later stages (contact pages, leaders, inferred emails, email checks) fill it in until it is complete. Use company-search-pause, company-search-resume, or company-search-cancel to pause, resume, or cancel it. Do not start the same task twice; send idempotency_key so a retry returns the first task instead of charging again. To find companies from a description, use company-search instead.
Inputs: domains (required), roles, metadata, infer_emails, +2 more.
company-searchCompany SearchAInspect
Start a paid job billed to the user's Desearch balance: find companies on the web that match a plain-language description, and collect each one's public contact data. Returns a task_id at once, with the task's status and reserved_cost_usd. Cost: without max_cost_usd, the call reserves count companies at the Company Search per-company price at the time of the call (reserved_cost_usd; prices at https://desearch.ai/pricing). When the task ends you pay only for the companies it delivered (final_cost_usd; a minimum of 1 when it delivers any; a task that delivers none is free) and the rest of the reservation is returned. A company left out by min_score or require is not billed. Such a search stops once it costs more than the companies it found pay for (completion_reason cost_limit, coverage_limited: true). Search budget: with max_cost_usd the whole budget is reserved, and the search goes on until it delivers count or spends the budget. Its search effort is billed where the companies delivered do not cover it, up to the budget, even when it finds few companies or none; the unused part is returned. Set max_cost_usd only when the user agreed to spend that amount, never on your own. Find more: when a search ended before count because a limit stopped it (coverage_limited, for example cost_limit), offer the user a new company-search with the same query and filters, continue_from set to its task_id, and count set to the companies still wanted, optionally with a budget the user agrees to. It leaves out every company the earlier search delivered or held for review, so it finds only new ones. To check only companies you name, give their websites in query, for example 'Restrict this search to Acme (acme.com.au) and Beta (beta.co.uk). Return only those.' Only those domains are then checked against the rest of the description, with no web search (the task shows them as only_domains and ends with completion_reason all_domains_processed). Companies named without their websites do not restrict the search (warning scope_not_applied). Each company has a fit score (0-100) and why it matched, plus fully_verified and unverified_criteria (what its own pages do and do not confirm). Data: Desearch reads public data only: each company's own website (its homepage and its contact, about, team, and imprint pages), public web search results, and public LinkedIn profiles of its leaders. Each company comes back with its location, public emails, phones, and social profiles, and its leaders (roles) with their title, LinkedIn profile, and emails. Every contact keeps the page it came from (source_url). Leader emails can be inferred from the company's address pattern (source: inferred, with a confidence), and every email is checked (verification: valid, invalid, risky, or unknown). Companies stay readable for 30 days after the task ends. The task runs in the background: poll company-search-status with the task_id to read progress and the companies delivered so far. Each company is delivered first with enrichment status partial, and the later stages (contact pages, leaders, inferred emails, email checks) fill it in until it is complete. Use company-search-pause, company-search-resume, or company-search-cancel to pause, resume, or cancel it. Do not start the same task twice; send idempotency_key so a retry returns the first task instead of charging again. To read companies you already know by domain, use company-enrich instead.
Inputs: query (required), count, roles, exclude, +9 more.
company-search-cancelCancel Company SearchADestructiveIdempotentInspect
Cancel a Company Search or Company Enrich task. Free. The task stops for good; you pay only for the companies it already delivered (a task cancelled before it starts costs nothing) and the rest of the reservation is returned. A Company Search started with max_cost_usd pays for its search effort so far instead when that is more, up to its budget. Companies delivered so far stay readable for 30 days. This cannot be undone.
Inputs: task_id (required).
company-search-pausePause Company SearchAIdempotentInspect
Pause a Company Search or Company Enrich task and return its updated status. Free: it charges and refunds nothing. A queued task pauses at once; a running one finishes its current batch first (status pausing, then paused). Pausing loses no data: the companies delivered so far stay readable with company-search-status, and the task keeps its progress. Billing does not change: the reservation made when the task started stays reserved while paused and is settled only when the task ends. Undo it with company-search-resume, which continues from where the task stopped with no new charge. Limit: a task paused for more than 7 days is cancelled by the API and can no longer be resumed; you then pay only for the companies already delivered, the rest of the reservation is returned, and the companies delivered stay readable for 30 days.
Inputs: task_id (required).
company-search-resumeResume Company SearchAIdempotentInspect
Resume a paused Company Search or Company Enrich task and return its updated status. Free. The task continues from where it stopped, keeping the companies already delivered, with no new charge. Works only on a paused task, within 7 days of pausing; a task in any other state, including one the API cancelled after 7 days paused, returns 409. Poll company-search-status for the new companies.
Inputs: task_id (required).
company-search-statusGet Company Search StatusARead-onlyInspect
Status, progress, and cost of one Company Search or Company Enrich task, plus a page of the companies delivered so far: domain, name, url, location, fit score (null for Company Enrich) and why it matched, primary_email and primary_contact, public emails, phones, and social profiles with the page each came from (source_url), leaders with their roles, title, LinkedIn profile, and emails (each with its verification status; inferred ones with source: inferred and a confidence), contact_coverage, and enrichment (status partial or complete, and each stage: profile, contacts, people, email_patterns, email_check). Free: it reads a task you already started and runs no new search. Cost fields are reserved_cost_usd and, once the task ended, final_cost_usd. The data came from each company's own website, public web search, and public LinkedIn profiles. Companies arrive while the task runs and are filled in place by the later stages: pass the returned next_cursor as cursor to get only the companies delivered since then, and call without cursor to read every company in its latest version. stage enriching means every company is delivered and only later stages of some are left. When done is true and has_more is false you have every company. An ended task has completion_reason (why it stopped; all_domains_processed for Company Enrich or a search restricted to the domains its query names, listed as only_domains), coverage_limited: true when a limit stopped it before count (more companies may match: the next hint says how to continue it with continue_from), and warnings. A search with a budget shows max_cost_usd, and progress.effort_units once it ended (the search effort billed where the companies delivered do not cover it); a continued search shows continue_from. Company Search results have fully_verified (every criterion confirmed by the company's own pages) and unverified_criteria (criteria that are unknown or not met, or a disqualifier that applies). These are information only: the company still qualified.
Inputs: task_id (required), limit, cursor, include_companies.
company-search-tasksList Company Search TasksARead-onlyInspect
Your Company Search and Company Enrich tasks, newest first, with status, counts, cost, why each ended task stopped (completion_reason, coverage_limited), max_cost_usd and continue_from when a search set them, and the metadata labels set on company-search or company-enrich. Free; it lists your own tasks, not the companies they found (read those with company-search-status). People Search tasks are not listed here (see people-search-tasks). Use it to find a task_id (filter by type, status, or metadata to find the tasks of one campaign), or to see which tasks are still queued, running, or paused: a new task is refused while too many People Search and Company Search tasks are active.
Inputs: type, limit, cursor, status, +1 more.
extractExtract Page ContentARead-onlyInspect
Extract a public URL and return its content as plain text, markdown or HTML using Desearch. Markdown keeps headings, lists and tables. Text is the page's main content; set full_page for every section, such as opening hours or fee tables. A js_required error means the page needs js: true; blocked means the site refused or showed a bot check. Preferred over web-crawl for new integrations. API docs: https://www.desearch.ai/docs/api-reference/get-web-extract
Inputs: url (required), js, wait, format, +1 more.
facebookFacebookARead-onlyInspect
Read public Facebook data with Desearch. Set action and that action's arguments. search (query; optional count, cursor) and hashtag (tag; optional count, cursor) return Meta Ad Library ads that match, not organic posts. post (id): one public post. profile (profile_id): a page or profile by ID or public handle. profile_posts (profile_id; optional count, cursor): its posts. comments (post_id; optional count, cursor): a post's comments, about 10 per page. post and profile return the item itself. List actions return { results, next_cursor, next }. For the next page, call again with the same action and target and cursor set to next_cursor, unchanged; next_cursor is null on the last page. A cursor lasts 24 hours.
Inputs: action (required), id, tag, count, +4 more.
fetchFetch PageARead-onlyInspect
Read a public page as text. Pass a URL returned by search.
Inputs: id (required). Returns: id, url, text, title, +1 more
instagramInstagramARead-onlyInspect
Read public Instagram data with Desearch. Set action and that action's arguments. search (query; optional count): profiles that match, one page with no cursor. media (id): one post by shortcode, numeric ID, or URL. profile (username): one profile. profile_posts (username; optional count, cursor): a user's posts. comments (shortcode; optional count, cursor): a post's comments. hashtag (tag; optional count, cursor): posts with a hashtag. media and profile return the item itself. List actions return { results, next_cursor, next }. For the next page, call again with the same action and target and cursor set to next_cursor, unchanged; next_cursor is null on the last page. A cursor lasts 24 hours.
Inputs: action (required), id, tag, count, +4 more.
people-profilesList People FoundARead-onlyInspect
Everyone your own People Searches found on one platform, one entry per person: their best-scoring result (name, handle, url, audience, location, fit score, why they matched, public contacts, and links) and the search that found them (found_by). Free: it reads only people your earlier searches found, runs no new search, and queries no outside source. That data came from public profiles and posts, with only the contacts each person lists publicly. Search by name, handle, bio, or location with q, filter by contact channels (has), audience, fit score, location, or verification, and sort by score, recent, or audience. People from searches that ended more than 30 days ago are left out.
Inputs: platform (required), q, has, sort, +7 more.
people-searchPeople SearchAInspect
Start a paid job billed to the user's Desearch balance: find people on X, YouTube, LinkedIn, or TikTok who match a plain-language description. Returns a task_id at once, with the task's status and reserved_cost_usd. Cost: the call reserves count times the platform's per-person price at the time of the call (reserved_cost_usd; prices at https://desearch.ai/pricing). When the search ends you pay only for the people it delivered (final_cost_usd; a per-search minimum applies when it finds anyone; a search that finds no one is free) and the rest of the reservation is returned. Data: each person comes back with a fit score, why they matched, their audience, and only the contacts and links they list publicly. Desearch reads public data only. X: public posts and public profile fields (bio, followers, website, location). YouTube: public channel pages (About section, subscribers, country, links) and the creator's own website for publicly listed contact details. LinkedIn: public posts and public profiles (headline, company, location, followers, about). TikTok: public videos and public profiles (bio, followers, likes, latest videos, a public email listed in the bio). People found stay readable for 30 days after the search ends. The search runs in the background, usually for 1 to 5 minutes: poll people-search-status with the task_id to read progress and the people found so far, and use people-search-pause, people-search-resume, or people-search-cancel to pause, resume, or cancel it. Do not start the same search twice; send idempotency_key so a retry returns the first task instead of charging again. Filters depend on the platform. x: min_followers, max_followers, verified_only, countries, keywords, exclude_keywords. youtube: min_subscribers, max_subscribers, countries, require_contact, keywords, exclude_keywords. linkedin: min_followers, max_followers, countries, keywords, exclude_keywords. tiktok: min_followers, max_followers, require_contact, keywords, exclude_keywords.
Inputs: query (required), platform (required), count, exclude, +12 more.
people-search-cancelCancel People SearchADestructiveIdempotentInspect
Cancel a People Search task. Free. The search stops for good; you pay only for the people it already delivered and the rest of the reservation is returned. People found so far stay readable for 30 days. This cannot be undone.
Inputs: task_id (required).
people-search-exportExport People FoundARead-onlyInspect
The people your own People Searches found, as CSV or JSON Lines text: one search (task_id), or everyone found on one platform (platform, with the same q, sort, and filters as people-profiles). Free: it reads people your earlier searches found and runs no new search. The reply is a note with the row count, then the file text cut at a row boundary to max_rows rows and 50,000 characters; the note says how many rows were cut and where to get the whole file. CSV keeps its header row. The data came from public profiles and posts, with only the contacts each person lists publicly.
Inputs: q, has, sort, format, +8 more.
people-search-pausePause People SearchAIdempotentInspect
Pause a People Search task and return its updated status. Free: it charges and refunds nothing. A queued search pauses at once; a running one finishes its current batch first (status pausing, then paused). Pausing loses no data: the people found so far stay readable with people-search-status, and the search keeps its progress. Billing does not change: the reservation made when the search started stays reserved while paused and is settled only when the search ends. Undo it with people-search-resume, which continues from where the search stopped with no new charge. Limit: a search paused for more than 7 days is cancelled by the API and can no longer be resumed; you then pay only for the people already delivered, the rest of the reservation is returned, and the people found stay readable for 30 days.
Inputs: task_id (required).
people-search-resumeResume People SearchAIdempotentInspect
Resume a paused People Search task and return its updated status. Free. The search continues from where it stopped, keeping the people already found, with no new charge: the cost already spent is carried forward and the original reservation still covers it. Works only on a paused search, within 7 days of pausing; a search in any other state, including one the API cancelled after 7 days paused, returns 409. Poll people-search-status for the new people.
Inputs: task_id (required).
people-search-statusGet People Search StatusARead-onlyInspect
Status, progress, and cost of one People Search task, plus a page of the people found so far: name, handle, url, platform, audience, location, fit score, why they matched, contacts, and links. Free: it reads a search you already started and runs no new search. Cost fields are reserved_cost_usd and, once the search ended, final_cost_usd. People come from public profiles and posts on the search's platform, with only the contacts they list publicly. People arrive while the search runs: pass the returned next_cursor as cursor on the next call to get only the people found since then. When done is true and has_more is false you have everyone the search found. An ended task has completion_reason (why it stopped), coverage_limited: true when a budget stopped it before count (more people may match), and warnings such as partial_enrichment (some profiles could not be read, so those people were scored on the search hit; they show enrichment: failed). Each person has fully_verified (every criterion confirmed by their own profile or posts) and unverified_criteria (criteria that are unknown or not met, or a disqualifier that applies). These are information only: the person still qualified.
Inputs: task_id (required), limit, cursor, include_people.
people-search-tasksList People Search TasksARead-onlyInspect
Your People Search tasks, newest first, with status, counts, cost, why each ended search stopped (completion_reason, coverage_limited), and the metadata labels set on people-search. Free; it lists your own tasks, not the people they found (read those with people-search-status or people-profiles). Use it to find a task_id (filter by metadata to find the searches of one campaign), or to see which searches are still queued, running, or paused: a new search is refused while too many are active.
Inputs: limit, cursor, status, metadata, +1 more.
redditRedditARead-onlyInspect
Read public Reddit data with Desearch. Set action and that action's arguments. search (query; optional sort, timeframe, cursor): posts across all subreddits that match a keyword. subreddit (name): a subreddit's description, rules, and weekly activity; the name is case-sensitive ('AskReddit', not 'askreddit'). subreddit_posts (name; optional sort, timeframe, cursor): its posts. post (id): one post by ID or URL, without comments. comments (post_id; optional cursor): a post's comments as a tree, with the replies Reddit loaded alongside them. A post id from search or subreddit_posts can be passed to post or comments. subreddit and post return the item itself. List actions return { results, next_cursor, next }. For the next page, call again with the same action and target and cursor set to next_cursor, unchanged; next_cursor is null on the last page. A cursor lasts 24 hours.
Inputs: action (required), id, name, sort, +4 more.
searchSearchARead-onlyInspect
Search the public web and return titles and links. Use fetch with a result URL to read the page.
Inputs: query (required). Returns: results
search-apiSearch APIARead-onlyInspect
Search the web with the Desearch Search API and return ranked pages, each with its title, URL, publication date when known, and the passage that best matches the query. Set page_text to add each page's full text. Returns { results, cost_usd, usage_count, service, currency }. Use search for titles and links only, and web-search for SERP-style snippets.
Inputs: query (required), mode, count, end_date, +3 more.
threadsThreadsARead-onlyInspect
Read public Threads data with Desearch. Set action and that action's arguments. search (query; optional start_date, end_date): one page of posts that match a keyword. search_users (query): accounts that match a username or name. profile (username): one profile with bio, followers, and links. profile_posts (username): the account's latest public posts (Threads shows only the most recent ones). post (id): one post by URL or shortcode, with its replies (comments) and the author's own continuation posts (threadItems). profile and post return the item itself. List actions return { results, next_cursor, next }; Threads returns no further pages, so next_cursor is always null and no action takes a cursor.
Inputs: action (required), id, query, end_date, +2 more.
tiktokTikTokARead-onlyInspect
Read public TikTok data with Desearch. Set action and that action's arguments. search (query; optional count, sort, cursor): videos that match a keyword. post (id): one video by its ID. profile (username): one profile. profile_posts (username; optional count, cursor): a user's videos. comments (video_id; optional count, cursor): a video's comments. hashtag (tag; optional count, cursor): videos with a hashtag. trending (optional region, count): trending videos for a region, one page. A video id from search can be passed to post or comments. post and profile return the item itself. List actions return { results, next_cursor, next }. For the next page, call again with the same action and target and cursor set to next_cursor, unchanged; next_cursor is null on the last page. A cursor lasts 24 hours.
Inputs: action (required), id, tag, sort, +6 more.
web-crawlCrawl Web Page (Legacy)ARead-onlyInspect
Crawl a public URL and return its content as plain text or HTML on the legacy Desearch /web/crawl route. The SDK marks webCrawl deprecated in favor of extract; this tool stays for parity with that route. Prefer extract for new integrations. API docs: https://www.desearch.ai/docs/guide/apis/extract-api
Inputs: url (required), js, wait, format, +1 more.
web-links-searchWeb Links SearchBRead-onlyInspect
Search the web for links using Desearch. Only the web source is accepted.
Inputs: prompt (required), count, tools.
web-searchWeb SearchBRead-onlyInspect
SERP-style web search using Desearch. Returns ranked titles, links, and snippets.
Inputs: query (required), start.
x-links-searchX Links SearchBRead-onlyInspect
AI search for X (Twitter) post links using Desearch. Returns links from posts that match the prompt.
Inputs: prompt (required), count.
x-post-by-idGet X Post by IDBRead-onlyInspect
Fetch a single X (Twitter) post by its ID.
Inputs: id (required).
x-post-repliesGet X Post RepliesBRead-onlyInspect
Fetch replies to an X (Twitter) post, with an optional keyword query.
Inputs: post_id (required), count, query.
x-post-retweetersList X Post RetweetersARead-onlyInspect
List users who retweeted an X (Twitter) post. Pass cursor to page through more users.
Inputs: id (required), cursor.
x-posts-by-urlsGet X Posts by URLsBRead-onlyInspect
Fetch full X (Twitter) posts for a list of post URLs.
Inputs: urls (required).
x-posts-by-userSearch X Posts by UserBRead-onlyInspect
Search X (Twitter) posts by a specific user, with an optional keyword query.
Inputs: user (required), count, query.
x-searchX SearchARead-onlyInspect
Search X (Twitter) using Desearch AI. Optional filters narrow by user, date, language, verification, media, and engagement. Sort stays Top.
Inputs: query (required), lang, user, count, +10 more.
x-trendsGet X TrendsBRead-onlyInspect
Retrieve trending topics on X (Twitter) for a location by its WOEID using Desearch.
Inputs: woeid (required), count.
x-user-postsGet X User TimelineCRead-onlyInspect
Retrieve a user's X (Twitter) timeline posts by username. Pass cursor to page through more posts.
Inputs: username (required), cursor.
x-user-repliesGet X User RepliesBRead-onlyInspect
Fetch posts and replies by an X (Twitter) user, with an optional keyword query.
Inputs: user (required), count, query.
youtubeYouTubeARead-onlyInspect
Read public YouTube data with Desearch. Set action and that action's arguments. search (query; optional type, upload_date, sort_by, duration, cursor): videos, Shorts, live streams, channels, and playlists that match a keyword; each result has a type. video (id): one video or Short by ID or URL, with its channel, counts, chapters, and caption languages. transcript (video_id; optional language): its captions as plain text and timestamped segments; a video without captions returns 404. comments (video_id; optional order, cursor): its top-level comments. channel (handle): one channel by handle or channel ID. channel_videos (handle; optional sort, cursor): the channel's videos. A video id from search or channel_videos can be passed to video, transcript, or comments. video, transcript, and channel return the item itself. List actions return { results, next_cursor, next }. For the next page, call again with the same action and target and cursor set to next_cursor, unchanged; next_cursor is null on the last page. A cursor lasts 24 hours.
Inputs: action (required), id, sort, type, +9 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
Related MCP Connectors
240 tools for Reddit, X, TikTok, Instagram, YouTube, reviews, ads, shopping and search data
X (Twitter) search, profiles and trends, YouTube search, video stats and comments, TikTok comments.
22 web-data tools: search, Bing, images, Reddit without authors, jobs, patents, flights and YouTube.
62 real-world tools for agents: search, scraping, social, enrichment, image, video, voice.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to search, read, and transcribe content across 14+ platforms — including GitHub, YouTube, Bilibili, Twitter/X, Reddit, Xiaohongshu, LinkedIn, and general web pages — through 42 tools with automatic URL-based platform detection.1MIT

SocialToAI MCP Serverofficial
AlicenseNot gradedqualityCmaintenanceEnables AI tools to read publicly visible social media posts, comments, profiles, and trends from 18 platforms such as TikTok, Instagram, X, Reddit, YouTube, Xiaohongshu, and Weibo, on a prepaid pay-per-call basis where failed calls are free. Ships tools for search, trending, detail, comments, user profiles and posts, plus higher-level workflows like brand buzz, comment analysis, account watching, creator discovery, bulk link data, and viral finding.MIT- AlicenseAqualityCmaintenanceSchedule, manage, generate, and analyze social posts across 11 networks (Instagram, TikTok, X, LinkedIn, YouTube, Facebook, Pinterest, Threads, Bluesky, Mastodon, Telegram) from any AI agent — 13 tools covering scheduling, media upload, AI caption generation, best-times, analytics, listening, and comments.1354 npmMIT

redfox-mcpofficial
FlicenseAqualityBmaintenanceProvides 40 MCP tools for searching and retrieving content from six major platforms (Douyin, Xiaohongshu, WeChat, Bilibili, Toutiao, TikTok) along with AI search and image/video generation via RedFoxHub's API.402-
Glama MCP Gateway
Add one secure layer between your agents and this server.