accueil / serveurs / Recherche & Web / io.github.Desearch-ai/mcp-desearch
io.github.Desearch-ai/mcp-desearch
serveur MCP (Model Context Protocol) · Desearch 0.3.3
Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur.
Est-ce que io.github.Desearch-ai/mcp-desearch est sûr ?
Au dernier audit MCP Hub, le serveur MCP « io.github.Desearch-ai/mcp-desearch » est classé « Non encore testé ». Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur. Le verdict est réévalué en continu ; consultez la fiche pour l'état à jour.
Méthode : MCP Hub analyse la description de chaque outil (couche 1) et, pour le verdict fort, exécute le serveur dans une micro-VM isolée avec leurres et réseau bloqué (couche 2). On publie des noms et des compteurs, jamais le contenu brut renvoyé par un outil.
Les 22 outils
- ai-search≈ 564 tokens
AI search and analysis on web using Desearch AI
Paramètres, retour & exemple (9)
Paramètresmodel· string · optionnel · NOVA | ORBIT
Model to use for the search: NOVA (default) or ORBIT.tools· array · optionnel
Source ids sent to POST /desearch/ai/search. Short ids: 'web', 'twitter', 'arxiv', 'wikipedia', 'hackernews', 'reddit'. Legacy labels such as 'Web Search', 'ArXiv Search', 'Wikipedia Search', 'Hacker News Search', and 'Reddit Search' are rewritten to those ids. Example: ['web', 'twitter'].prompt· string · requis
Question, example: 'What is the latest news on AI?'end_date· string · optionnel
End of the date range in UTC (YYYY-MM-DDTHH:MM:SSZ). Use with start_date.start_date· string · optionnel
Start of the date range in UTC (YYYY-MM-DDTHH:MM:SSZ). Use with end_date.date_filter· string · optionnel · PAST_24_HOURS | PAST_2_DAYS | PAST_WEEK | PAST_2_WEEKS | PAST_MONTH | PAST_2_MONTHS | PAST_YEAR | PAST_2_YEARS
Deprecated relative window; prefer start_date/end_date. Example: 'PAST_WEEK'result_type· string · optionnel · ONLY_LINKS | LINKS_WITH_FINAL_SUMMARY
ONLY_LINKS returns links only; LINKS_WITH_FINAL_SUMMARY adds an AI summary. Link arrays are kept under whichever key the API uses, along with billing fields. ONLY_LINKS still depends on the API to include those links.exclude_domains· array · optionnel
Drop Web Search results from these domains, example: ['pinterest.com']include_domains· array · optionnel
Restrict Web Search results to these domains, example: ['bbc.com', 'reuters.com']
Exemple d'appel{"name": "ai-search", "arguments": {"prompt": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - extract≈ 241 tokens
Extract a public URL and return its content as plain text or HTML using Desearch. Preferred over web-crawl for new integrations. API docs: https://www.desearch.ai/docs/api-reference/get-web-extract
Paramètres, retour & exemple (4)
Paramètresjs· boolean · optionnel
Render JavaScript before reading the page.url· string · requis
Public URL to read, example: 'https://desearch.ai'wait· number · optionnel
Post-load wait in milliseconds when JavaScript rendering is enabled.format· string · optionnel · html | text
Content format to return: 'html' or 'text'.
Exemple d'appel{"name": "extract", "arguments": {"url": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - fetch≈ 205 tokens
Read a public page as text. Pass a URL returned by search.
Paramètres, retour & exemple (1)
Paramètresid· string · requis
URL of the page to read.
Exemple d'appel{"name": "fetch", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"id": "texte", "url": "texte", "text": "texte", "title": "texte", "metadata": {}}} - people-profiles≈ 564 tokens
Everyone your People Searches found on one platform, one entry per person: their best-scoring result and the search that found them (found_by). Free; it does not run a new search. 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.
Paramètres, retour & exemple (11)
Paramètresq· string · optionnel
Text in the name, handle, bio, or location, example: 'skincare'.has· array · optionnel
Channels every person must have, example: ['email', 'instagram']. 'email' is a public email; the others are a link of that type.sort· string · optionnel · score | recent | audience
'score' (API default), 'recent', or 'audience'.limit· integer · optionnel
People per page (1-200, default 25).cursor· string · optionnel
next_cursor from the previous page.location· string · optionnel
Text in the location, example: 'united states'.platform· string · requis · x | youtube | linkedin | tiktok
Platform: 'x', 'youtube', 'linkedin', or 'tiktok'.verified· boolean · optionnel
Only verified accounts. Only X and TikTok people carry a verified flag.min_score· integer · optionnel
Minimum fit score (0-100).max_audience· integer · optionnel
Maximum followers (subscribers on YouTube).min_audience· integer · optionnel
Minimum followers (subscribers on YouTube).
Exemple d'appel{"name": "people-profiles", "arguments": {"platform": "x"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - people-search≈ 1121 tokens
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. Each person comes back with a fit score, why they matched, their audience, and public contacts and links. This call reserves count times the platform's per-person price (reserved_cost_usd) and returns a task_id at once. When the search ends you pay only for the people it delivered (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. 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-control 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.
Paramètres, retour & exemple (16)
Paramètrescount· integer · optionnel
How many qualified people to find (5-200, API default 25). The search reserves this many and bills only the people it delivers.query· string · requis
Who you are looking for, in plain language, example: 'Skincare creators who review sunscreen'.exclude· array · optionnel
Handles to leave out, for example people you already contacted.keywords· array · optionnel
Words that should appear in their posts, videos, or bio. All platforms.metadata· object · optionnel
Your own labels for this search, example: {"campaign": "q4-outbound"}. Up to 10 keys; keys are 1-40 characters of a-z, 0-9, '_', '.', '-'; values are strings of up to 200 characters. Returned on the task; filter people-search-tasks by it. The search does not use it.platform· string · requis · x | youtube | linkedin | tiktok
Where to look: 'x' (X profiles), 'youtube' (YouTube creators), 'linkedin' (LinkedIn members), or 'tiktok' (TikTok creators).countries· array · optionnel
Countries to prefer, example: ['US', 'GB']. x, youtube, linkedin.min_score· integer · optionnel
Only return people with at least this fit score (0-100).max_followers· integer · optionnel
Maximum follower count. x, linkedin, tiktok.min_followers· integer · optionnel
Minimum follower count. x, linkedin, tiktok.verified_only· boolean · optionnel
Only verified or X Premium accounts. x only.idempotency_key· string · optionnel
Any unique string for this search, for example a UUID. Sending the same key again returns the first task and is not charged again.max_subscribers· integer · optionnel
Maximum subscriber count. youtube only.min_subscribers· integer · optionnel
Minimum subscriber count. youtube only.require_contact· boolean · optionnel
Only creators with a public email (tiktok: in the bio; youtube: an email or contact link). youtube, tiktok.exclude_keywords· array · optionnel
Leave out people who mention these words. All platforms.
Exemple d'appel{"name": "people-search", "arguments": {"query": "texte", "platform": "x"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - people-search-control≈ 291 tokens
Pause, resume, or cancel a People Search task. Free. pause: a queued search pauses at once; a running one finishes its current batch first (status pausing, then paused). A search paused for more than 7 days is cancelled. resume: continues a paused search where it stopped, with no new charge. cancel: stops the search 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.
Paramètres, retour & exemple (2)
Paramètresaction· string · requis · pause | resume | cancel
'pause', 'resume', or 'cancel'. cancel cannot be undone.task_id· string · requis
task_id returned by people-search, example: '3f1c2b9e-8d4a-4c1e-9b7a-2e5f6a7b8c9d'
Exemple d'appel{"name": "people-search-control", "arguments": {"action": "pause", "task_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - people-search-status≈ 471 tokens
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. 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.
Paramètres, retour & exemple (4)
Paramètreslimit· integer · optionnel
People per page (1-100, default 25).cursor· string · optionnel
next_cursor from the previous people-search-status call. Omit to start from the first person.task_id· string · requis
task_id returned by people-search, example: '3f1c2b9e-8d4a-4c1e-9b7a-2e5f6a7b8c9d'include_people· boolean · optionnel
Set false to read only the status, progress, and cost.
Exemple d'appel{"name": "people-search-status", "arguments": {"task_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - people-search-tasks≈ 412 tokens
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. 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.
Paramètres, retour & exemple (5)
Paramètreslimit· integer · optionnel
Tasks per page (1-100, API default 20).cursor· string · optionnel
next_cursor from the previous page. Keep the same metadata filter when you page.status· array · optionnel
Only tasks in these statuses, example: ['running', 'paused'].metadata· object · optionnel
Only tasks whose metadata has all of these key/value pairs (exact match, up to 3), example: {"campaign": "q4-outbound"}.platform· string · optionnel · x | youtube | linkedin | tiktok
Only tasks on this platform: 'x', 'youtube', 'linkedin', or 'tiktok'.
Exemple d'appel{"name": "people-search-tasks", "arguments": {"limit": 1, "cursor": "texte", "status": [], "metadata": {}, "platform": "x"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - search≈ 216 tokens
Search the public web and return titles and links. Use fetch with a result URL to read the page.
Paramètres, retour & exemple (1)
Paramètresquery· string · requis
Search query.
Exemple d'appel{"name": "search", "arguments": {"query": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"results": []}} - web-crawl≈ 269 tokens
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
Paramètres, retour & exemple (4)
Paramètresjs· boolean · optionnel
Render JavaScript before reading the page.url· string · requis
Public URL to read, example: 'https://desearch.ai'wait· number · optionnel
Post-load wait in milliseconds when JavaScript rendering is enabled.format· string · optionnel · html | text
Content format to return: 'html' or 'text'.
Exemple d'appel{"name": "web-crawl", "arguments": {"url": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - web-links-search≈ 238 tokens
Search the web for links using Desearch. Only the web source is accepted.
Paramètres, retour & exemple (3)
Paramètrescount· integer · optionnel
Results to return per source. Min 10. Max 200.tools· array · optionnel
Sources to search. Only 'web' is accepted; other ids are rejected before the API call. 'Web Search' is accepted and rewritten to 'web'. Defaults to ['web'].prompt· string · requis
Search query prompt, example: 'open source browser automation tools'
Exemple d'appel{"name": "web-links-search", "arguments": {"prompt": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - web-search≈ 162 tokens
SERP-style web search using Desearch. Returns ranked titles, links, and snippets.
Paramètres, retour & exemple (2)
Paramètresquery· string · requis
Search query, example: 'latest news on AI'start· integer · optionnel
How many results to skip for pagination (0, 10, 20, ...). Omit for the first page.
Exemple d'appel{"name": "web-search", "arguments": {"query": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - x-links-search≈ 167 tokens
AI search for X (Twitter) post links using Desearch. Returns links from posts that match the prompt.
Paramètres, retour & exemple (2)
Paramètrescount· integer · optionnel
Results to return. Min 10. Max 200.prompt· string · requis
Search query prompt, example: 'Bittensor subnet updates'
Exemple d'appel{"name": "x-links-search", "arguments": {"prompt": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - x-post-by-id≈ 120 tokens
Fetch a single X (Twitter) post by its ID.
Paramètres, retour & exemple (1)
Paramètresid· string · requis
The unique ID of the post, example: '1234567890'
Exemple d'appel{"name": "x-post-by-id", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - x-post-replies≈ 180 tokens
Fetch replies to an X (Twitter) post, with an optional keyword query.
Paramètres, retour & exemple (3)
Paramètrescount· integer · optionnel
Number of posts to retrieve (1-100).query· string · optionnel
Advanced search query to filter replies.post_id· string · requis
The ID of the post to fetch replies for.
Exemple d'appel{"name": "x-post-replies", "arguments": {"post_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - x-post-retweeters≈ 157 tokens
List users who retweeted an X (Twitter) post. Pass cursor to page through more users.
Paramètres, retour & exemple (2)
Paramètresid· string · requis
The ID of the post to get retweeters for.cursor· string · optionnel
Cursor for pagination from a previous response.
Exemple d'appel{"name": "x-post-retweeters", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - x-posts-by-urls≈ 140 tokens
Fetch full X (Twitter) posts for a list of post URLs.
Paramètres, retour & exemple (1)
Paramètresurls· array · requis
Post URLs to fetch, example: ['https://x.com/user/status/123']
Exemple d'appel{"name": "x-posts-by-urls", "arguments": {"urls": []}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - x-posts-by-user≈ 184 tokens
Search X (Twitter) posts by a specific user, with an optional keyword query.
Paramètres, retour & exemple (3)
Paramètresuser· string · requis
User to search for, example: 'elonmusk'count· integer · optionnel
Number of posts to retrieve (1-100).query· string · optionnel
Advanced search query to filter this user's posts.
Exemple d'appel{"name": "x-posts-by-user", "arguments": {"user": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - x-search≈ 453 tokens
Search X (Twitter) using Desearch AI. Optional filters narrow by user, date, language, verification, media, and engagement. Sort stays Top.
Paramètres, retour & exemple (14)
Paramètreslang· string · optionnel
Language code, example: 'en', 'es', 'fr'user· string · optionnel
User to search for, example: 'elonmusk'count· number · optionnel
Number of search results to return (default: 20), max is 100query· string · requis
Twitter advanced search query, example: 'from:elonmusk since:2023-01-01 min_replies:10'end_date· string · optionnel
End date in UTC (YYYY-MM-DD). Use with start_date.is_image· boolean · optionnel
Include only posts with images.is_quote· boolean · optionnel
Include only posts that are quotes.is_video· boolean · optionnel
Include only posts with video.verified· boolean · optionnel
Filter for verified users.min_likes· integer · optionnel
Minimum number of likes.start_date· string · optionnel
Start date in UTC (YYYY-MM-DD). Use with end_date.min_replies· integer · optionnel
Minimum number of replies.min_retweets· integer · optionnel
Minimum number of retweets.blue_verified· boolean · optionnel
Filter for blue-checkmark verified users.
Exemple d'appel{"name": "x-search", "arguments": {"query": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - x-trends≈ 162 tokens
Retrieve trending topics on X (Twitter) for a location by its WOEID using Desearch.
Paramètres, retour & exemple (2)
Paramètrescount· integer · optionnel
Number of trends to return (30-100).woeid· integer · requis
WOEID of the location, example: 23424977 for the United States.
Exemple d'appel{"name": "x-trends", "arguments": {"woeid": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - x-user-posts≈ 162 tokens
Retrieve a user's X (Twitter) timeline posts by username. Pass cursor to page through more posts.
Paramètres, retour & exemple (2)
Paramètrescursor· string · optionnel
Cursor for pagination from a previous response.username· string · requis
Username to fetch posts for, example: 'elonmusk'
Exemple d'appel{"name": "x-user-posts", "arguments": {"username": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - x-user-replies≈ 190 tokens
Fetch posts and replies by an X (Twitter) user, with an optional keyword query.
Paramètres, retour & exemple (3)
Paramètresuser· string · requis
Username of the user to search for, example: 'elonmusk'count· integer · optionnel
Number of posts to retrieve (1-100).query· string · optionnel
Advanced search query to filter this user's posts and replies.
Exemple d'appel{"name": "x-user-replies", "arguments": {"user": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]}
C'est votre serveur ?
Revendiquez-le sur l'espace créateur (preuve GitHub, domaine ou npm) pour afficher le badge « propriétaire vérifié » et lancer un pentest comportemental à la demande afin d'obtenir le badge « Vérifié ».