{"name":"com.replynodes/mcp","slug":"replynodes-mcp","title":"ReplyNodes","description":"Web MCP: scrape/crawl sites, web search, brand assets, app stores, YouTube, Reddit, Hacker News.","url":"https://mcp.market/server/replynodes-mcp","rating":null,"grade":"A","score":89,"certified":false,"status":"active","category":"scraping","tags":["scraping","search","media"],"presence":{"score":30,"stars":4,"forks":0,"downloads_week":null,"last_push_at":"2026-09-16T09:52:39.000Z","license":"MIT"},"claimed":false,"transport":"remote","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/replynodes/replynodes-mcp","website":"https://replynodes.com/mcp","version":"1.0.3","remotes":[{"type":"streamable-http","url":"https://mcp.replynodes.com/mcp","headers":[{"description":"ReplyNodes API key sent as a Bearer token for authenticated access.","isRequired":true,"isSecret":true,"name":"Authorization"}]}],"packages":[],"tools":[{"name":"appstore_app","description":"Read-only appstore app operation Normalized App records. Use when: you already have an App Store id or bundle id (from appstore_search or appstore_list) and need the full normalized app record: name, price, category, developer, description. Related tools: appstore_search, appstore_ratings, appstore_reviews, appstore_privacy.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"appId":{"type":"string"},"country":{"type":"string"},"id":{"type":"string"},"lang":{"type":"string"},"ratings":{"type":"boolean"}}}},{"name":"appstore_developer","description":"Read-only appstore developer operation Normalized App records. Use when: listing every app a developer has published, given their App Store developer id. Related tools: appstore_app, appstore_search.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"country":{"type":"string"},"devId":{"type":"string"},"lang":{"type":"string"},"language":{"type":"string"}},"required":["devId"]}},{"name":"appstore_list","description":"Read-only appstore list operation Normalized App records. Use when: browsing a category or collection chart (top free, top grossing, new) instead of searching by keyword. Related tools: appstore_search, appstore_app.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"category":{"type":"string"},"collection":{"type":"string"},"country":{"type":"string"},"fullDetail":{"type":"boolean"},"lang":{"type":"string"},"language":{"type":"string"},"num":{"maximum":200,"minimum":1,"type":"integer"}}}},{"name":"appstore_privacy","description":"Read-only appstore privacy operation Privacy details envelope. Use when: auditing the data types an app declares collecting under Apple's privacy nutrition label, given its id. Related tools: appstore_app, appstore_ratings.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"]}},{"name":"appstore_ratings","description":"Read-only appstore ratings operation Ratings summary envelope. Use when: a quick average rating and star-count histogram for an app, without reading individual reviews. Related tools: appstore_reviews, appstore_app.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"appId":{"type":"string"},"country":{"type":"string"},"id":{"type":"string"}}}},{"name":"appstore_reviews","description":"Read-only appstore reviews operation Review list envelope. Use when: reading paginated customer review text and scores for a specific app id — sentiment analysis, complaint mining, feature requests. Related tools: appstore_ratings, appstore_app.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"appId":{"type":"string"},"country":{"type":"string"},"id":{"type":"string"},"page":{"maximum":10,"minimum":1,"type":"integer"},"sort":{"type":"string"}}}},{"name":"appstore_search","description":"Read-only appstore search operation Normalized App records. Use when: resolving a keyword or brand name to App Store app ids before looking up details, ratings, or reviews for a specific app. Related tools: appstore_suggest, appstore_app, appstore_similar.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"country":{"type":"string"},"idsOnly":{"type":"boolean"},"lang":{"type":"string"},"language":{"type":"string"},"num":{"maximum":50,"minimum":1,"type":"integer"},"page":{"maximum":200,"minimum":1,"type":"integer"},"term":{"type":"string"}},"required":["term"]}},{"name":"appstore_similar","description":"Read-only appstore similar operation Normalized App records. Use when: competitive discovery — surfacing apps the App Store considers similar to a known app id. Related tools: appstore_app, appstore_search.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"appId":{"type":"string"},"country":{"type":"string"},"id":{"type":"string"},"lang":{"type":"string"}}}},{"name":"appstore_suggest","description":"Read-only appstore suggest operation Suggested search terms envelope. Use when: resolving a partial or fuzzy query into canonical App Store search terms before calling appstore_search. Related tools: appstore_search.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"term":{"type":"string"}},"required":["term"]}},{"name":"brand_fonts","description":"Read-only brand brand_fonts operation Extract typography and font information from any website. Use when: you only need the typography/font stack a site uses, not the full brand profile or color palette. Related tools: brand_styleguide, brand_retrieve.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"domain":{"type":"string"},"url":{"type":"string"}}}},{"name":"brand_retrieve","description":"Read-only brand brand_retrieve operation Resolve a full brand profile by company domain, or extract details from one specific page URL. Use when: you have a company domain (or one specific page URL) and need the full brand profile — name, logo, colors, social links, description. Related tools: brand_search, brand_styleguide, brand_fonts, webcontext_brand.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"domain":{"type":"string"},"url":{"type":"string"}}}},{"name":"brand_search","description":"Read-only brand brand_search operation Search brands by name or domain and get up to 10 lightweight matches with domain, name, and logo. Use when: you only have a fuzzy brand or company name, not a domain, and need candidate matches before calling brand_retrieve. Related tools: brand_retrieve.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"limit":{"maximum":10,"minimum":1,"type":"integer"},"query":{"type":"string"}},"required":["query"]}},{"name":"brand_styleguide","description":"Read-only brand brand_styleguide operation Extract a design system from a website: colors, typography, spacing, and more. Use when: extracting a site's design system specifically — color palette, typography scale, spacing — rather than the general brand profile. Related tools: brand_retrieve, brand_fonts.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"domain":{"type":"string"},"url":{"type":"string"}}}},{"name":"googleplay_app_details","description":"Read-only googleplay googleplay_app_details operation Normalized single Google Play app record. Use when: you already have a Google Play package id (from googleplay_search or googleplay_category_apps) and need the full normalized app record. Related tools: googleplay_search, googleplay_reviews, googleplay_permissions, googleplay_data_safety.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"country":{"type":"string"},"id":{"type":"string"},"language":{"type":"string"}},"required":["id"]}},{"name":"googleplay_availability","description":"Read-only googleplay googleplay_availability operation Per-storefront app availability envelope. Use when: checking which country storefronts a specific package id is published in. Related tools: googleplay_app_details.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"countries":{"type":"string"},"country":{"type":"string"},"id":{"type":"string"},"language":{"type":"string"}},"required":["id"]}},{"name":"googleplay_categories","description":"Read-only googleplay googleplay_categories operation Available Google Play category identifiers. Use when: you need the valid category identifiers before calling googleplay_category_apps — Play categories are fixed codes, not free text. Related tools: googleplay_category_apps.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"country":{"type":"string"},"language":{"type":"string"}}}},{"name":"googleplay_category_apps","description":"Read-only googleplay googleplay_category_apps operation Top apps in the given category. Use when: browsing the top apps in one Google Play category instead of searching by keyword. Related tools: googleplay_categories, googleplay_search.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"category":{"type":"string"},"country":{"type":"string"},"language":{"type":"string"},"limit":{"maximum":50,"minimum":1,"type":"integer"}},"required":["category"]}},{"name":"googleplay_data_safety","description":"Read-only googleplay googleplay_data_safety operation Declared data-safety disclosure envelope. Use when: reading the developer-declared Play data-safety disclosure (what data is collected/shared) for a package id. Related tools: googleplay_app_details, googleplay_permissions.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"country":{"type":"string"},"id":{"type":"string"},"language":{"type":"string"}},"required":["id"]}},{"name":"googleplay_developer","description":"Read-only googleplay googleplay_developer operation Apps published by the given developer. Use when: listing every app a developer has published on Google Play, given their dev_id. Related tools: googleplay_app_details, googleplay_search.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"country":{"type":"string"},"dev_id":{"type":"string"},"language":{"type":"string"},"limit":{"maximum":50,"minimum":1,"type":"integer"}},"required":["dev_id"]}},{"name":"googleplay_permissions","description":"Read-only googleplay googleplay_permissions operation Declared app permissions. Use when: listing the Android permissions an app declares requesting, given its package id. Related tools: googleplay_app_details, googleplay_data_safety.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"country":{"type":"string"},"id":{"type":"string"},"language":{"type":"string"}},"required":["id"]}},{"name":"googleplay_reviews","description":"Read-only googleplay googleplay_reviews operation Review list envelope. Use when: reading paginated customer review text and scores for a package id — pass next_token from a prior call to keep paging. Related tools: googleplay_app_details.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"country":{"type":"string"},"id":{"type":"string"},"language":{"type":"string"},"limit":{"maximum":50,"minimum":1,"type":"integer"},"next_token":{"type":"string"},"score":{"maximum":5,"minimum":1,"type":"integer"},"sort":{"type":"integer"}},"required":["id"]}},{"name":"googleplay_search","description":"Read-only googleplay googleplay_search operation Normalized Google Play app search results. Use when: resolving a keyword or brand name to Google Play package ids before looking up details, reviews, or data-safety for a specific app. Related tools: googleplay_suggest, googleplay_app_details, googleplay_similar_apps.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"country":{"type":"string"},"language":{"type":"string"},"limit":{"maximum":50,"minimum":1,"type":"integer"},"term":{"type":"string"}},"required":["term"]}},{"name":"googleplay_similar_apps","description":"Read-only googleplay googleplay_similar_apps operation Apps similar to the given package. Use when: competitive discovery — apps Google Play considers similar to a known package id. Related tools: googleplay_app_details, googleplay_search.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"country":{"type":"string"},"id":{"type":"string"},"language":{"type":"string"},"limit":{"maximum":50,"minimum":1,"type":"integer"}},"required":["id"]}},{"name":"googleplay_suggest","description":"Read-only googleplay googleplay_suggest operation Suggested search terms envelope. Use when: resolving a partial or fuzzy query into canonical Google Play search terms before calling googleplay_search. Related tools: googleplay_search.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"country":{"type":"string"},"language":{"type":"string"},"limit":{"maximum":50,"minimum":1,"type":"integer"},"term":{"type":"string"}},"required":["term"]}},{"name":"hackernews_item","description":"Read-only hackernews hackernews_item operation Single item plus its bounded comment tree under comments. Use when: you already have a numeric HN item id (from any stories_* list or hackernews_search) and need the full story plus its bounded comment tree; raise depth to pull deeper reply chains. Related tools: hackernews_stories_top, hackernews_search, hackernews_user.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"depth":{"maximum":10,"minimum":1,"type":"integer"},"id":{"type":"integer"}},"required":["id"]}},{"name":"hackernews_search","description":"Read-only hackernews hackernews_search operation Algolia HN Search results. Use when: keyword or tag search across all of Hacker News history via Algolia, not just what's currently on a front-page list. Related tools: hackernews_item, hackernews_stories_top.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"limit":{"maximum":100,"minimum":1,"type":"integer"},"page":{"minimum":0,"type":"integer"},"q":{"type":"string"},"tags":{"type":"string"}},"required":["q"]}},{"name":"hackernews_stories_ask","description":"Read-only hackernews hackernews_stories_ask operation Recent Ask HN stories, resolved to full items and paginated. Use when: recent \"Ask HN\" discussion threads specifically, not general front-page stories. Related tools: hackernews_item, hackernews_search.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"limit":{"maximum":100,"minimum":1,"type":"integer"},"page":{"minimum":1,"type":"integer"}}}},{"name":"hackernews_stories_best","description":"Read-only hackernews hackernews_stories_best operation Best-ranked stories, resolved to full items and paginated. Use when: all-time high-scoring stories rather than what's on the front page right now. Related tools: hackernews_stories_top, hackernews_item.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"limit":{"maximum":100,"minimum":1,"type":"integer"},"page":{"minimum":1,"type":"integer"}}}},{"name":"hackernews_stories_job","description":"Read-only hackernews hackernews_stories_job operation Recent job postings, resolved to full items and paginated. Use when: recent job postings on Hacker News specifically. Related tools: hackernews_item.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"limit":{"maximum":100,"minimum":1,"type":"integer"},"page":{"minimum":1,"type":"integer"}}}},{"name":"hackernews_stories_new","description":"Read-only hackernews hackernews_stories_new operation Newest stories, resolved to full items and paginated. Use when: the newest submissions in arrival order, before ranking has caught up — good for freshness-sensitive monitoring. Related tools: hackernews_stories_top, hackernews_item.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"limit":{"maximum":100,"minimum":1,"type":"integer"},"page":{"minimum":1,"type":"integer"}}}},{"name":"hackernews_stories_show","description":"Read-only hackernews hackernews_stories_show operation Recent Show HN stories, resolved to full items and paginated. Use when: recent \"Show HN\" project-launch threads specifically. Related tools: hackernews_item, hackernews_search.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"limit":{"maximum":100,"minimum":1,"type":"integer"},"page":{"minimum":1,"type":"integer"}}}},{"name":"hackernews_stories_top","description":"Read-only hackernews hackernews_stories_top operation Top front-page stories, resolved to full items and paginated. Use when: the current front page — highest-ranked live stories right now. Related tools: hackernews_stories_new, hackernews_stories_best, hackernews_item.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"limit":{"maximum":100,"minimum":1,"type":"integer"},"page":{"minimum":1,"type":"integer"}}}},{"name":"hackernews_user","description":"Read-only hackernews hackernews_user operation Normalized public user profile record. Use when: a public HN account's profile — karma, about text, account age — given their username. Related tools: hackernews_item.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"handle":{"type":"string"}},"required":["handle"]}},{"name":"reddit_post_by_id","description":"Read-only reddit post_by_id operation. One Reddit post plus its comment tree, looked up by post id. Use when: you already have a Reddit post id (from reddit_search_posts or reddit_subreddit_posts) and need the full post and comments. Related tools: reddit_post_by_permalink, reddit_subreddit_posts.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"]}},{"name":"reddit_post_by_permalink","description":"Read-only reddit post_by_permalink operation. One Reddit post plus its comment tree, looked up by permalink URL instead of a bare id. Use when: you have a full Reddit URL (e.g. pasted by a user) rather than a bare post id. Related tools: reddit_post_by_id.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"permalink":{"type":"string"}},"required":["permalink"]}},{"name":"reddit_search_posts","description":"Read-only reddit search_posts operation. Site-wide keyword search across Reddit posts. Use when: you don't yet know which subreddit holds relevant discussion and need to search across all of Reddit by keyword. Related tools: reddit_subreddit_posts, reddit_post_by_id.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"limit":{"maximum":100,"minimum":1,"type":"integer"},"query":{"type":"string"},"sort":{"type":"string"}},"required":["query"]}},{"name":"reddit_subreddit_posts","description":"Read-only reddit subreddit_posts operation. Listing of posts from one named subreddit, sorted by category (hot/new/top/...). Use when: you already know which subreddit to read and want its current listing rather than a keyword search. Related tools: reddit_search_posts, reddit_post_by_id.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"category":{"type":"string"},"limit":{"maximum":100,"minimum":1,"type":"integer"},"subreddit":{"type":"string"},"time_filter":{"type":"string"}},"required":["subreddit"]}},{"name":"reddit_user_activity","description":"Read-only reddit user_activity operation. A Reddit user's recent posts and comments, interleaved by time. Use when: profiling a redditor's overall recent activity, not just the posts they authored. Related tools: reddit_user_posts.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"limit":{"maximum":100,"minimum":1,"type":"integer"},"username":{"type":"string"}},"required":["username"]}},{"name":"reddit_user_posts","description":"Read-only reddit user_posts operation. A Reddit user's submitted posts only (no comments), filterable by category and time window. Use when: you specifically want what a user posted, not their comments — narrower than reddit_user_activity. Related tools: reddit_user_activity.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"category":{"type":"string"},"limit":{"maximum":100,"minimum":1,"type":"integer"},"time_filter":{"type":"string"},"username":{"type":"string"}},"required":["username"]}},{"name":"web_search_web_search","description":"Read-only web_search web_search operation Normalized public web-search results with title, URL, domain, snippet, favicon, engine, rank, and provenance metadata. Use when: you need general public web results for a query and don't already have a specific URL in hand; feed a resulting URL into webcontext_scrape to pull the actual page content. Related tools: webcontext_scrape, webcontext_crawl.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"date":{"type":"string"},"engines":{"type":"string"},"lang":{"type":"string"},"limit":{"maximum":100,"minimum":1,"type":"integer"},"region":{"type":"string"},"site":{"type":"string"},"start":{"minimum":0,"type":"integer"},"text":{"type":"string"}},"required":["text"]}},{"name":"webcontext_brand","description":"Read-only webcontext webcontext_brand operation Extract logos, colors, fonts, and basic public metadata for a site's brand identity. Use when: a lightweight logo/colors/fonts/metadata pull for one site URL; use the brand_* tools instead when you need a fuller brand profile or fuzzy brand-name search. Related tools: brand_retrieve, brand_styleguide, brand_fonts.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"url":{"type":"string"}},"required":["url"]}},{"name":"webcontext_crawl","description":"Read-only webcontext webcontext_crawl operation Crawl same-origin links from a URL; max_pages/max_depth are clamped server-side regardless of the requested value. Use when: you need content from multiple pages on the same site starting from one URL, not just a single page — max_pages/max_depth are clamped server-side. Related tools: webcontext_map, webcontext_scrape.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"max_depth":{"maximum":3,"minimum":1,"type":"integer"},"max_pages":{"maximum":50,"minimum":1,"type":"integer"},"url":{"type":"string"}},"required":["url"]}},{"name":"webcontext_map","description":"Read-only webcontext webcontext_map operation Discover URLs belonging to a site, deduplicated, without extracting page content. Use when: discovering what URLs exist on a site before deciding what to scrape or crawl, without paying for page content extraction. Related tools: webcontext_crawl, webcontext_scrape.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"url":{"type":"string"}},"required":["url"]}},{"name":"webcontext_scrape","description":"Read-only webcontext webcontext_scrape operation Clean Markdown for one URL, main-content-only by default, with optional CSS include/exclude selectors (comma-separated). Use when: you already have one specific URL and need its clean, main-content Markdown — after a web_search_web_search hit, or a URL supplied directly by the user. Related tools: web_search_web_search, webcontext_crawl, webcontext_map.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"exclude_selectors":{"type":"string"},"include_selectors":{"type":"string"},"url":{"type":"string"}},"required":["url"]}},{"name":"youtube_channel","description":"Read-only youtube youtube_channel operation Normalized channel envelope. Use when: a channel's profile given its channel id, rather than one specific video. Related tools: youtube_video, youtube_playlist.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"id":{"type":"string"},"language":{"type":"string"}},"required":["id"]}},{"name":"youtube_comments","description":"Read-only youtube youtube_comments operation Comment list envelope. Use when: reading viewer comment text for a video id — sentiment or feedback mining. Related tools: youtube_video.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"id":{"type":"string"},"limit":{"maximum":50,"minimum":1,"type":"integer"}},"required":["id"]}},{"name":"youtube_playlist","description":"Read-only youtube youtube_playlist operation Playlist envelope. Use when: listing the videos inside a playlist id, rather than a single video or a channel's uploads. Related tools: youtube_channel, youtube_video.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"id":{"type":"string"},"language":{"type":"string"}},"required":["id"]}},{"name":"youtube_related","description":"Read-only youtube youtube_related operation Related video envelope. Use when: discovering videos YouTube surfaces as related to a known video id — competitive/topical discovery. Related tools: youtube_video, youtube_search.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"id":{"type":"string"},"language":{"type":"string"}},"required":["id"]}},{"name":"youtube_search","description":"Read-only youtube youtube_search operation Search result envelope. Use when: resolving a keyword query to YouTube video ids before pulling details, comments, or a transcript for a specific video. Related tools: youtube_video, youtube_channel.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"language":{"type":"string"},"limit":{"maximum":50,"minimum":1,"type":"integer"},"term":{"type":"string"}},"required":["term"]}},{"name":"youtube_transcript","description":"Read-only youtube youtube_transcript operation Transcript envelope. Use when: you need the spoken/caption text of a video for summarization or search, not just its metadata. Related tools: youtube_video, youtube_comments.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"id":{"type":"string"},"language":{"type":"string"}},"required":["id"]}},{"name":"youtube_video","description":"Read-only youtube youtube_video operation Single video envelope. Use when: you already have a YouTube video id (from youtube_search or a URL) and need its normalized metadata — title, channel, stats, description. Related tools: youtube_search, youtube_comments, youtube_transcript, youtube_related.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"id":{"type":"string"},"language":{"type":"string"}},"required":["id"]}}],"scan":{"score":89,"grade":"A","scanned_at":"2026-09-19T10:16:18.214Z","report":{"scannerVersion":"0.1.3","scannedAt":"2026-09-19T10:16:18.186Z","components":{"code":{"score":-1,"max":25,"notes":["remote-only server, no package to scan"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 1978ms"]},"poisoning":{"score":15,"max":15,"notes":["51 tool descriptions checked"]},"auth":{"score":8,"max":15,"notes":["API key sent as a header"]},"maintenance":{"score":15,"max":15,"notes":["last push 3 days ago"]},"identity":{"score":9,"max":10,"notes":["registry namespace matches repository owner","website matches verified namespace"]}},"findings":[],"inputs":{"probes":[{"url":"https://mcp.replynodes.com/mcp","reachable":true,"authRequired":false,"latencyMs":1978,"serverInfo":{"name":"replynodes-fetcher","version":"dev"}}],"packages":[],"repo":{"found":true,"owner":"replynodes","repo":"replynodes-mcp","archived":false,"pushedAt":"2026-09-16T09:52:39Z","stars":4,"forks":0,"openIssues":9,"ownerType":"Organization","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/307085583?v=4","ownerCreatedAt":"2026-07-20T10:46:55Z","license":"MIT"},"icon":{"url":"https://mcp.replynodes.com/favicon.svg","source":"registry"},"presence":{"stars":4,"forks":0,"downloadsWeek":null,"license":"MIT","lastPushAt":"2026-09-16T09:52:39.000Z","score":30}}}},"grade_history":[],"reviews":[]}