{"passport":{"unfragile":{"@version":"1.0","version":"2026-05","artifact":{"id":"github_mcp-joeanamier-xhs-downloader","slug":"mcp-joeanamier-xhs-downloader","name":"XHS-Downloader","type":"cli","url":"https://github.com/JoeanAmier/XHS-Downloader","page_url":"https://unfragile.ai/mcp-joeanamier-xhs-downloader","categories":["data-pipelines"],"tags":["api","docker","download","fastapi","httpx","javascript","json","linux","macos","mcp-server","pyinstaller","python","rednote","server","sqlite","tampermonkey","textual","userscript","windows","xiaohongshu"],"pricing":{"model":"open_source","free":true,"starting_price":null},"status":"active","verified":false},"capabilities":[{"id":"github_mcp-joeanamier-xhs-downloader__cap_0","uri":"capability://data.processing.analysis.xiaohongshu.work.metadata.extraction.and.parsing","name":"xiaohongshu work metadata extraction and parsing","description":"Parses XiaoHongShu work URLs and extracts structured metadata including title, description, author info, media counts, and engagement metrics. Uses HTTP request interception with custom headers and cookie-based authentication to bypass platform restrictions, then deserializes JSON responses from XHS API endpoints into typed data structures for downstream processing.","intents":["Extract post metadata from a XiaoHongShu URL without visiting the platform directly","Retrieve author information and engagement statistics for content analysis","Parse work IDs and content structure for batch processing workflows"],"best_for":["Developers building content aggregation tools for XiaoHongShu","Data analysts collecting social media metrics at scale","Automation engineers integrating XHS content into workflows"],"limitations":["Requires valid XiaoHongShu cookies to access non-public content; cookie expiration breaks extraction","API endpoints may change without notice as platform updates; no version pinning available","Rate limiting enforced by XHS platform; no built-in backoff strategy beyond basic retry logic","Metadata extraction depends on platform HTML/API structure; structural changes require code updates"],"requires":["Python 3.9+","Valid XiaoHongShu account cookies (obtained via browser or config)","Network access to XiaoHongShu API endpoints","httpx library for async HTTP requests"],"input_types":["XiaoHongShu work URL (string)","Work ID (string)","Search query (string)"],"output_types":["JSON object with work metadata","Structured Python dict with title, author, media info, engagement stats"],"categories":["data-processing-analysis","web-scraping"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-joeanamier-xhs-downloader__cap_1","uri":"capability://automation.workflow.watermark.free.media.download.with.format.conversion","name":"watermark-free media download with format conversion","description":"Downloads images and videos from XiaoHongShu without platform watermarks by fetching clean media URLs from the platform's CDN, then stores files locally with configurable naming patterns and folder organization. Implements async batch downloading using httpx with connection pooling, progress tracking, and retry logic for failed transfers.","intents":["Download high-quality images and videos without XHS watermarks for archival or reuse","Batch download entire user profiles, collections, or search results to local storage","Organize downloaded media with custom folder structures and file naming conventions"],"best_for":["Content creators backing up their own XHS posts","Researchers collecting datasets of social media content","Automation engineers building content distribution pipelines"],"limitations":["Download speed limited by XHS CDN bandwidth; no parallel stream support within single file","File naming customization limited to predefined template variables; no arbitrary regex patterns","No built-in deduplication; downloading same work twice creates duplicate files","Video format conversion not supported; downloads in original platform format only","Storage path must be writable; no cloud storage backends (S3, GCS) supported"],"requires":["Python 3.9+","Write permissions to configured download directory","Sufficient disk space for media files","Network connectivity to XHS CDN endpoints","httpx library with async support"],"input_types":["XiaoHongShu work URL","Work ID","Media URL from metadata extraction"],"output_types":["Image files (JPG, PNG, WebP)","Video files (MP4, MOV)","Organized folder structure with metadata JSON"],"categories":["automation-workflow","data-processing-analysis"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-joeanamier-xhs-downloader__cap_10","uri":"capability://data.processing.analysis.batch.url.extraction.from.user.profiles.collections.and.search.results","name":"batch url extraction from user profiles, collections, and search results","description":"Extracts work URLs in bulk from XiaoHongShu user profiles (published works, favorites, likes), collections, and search results by paginating through API responses and collecting all work IDs. Implements pagination logic with configurable page size and maximum result limits, deduplication of extracted URLs, and progress tracking for long-running extractions. Returns a list of work URLs ready for batch downloading.","intents":["Extract all works from a user profile for bulk archival or analysis","Collect all results from a search query for content research","Extract favorite or liked works from a user's collection","Generate a list of URLs for downstream batch processing"],"best_for":["Researchers collecting datasets of social media content","Content creators backing up their entire profiles","Automation engineers building content aggregation pipelines"],"limitations":["Pagination is limited by XHS API; cannot extract more than ~1000 works per profile","Extraction speed depends on XHS API rate limits; may take hours for large profiles","No filtering by date range, engagement metrics, or content type during extraction","Deduplication is URL-based; same work with different URLs creates duplicates","Private or deleted works are skipped silently; no error reporting"],"requires":["Python 3.9+","Valid XiaoHongShu cookies for accessing user profiles","Network access to XHS API endpoints","Sufficient time for pagination (may take hours for large profiles)"],"input_types":["User ID (string)","Search query (string)","Collection ID (string)","Pagination parameters (page size, max results)"],"output_types":["List of work URLs (list of strings)","Work ID list (list of strings)","Extraction progress and statistics (dict)"],"categories":["data-processing-analysis","search-retrieval"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-joeanamier-xhs-downloader__cap_11","uri":"capability://text.generation.language.internationalization.i18n.with.multi.language.ui.support","name":"internationalization (i18n) with multi-language ui support","description":"Provides multi-language support for CLI, TUI, and API responses through a centralized i18n system that loads language files (JSON) at startup and substitutes localized strings throughout the application. Supports Chinese (Simplified/Traditional) and English with fallback to English if requested language is unavailable. Language selection is configurable via settings.json or environment variables.","intents":["Display CLI/TUI messages in user's preferred language","Provide API responses in multiple languages for international users","Support Chinese users with native language interface","Enable easy addition of new languages without code changes"],"best_for":["International teams using XHS-Downloader","Chinese users preferring native language interface","Developers maintaining multi-language applications"],"limitations":["Language files must be manually maintained; no automatic translation","Only Chinese and English supported; other languages require custom translation files","Language switching requires process restart; no hot-reload","File names and folder names are not translated; only UI messages","Error messages from external libraries (httpx, FastAPI) are not translated"],"requires":["Python 3.9+","Language JSON files in resources/i18n/ directory","settings.json with language configuration"],"input_types":["Language code (en, zh_CN, zh_TW)","Message key (string identifier)","Message parameters (dict for variable substitution)"],"output_types":["Localized message string","API response with localized text"],"categories":["text-generation-language","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-joeanamier-xhs-downloader__cap_12","uri":"capability://tool.use.integration.async.http.client.with.connection.pooling.and.retry.logic","name":"async http client with connection pooling and retry logic","description":"Implements a shared async HTTP client using httpx with connection pooling, automatic retry on transient failures (5xx errors, timeouts), exponential backoff, and custom headers (User-Agent, cookies) for XHS API requests. Reuses the same client instance across all requests to maximize connection reuse and minimize overhead. Implements timeout handling and graceful degradation on network errors.","intents":["Make efficient HTTP requests to XHS API with automatic retries on failure","Reuse TCP connections across multiple requests to reduce latency","Handle transient network errors without failing entire batch operations","Respect rate limits through backoff strategies"],"best_for":["Batch operations making hundreds of API requests","Long-running processes that need resilience to transient failures","Applications requiring low-latency API access"],"limitations":["Retry logic is basic exponential backoff; no adaptive rate limiting","Connection pool size is fixed; cannot adjust for high-concurrency scenarios","Timeout values are hardcoded; no per-request timeout customization","No request logging or metrics; difficult to debug network issues","Retry logic doesn't distinguish between retryable and permanent errors"],"requires":["Python 3.9+","httpx library with async support","Network connectivity to XHS API endpoints"],"input_types":["HTTP method (GET, POST)","URL (string)","Request headers (dict)","Request body (JSON)"],"output_types":["HTTP response (httpx.Response)","Response body (JSON or text)","HTTP status code (int)"],"categories":["tool-use-integration","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-joeanamier-xhs-downloader__cap_13","uri":"capability://automation.workflow.pyinstaller.executable.compilation.with.single.file.distribution","name":"pyinstaller executable compilation with single-file distribution","description":"Builds standalone executables for Windows, macOS, and Linux using PyInstaller, bundling Python runtime, dependencies, and application code into a single distributable file. Implements CI/CD workflows (GitHub Actions) that automatically compile executables on each release, with platform-specific optimizations and code signing for macOS. Executables include all required resources (i18n files, config templates) without external dependencies.","intents":["Distribute XHS-Downloader to non-technical users without requiring Python installation","Create platform-specific executables (Windows .exe, macOS .app, Linux binary)","Automate executable builds and releases via CI/CD pipeline","Simplify deployment by eliminating Python dependency management"],"best_for":["End users who don't have Python installed","Teams distributing XHS-Downloader to non-technical users","Developers automating release builds"],"limitations":["Executable size is large (~100-200MB) due to bundled Python runtime","Startup time is slower than native executables (~2-3 seconds)","Antivirus software may flag executables as suspicious due to bundled runtime","Code signing is manual on macOS; requires developer certificate","Executable updates require full re-download; no incremental patching"],"requires":["Python 3.9+","PyInstaller library","GitHub Actions for CI/CD (optional)","Platform-specific build environment (Windows, macOS, Linux)"],"input_types":["Python source code","Dependency list (requirements.txt)","Resource files (i18n, config templates)"],"output_types":["Windows executable (.exe)","macOS application bundle (.app)","Linux binary (ELF)"],"categories":["automation-workflow","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-joeanamier-xhs-downloader__cap_2","uri":"capability://memory.knowledge.sqlite.based.download.history.and.metadata.persistence","name":"sqlite-based download history and metadata persistence","description":"Maintains a local SQLite database tracking all downloaded works, including work IDs, metadata snapshots, download timestamps, and file paths. Implements schema migrations for version compatibility, deduplication checks to prevent re-downloading, and query interfaces for filtering by date, author, or content type. Database operations use async SQLite bindings to avoid blocking the main event loop.","intents":["Track which works have been downloaded to avoid duplicates in batch operations","Query download history by date range, author, or content type for analytics","Maintain metadata snapshots for works that may be deleted from the platform later","Resume interrupted batch downloads without reprocessing completed items"],"best_for":["Long-running batch download operations requiring deduplication","Researchers maintaining historical snapshots of social media content","Automation engineers building incremental sync workflows"],"limitations":["SQLite has no built-in replication; database file is single-machine only","No automatic backup mechanism; database corruption requires manual recovery","Query performance degrades with millions of records; no indexing optimization hints","Schema migrations are manual; no automatic schema version detection on startup","Concurrent write access from multiple processes causes locking; single-process only"],"requires":["Python 3.9+","Write permissions to database file location","aiosqlite library for async database access","SQLite 3.22+ (for JSON1 extension support)"],"input_types":["Work metadata (dict)","Download file path (string)","Timestamp (datetime)"],"output_types":["Query results (list of dicts)","Deduplication check (boolean)","Database schema version (string)"],"categories":["memory-knowledge","data-processing-analysis"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-joeanamier-xhs-downloader__cap_3","uri":"capability://tool.use.integration.multi.interface.request.routing.and.execution.mode.dispatch","name":"multi-interface request routing and execution mode dispatch","description":"Single entry point (main.py) dispatches to five distinct execution modes (CLI, TUI, API Server, MCP Server, UserScript) based on command-line arguments or environment configuration. All modes converge on the shared XHS core class, ensuring consistent business logic while allowing interface-specific input/output handling. Uses a layered architecture where the Manager class handles configuration, authentication, and resource lifecycle across all modes.","intents":["Run XHS-Downloader as a command-line tool for one-off downloads","Launch an interactive terminal UI for manual content browsing and selection","Start an HTTP API server for programmatic integration with external tools","Expose MCP (Model Context Protocol) endpoints for AI assistant integration","Inject browser UserScript for in-browser download triggers"],"best_for":["Developers integrating XHS-Downloader into heterogeneous toolchains","Teams needing both interactive and programmatic access to the same codebase","AI/LLM engineers building agents that interact with XHS content"],"limitations":["Mode selection is static at startup; cannot switch modes without restarting process","No built-in load balancing; API server runs single-threaded on one port","UserScript mode requires Tampermonkey/Greasemonkey browser extension; not all browsers supported","MCP server implementation is basic; no advanced protocol features like streaming or cancellation","Configuration changes require process restart; no hot-reload support"],"requires":["Python 3.9+","Command-line arguments or environment variables for mode selection","For API mode: available port 5556 (configurable)","For MCP mode: compatible AI assistant with MCP client support","For UserScript mode: Tampermonkey or Greasemonkey browser extension"],"input_types":["Command-line arguments (--url, --api, --mcp)","Environment variables (XHS_MODE)","Configuration file (settings.json)"],"output_types":["CLI: stdout/stderr text output","TUI: interactive terminal interface","API: JSON responses on HTTP endpoints","MCP: protocol-formatted responses","UserScript: browser downloads or server push"],"categories":["tool-use-integration","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-joeanamier-xhs-downloader__cap_4","uri":"capability://safety.moderation.cookie.based.authentication.with.browser.integration","name":"cookie-based authentication with browser integration","description":"Manages XiaoHongShu authentication through persistent cookies stored in configuration, with optional automatic extraction from browser cookies using platform-specific APIs (Windows Registry for Edge/Chrome, macOS Keychain, Linux SQLite). Implements cookie validation, expiration checking, and fallback to manual cookie input if automatic extraction fails. Cookies are encrypted in the settings.json file and decrypted at runtime.","intents":["Authenticate to XiaoHongShu without manual login for automated workflows","Extract cookies from existing browser sessions to avoid re-authentication","Validate cookie freshness and detect expiration before making API requests","Securely store credentials in configuration without exposing plaintext cookies"],"best_for":["Automation engineers running unattended batch downloads","Developers building CI/CD pipelines that interact with XHS","Users wanting to reuse existing browser authentication"],"limitations":["Cookie extraction requires browser-specific APIs; not all browsers supported (Edge, Chrome, Firefox only)","Cookies expire periodically; no automatic refresh mechanism; manual re-extraction required","Encryption uses basic XOR cipher; not suitable for high-security environments","Cookie validation is passive; doesn't test actual API access until first request","Browser cookie extraction requires local file system access; doesn't work in sandboxed environments"],"requires":["Python 3.9+","Valid XiaoHongShu account with active session","For auto-extraction: Chrome, Edge, or Firefox browser with accessible cookie storage","For manual entry: XHS cookies in settings.json configuration","cryptography library for cookie encryption/decryption"],"input_types":["Browser cookie storage (Windows Registry, macOS Keychain, SQLite)","Manual cookie string (from browser DevTools)","Configuration file (settings.json)"],"output_types":["Validated cookie dict","Cookie expiration timestamp","Authentication status (valid/expired/invalid)"],"categories":["safety-moderation","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-joeanamier-xhs-downloader__cap_5","uri":"capability://automation.workflow.terminal.user.interface.tui.with.clipboard.monitoring.and.interactive.settings","name":"terminal user interface (tui) with clipboard monitoring and interactive settings","description":"Provides an interactive terminal UI built with the Textual framework, featuring real-time clipboard monitoring for XHS URLs, interactive work preview, selective image index selection, and in-app settings management. Monitors the system clipboard in a background thread, detects XHS URLs, and prompts users to download. Implements keyboard shortcuts for navigation, filtering, and bulk operations on work lists.","intents":["Monitor clipboard for XHS links and download them with a single keystroke","Browse and preview work metadata in an interactive terminal interface","Select specific images from multi-image posts before downloading","Adjust download settings (folder, naming, format) without editing config files"],"best_for":["Individual users doing interactive content downloads","Power users wanting keyboard-driven workflows","Developers testing XHS-Downloader functionality locally"],"limitations":["Clipboard monitoring only works on systems with clipboard API support (Windows, macOS, Linux with X11/Wayland)","Terminal size must be at least 80x24 characters; smaller terminals cause rendering issues","No mouse support; keyboard-only navigation required","Textual framework adds ~50MB to executable size when compiled with PyInstaller","Real-time clipboard polling consumes ~1-2% CPU continuously"],"requires":["Python 3.9+","Textual framework (UI library)","pyperclip or equivalent clipboard library","Terminal emulator with ANSI color support","Unix-like OS or Windows 10+ for clipboard access"],"input_types":["Keyboard input (navigation, selection, commands)","System clipboard (XHS URLs)","Configuration settings (folder paths, naming templates)"],"output_types":["Interactive terminal UI with work list and preview","Download progress indicators","Settings confirmation messages"],"categories":["automation-workflow","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-joeanamier-xhs-downloader__cap_6","uri":"capability://tool.use.integration.fastapi.http.server.with.rest.endpoints.for.programmatic.access","name":"fastapi http server with rest endpoints for programmatic access","description":"Exposes XHS-Downloader functionality via FastAPI REST API server running on port 5556, providing endpoints for work detail retrieval, batch downloads, and history queries. Implements async request handling, request validation using Pydantic models, and JSON response serialization. Supports CORS for cross-origin requests and includes basic rate limiting via request queuing.","intents":["Integrate XHS-Downloader into external applications via HTTP API","Build web dashboards that query download history and work metadata","Trigger batch downloads from CI/CD pipelines or scheduled jobs","Expose XHS functionality to non-Python applications (Node.js, Go, Java, etc.)"],"best_for":["Developers building web applications that need XHS integration","DevOps engineers automating content downloads in CI/CD pipelines","Teams with heterogeneous tech stacks needing language-agnostic access"],"limitations":["Single-threaded event loop; concurrent requests are queued, not parallelized","No built-in authentication; any client with network access can call endpoints","Rate limiting is basic request queuing; no token bucket or sliding window algorithms","No request logging or audit trail; API calls are not recorded","Port 5556 is hardcoded; no configuration option to change it"],"requires":["Python 3.9+","FastAPI framework","Uvicorn ASGI server","Available network port 5556","Pydantic for request/response validation"],"input_types":["JSON request body with work URL or ID","Query parameters (image indices, download options)","HTTP headers (Content-Type, Accept)"],"output_types":["JSON response with work metadata","JSON array of download results","HTTP status codes (200, 400, 404, 500)"],"categories":["tool-use-integration","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-joeanamier-xhs-downloader__cap_7","uri":"capability://tool.use.integration.model.context.protocol.mcp.server.for.ai.assistant.integration","name":"model context protocol (mcp) server for ai assistant integration","description":"Exposes XHS-Downloader as an MCP server compatible with Claude, ChatGPT, and other AI assistants, allowing LLMs to call tools for work extraction, metadata retrieval, and batch downloads. Implements MCP protocol handlers for tool definition, tool invocation, and result serialization. Enables AI agents to autonomously discover and use XHS capabilities through the standard MCP interface.","intents":["Allow AI assistants to extract and download XHS content as part of multi-step workflows","Enable LLM agents to analyze XHS content metadata and make decisions about downloads","Integrate XHS-Downloader into AI-powered content curation and analysis pipelines","Provide AI assistants with a standardized interface to XHS functionality"],"best_for":["AI/LLM engineers building autonomous agents that interact with social media","Developers creating AI-powered content curation tools","Teams using Claude or ChatGPT with custom tool integrations"],"limitations":["MCP protocol implementation is basic; no streaming, cancellation, or advanced features","Tool definitions are static; cannot dynamically generate tools based on runtime state","No built-in error recovery; tool invocation failures are not automatically retried","Limited to MCP-compatible AI assistants; not all LLM platforms support MCP","Tool execution is synchronous from AI perspective; long downloads may timeout"],"requires":["Python 3.9+","MCP server library (mcp or equivalent)","AI assistant with MCP client support (Claude, ChatGPT with plugins, etc.)","Network connectivity between AI assistant and MCP server"],"input_types":["MCP tool invocation requests (JSON)","Tool parameters (work URL, download options)","AI assistant context and conversation history"],"output_types":["MCP tool results (JSON)","Work metadata and download status","Error messages and status codes"],"categories":["tool-use-integration","planning-reasoning"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-joeanamier-xhs-downloader__cap_8","uri":"capability://automation.workflow.browser.userscript.with.dual.mode.operation.standalone.and.server.push","name":"browser userscript with dual-mode operation (standalone and server-push)","description":"Injects a Tampermonkey/Greasemonkey UserScript into XiaoHongShu web pages that detects work links and provides download buttons. Operates in two modes: standalone (downloads directly via browser APIs) or server-push (sends download requests to a running XHS-Downloader instance). Implements DOM manipulation to inject UI elements, event listeners for download triggers, and optional WebSocket communication to the backend server.","intents":["Download XHS content directly from the browser without leaving the page","Extract work links and metadata while browsing XiaoHongShu","Push download tasks to a running XHS-Downloader server for processing","Batch download multiple works from search results or user profiles"],"best_for":["Individual users wanting in-browser download convenience","Content creators backing up their own posts while browsing","Teams with a central XHS-Downloader server that users push tasks to"],"limitations":["Requires Tampermonkey or Greasemonkey extension; not available in all browsers","Standalone mode downloads are limited by browser CORS policies; may fail for some media","Server-push mode requires a running XHS-Downloader instance; adds infrastructure dependency","UserScript execution is sandboxed; cannot access system file system in standalone mode","XiaoHongShu page structure changes break the DOM selectors; requires manual updates"],"requires":["Tampermonkey or Greasemonkey browser extension","Modern browser with ES6 JavaScript support (Chrome, Firefox, Edge, Safari)","For server-push mode: running XHS-Downloader instance with API server enabled","Network access to XiaoHongShu website"],"input_types":["XiaoHongShu web page DOM","User clicks on injected download buttons","Configuration (script_server=true for server-push mode)"],"output_types":["Browser downloads (standalone mode)","HTTP requests to XHS-Downloader server (server-push mode)","UI notifications and progress indicators"],"categories":["automation-workflow","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-joeanamier-xhs-downloader__cap_9","uri":"capability://automation.workflow.configurable.file.naming.and.folder.organization.with.template.variables","name":"configurable file naming and folder organization with template variables","description":"Provides customizable file naming and folder structure through template variables (work ID, author, title, date, etc.) defined in settings.json. Implements a template engine that substitutes variables at download time, sanitizes file names to remove invalid characters, and creates nested folder hierarchies based on template patterns. Supports conditional folder creation based on content type (image vs. video).","intents":["Organize downloaded content by author, date, or content type without manual sorting","Use consistent naming conventions across all downloads for easy identification","Create folder hierarchies that match project or archival requirements","Avoid file name conflicts by including work IDs or timestamps in names"],"best_for":["Researchers maintaining organized content archives","Content creators backing up their own posts with consistent naming","Teams with specific file organization requirements"],"limitations":["Template variables are predefined; cannot use custom variables or computed values","No regex-based pattern matching; only simple variable substitution","File name sanitization removes special characters; some information may be lost","Folder creation is synchronous; large hierarchies may cause brief delays","No deduplication by file name; identical files with different names create duplicates"],"requires":["Python 3.9+","settings.json configuration file with template variables defined","Write permissions to target download directory"],"input_types":["Template string with variable placeholders (e.g., '{author}/{date}/{title}')","Work metadata dict with variable values","File extension (jpg, mp4, etc.)"],"output_types":["Sanitized file name (string)","Full file path with folder hierarchy (string)","Created folder structure (file system)"],"categories":["automation-workflow","data-processing-analysis"],"confidence":0.5,"matches":0,"success_rate":0}],"trust":{"score":52,"verified":false,"data_access_risk":"high","permissions":["Python 3.9+","Valid XiaoHongShu account cookies (obtained via browser or config)","Network access to XiaoHongShu API endpoints","httpx library for async HTTP requests","Write permissions to configured download directory","Sufficient disk space for media files","Network connectivity to XHS CDN endpoints","httpx library with async support","Valid XiaoHongShu cookies for accessing user profiles","Network access to XHS API endpoints"],"failure_modes":["Requires valid XiaoHongShu cookies to access non-public content; cookie expiration breaks extraction","API endpoints may change without notice as platform updates; no version pinning available","Rate limiting enforced by XHS platform; no built-in backoff strategy beyond basic retry logic","Metadata extraction depends on platform HTML/API structure; structural changes require code updates","Download speed limited by XHS CDN bandwidth; no parallel stream support within single file","File naming customization limited to predefined template variables; no arbitrary regex patterns","No built-in deduplication; downloading same work twice creates duplicate files","Video format conversion not supported; downloads in original platform format only","Storage path must be writable; no cloud storage backends (S3, GCS) supported","Pagination is limited by XHS API; cannot extract more than ~1000 works per profile","builder identity is not verified yet","no observed match outcomes yet"],"rank_breakdown":{"adoption":0.6845561008518177,"quality":0.5,"ecosystem":0.6000000000000001,"match_graph":0.25,"freshness":0.75,"weights":{"adoption":0.25,"quality":0.25,"ecosystem":0.1,"match_graph":0.28,"freshness":0.12}},"observed_outcomes":{"matches":0,"success_rate":0,"avg_confidence":0,"top_intents":[],"last_matched_at":null},"maintenance":{"status":"active","updated_at":"2026-05-24T12:16:22.065Z","last_scraped_at":"2026-05-03T14:23:31.492Z","last_commit":"2026-04-28T14:15:57Z"},"community":{"stars":11032,"forks":1674,"weekly_downloads":null,"model_downloads":null,"model_likes":null}},"distribution":{"claim_url":"https://unfragile.ai/submit?claim=mcp-joeanamier-xhs-downloader","compare_url":"https://unfragile.ai/compare?artifact=mcp-joeanamier-xhs-downloader"}},"signature":"FIBh6XoR4/o+NPTvJ8BqWgBIc07FFZsA+5n6fys9ySsw2DnFeYEBkJUlnYI9PZDjdZ3+OWD06p5nqCSrA2ypDQ==","signedAt":"2026-06-21T22:51:53.653Z","signedBy":"unfragile.ai","version":1},"_links":{"self":"https://unfragile.ai/api/v1/passport/mcp-joeanamier-xhs-downloader","artifact":"https://unfragile.ai/mcp-joeanamier-xhs-downloader","verify":"https://unfragile.ai/api/v1/verify?slug=mcp-joeanamier-xhs-downloader","publicKey":"https://unfragile.ai/api/v1/trust-passport-public-key","spec":"https://unfragile.ai/trust","schema":"https://unfragile.ai/schema.json","docs":"https://unfragile.ai/docs"}}