agdata
by shveik.dev · remote · no sign-in to list tools · v1.0.0 · published by dev.shveik
Unblocking and fresh web data for agents: URL to Markdown, YouTube, Maps, Amazon, jobs. Pay per call
31 tools: 1 do something that can't be undone, 24 change things and 6 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone1Claude Code: ask: see these tools
- Changes things24Claude Code: ask: see these tools
- Only reads6Claude Code: allow: see these tools
5 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http agdata https://agdata.shveik.dev/mcpFindings
Matches of fixed checks, with the text they matched.
- Warnx-replies
The server marks "x-replies" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "x-replies" says "reply": a word for sending, and what is sent cannot be taken back.
- Warnyoutube-comments
The server marks "youtube-comments" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "youtube-comments" says "comment": a word for a change.
- Warntiktok-comments
The server marks "tiktok-comments" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "tiktok-comments" says "comment": a word for a change.
The server marks "instagram-comments" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "instagram-comments" says "comment": a word for a change.
- Warnlinkedin-posts
The server marks "linkedin-posts" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "linkedin-posts" says "post": a word for a change.
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
31 tools
Can't be undone 1Claude Code: ask
x-repliesReplies to a post on X (Twitter) for AI agents: send the post's URL and get the replies as JSON: text, time, likes, reposts, replies, views and the author's handle.1 finding
Why it is in this group
- The name "x-replies" says "reply": a word for sending, and what is sent cannot be taken back.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "x-replies" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "x-replies" says "reply": a word for sending, and what is sent cannot be taken back.
Description, as the server wrote it Replies to a post on X (Twitter) for AI agents: send the post's URL and get the replies as JSON: text, time, likes, reposts, replies, views and the author's handle. Up to 50 replies per call. Pay per call in stablecoins; replies you paid for but did not get are refunded. Not offered on Solana: pay on Base or Polygon.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- readOnlyHint: true
Changes things 24Claude Code: ask
amazonKeyword search on Amazon.com (US store): up to 20 products per call, each filled in from its product page.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Keyword search on Amazon.com (US store): up to 20 products per call, each filled in from its product page. Body: {query, limit}. The normalized object per product: asin, title, brand, price, list_price, currency, rating, reviews_count, in_stock, seller, image, url, description and the features bullet list. Good for price checks and product comparison.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- readOnlyHint: true
amazon-reviewsAmazon product reviews API for AI agents: send an ASIN or an Amazon product URL and get up to 50 customer reviews as JSON: rating, title, text, date, verified-purchase flag and hel…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Amazon product reviews API for AI agents: send an ASIN or an Amazon product URL and get up to 50 customer reviews as JSON: rating, title, text, date, verified-purchase flag and helpful votes. Sort by recent or helpful, filter by stars, and pick the marketplace (US, UK, DE, FR, IT, ES, CA, JP). Reviewer names and photos are not returned. A product with no reviews is not charged.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- readOnlyHint: true
ebay-soldeBay sold listings API for AI agents: send a keyword, get sold items as JSON for resale comps: sold price, currency, shipping, total, sale date, condition, listing type, bids, sell…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it eBay sold listings API for AI agents: send a keyword, get sold items as JSON for resale comps: sold price, currency, shipping, total, sale date, condition, listing type, bids, seller feedback. Eight eBay marketplaces, last 1 to 90 days, new or used. No seller names or thumbnails. A search with no results is not charged.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- readOnlyHint: true
feedbackFree.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Free. Tell the people who run this service what worked, what failed or what you miss: a bug, an idea or a thanks. A person reads it. No payment, no account; limited to a few messages an hour.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
- readOnlyHint: false
google-mapsGoogle Maps places for a search term, optionally narrowed to an area: {"query":"coffee shops","location":"Prague","limit":5}.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Google Maps places for a search term, optionally narrowed to an area: {"query":"coffee shops","location":"Prague","limit":5}. Up to 20 places per call. Each place comes back with title, categoryName, address, phone, website, totalScore (rating), reviewsCount, location (lat, lng), openingHours, price, placeId and its Maps url. Common uses are local lead lists, store and competitor mapping, and checking a business's hours or phone number.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- readOnlyHint: true
google-maps-reviewsGoogle Maps reviews API for AI agents: send a place_id or a Google Maps place URL and get up to 50 reviews as JSON: stars, text and its translation, date, likes, the owner's reply,…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Google Maps reviews API for AI agents: send a place_id or a Google Maps place URL and get up to 50 reviews as JSON: stars, text and its translation, date, likes, the owner's reply, plus the place's name, address and rating. Sort by newest, relevant, highest or lowest. Reviewer names, profiles and photos are not returned. A place with no reviews is not charged; reviews you paid for but did not get are refunded.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- readOnlyHint: true
google-newsGoogle News search API for AI agents: send a keyword or phrase and get up to 30 current news articles as JSON: headline, publisher, publish time, a short description and the articl…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Google News search API for AI agents: send a keyword or phrase and get up to 30 current news articles as JSON: headline, publisher, publish time, a short description and the article's link. Choose the language and country edition. Articles you paid for but did not get are refunded.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- readOnlyHint: true
google-play-reviewsGoogle Play app reviews API for AI agents: send an Android package name or a Google Play app URL and get up to 200 reviews as JSON: rating, text, date, app version, language and he…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Google Play app reviews API for AI agents: send an Android package name or a Google Play app URL and get up to 200 reviews as JSON: rating, text, date, app version, language and helpful votes. Sort by newest, relevance or rating and filter by stars. Reviewer names and photos are not returned. An app with no reviews is not charged.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- readOnlyHint: true
indeed-jobsIndeed jobs search API for AI agents: send a job title and an optional location and country and get up to 50 job listings as JSON: title, employer, location, posting date, job type…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Indeed jobs search API for AI agents: send a job title and an optional location and country and get up to 50 job listings as JSON: title, employer, location, posting date, job types, benefits, salary range when listed and the listing's description. Filter by how recently a job was posted; 60 countries. Jobs you paid for but did not get are refunded.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- readOnlyHint: true
instagramInstagram posts as JSON.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Instagram posts as JSON. Mode profile returns an account's posts, hashtag returns posts under a tag, and search or user take a keyword and scrape the best-matching hashtag or account. Send {mode, query, limit} with limit 1-20. Each post has a normalized object: caption, likes, comments_count, views, posted_at, media_type, media_url, hashtags, author, author_name, shortcode, url. No Instagram login or API key needed.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- readOnlyHint: true
instagram-commentsInstagram comments API for AI agents: send the URL of a post or reel and get its comments as JSON: text, time, likes and reply count.1 finding
Why it is in this group
- The name "instagram-comments" says "comment": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "instagram-comments" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "instagram-comments" says "comment": a word for a change.
Description, as the server wrote it Instagram comments API for AI agents: send the URL of a post or reel and get its comments as JSON: text, time, likes and reply count. Up to 100 comments per call. The commenters' names and handles are not returned. Pay per call in stablecoins; comments you paid for but did not get are refunded.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- readOnlyHint: true
linkedinLook up one public LinkedIn profile per call.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Look up one public LinkedIn profile per call. Pass {query} as a username (jane-example), a profile URL or a URN; there is no limit field. The normalized object holds name, first_name, last_name, headline, about, location, country_code, current_company, followers, connections, avatar, plus experience (title, company, start_year, end_year, is_current) and education (school, degree, field, years). Email addresses are not returned.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- readOnlyHint: true
linkedin-companyLinkedIn company enrichment API for AI agents: send up to 10 LinkedIn company page URLs and get one JSON record per company: name, website, employee and follower counts, founding y…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it LinkedIn company enrichment API for AI agents: send up to 10 LinkedIn company page URLs and get one JSON record per company: name, website, employee and follower counts, founding year, tagline, description, industries, specialities, headquarters and locations, company type. Pay per company in stablecoins; a company that is not found is not charged.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- readOnlyHint: true
linkedin-jobsLinkedIn jobs search API for AI agents: send a job title or keywords and an optional location and get up to 50 public job listings as JSON: title, company, location, posting date, …No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it LinkedIn jobs search API for AI agents: send a job title or keywords and an optional location and get up to 50 public job listings as JSON: title, company, location, posting date, employment type, seniority, salary when listed, the listing's URL and its description. Filter by how recently a job was posted. Recruiter names are not returned. Jobs you paid for but did not get are refunded.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- readOnlyHint: true
linkedin-postsLinkedIn posts API for AI agents: send one LinkedIn profile or company page URL and get its recent posts as JSON, each with text, date, likes, comments, shares, author, post URL an…1 finding
Why it is in this group
- The name "linkedin-posts" says "post": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "linkedin-posts" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "linkedin-posts" says "post": a word for a change.
Description, as the server wrote it LinkedIn posts API for AI agents: send one LinkedIn profile or company page URL and get its recent posts as JSON, each with text, date, likes, comments, shares, author, post URL and the reposter when it is a repost. Up to 20 posts per call; pay per post in stablecoins. A URL with no posts is not charged.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- readOnlyHint: true
linkedin-profile-emailLinkedIn profile with a verified work email for AI agents: send one LinkedIn profile URL and get the public profile (headline, about, location, current and past positions, educatio…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it LinkedIn profile with a verified work email for AI agents: send one LinkedIn profile URL and get the public profile (headline, about, location, current and past positions, education, skills) plus the work email of its owner that passed a deliverability check (not a catch-all domain), with its status and quality score. Pay per profile in stablecoins; a profile with no verified email is not charged.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- readOnlyHint: true
meta-adsMeta ad library API for AI agents, for competitor research: send a keyword or an advertiser (name or page id) and get its public ads as JSON: advertiser, start and end date, whethe…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Meta ad library API for AI agents, for competitor research: send a keyword or an advertiser (name or page id) and get its public ads as JSON: advertiser, start and end date, whether it is still running, platforms, text, title, call to action, link, format and image URLs. Filter by country and by active or all ads; up to 100 per call, each ad once. Pay per call in stablecoins; an empty search is not charged and ads you paid for but did not get are refunded. Not offered on Solana: pay on Base or Polygon.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- readOnlyHint: true
shopify-productsShopify store products API for AI agents: send a store's domain and get up to 250 of its public products as JSON: title, vendor, product type, price range, compare-at price, sale a…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Shopify store products API for AI agents: send a store's domain and get up to 250 of its public products as JSON: title, vendor, product type, price range, compare-at price, sale and availability flags, tags, image, description and variants with SKU and price. A site that is not a Shopify store, or has no public products, is not charged; products you paid for but did not get are refunded. Pay per call in stablecoins.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- readOnlyHint: true
tiktok-commentsTikTok comments API for AI agents: send the URL of a video and get its comments as JSON: text, time, likes and reply count.1 finding
Why it is in this group
- The name "tiktok-comments" says "comment": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "tiktok-comments" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "tiktok-comments" says "comment": a word for a change.
Description, as the server wrote it TikTok comments API for AI agents: send the URL of a video and get its comments as JSON: text, time, likes and reply count. Up to 100 comments per call. The commenters' names and handles are not returned. Pay per call in stablecoins; comments you paid for but did not get are refunded.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- readOnlyHint: true
twitterTweets from X (Twitter) for one account or a search query.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Tweets from X (Twitter) for one account or a search query. {"mode":"profile","query":"nasa"} returns that account's tweets, mode search takes keywords, and limit is 1-20. Each tweet has text, createdAt, url, lang, likeCount, retweetCount, replyCount, quoteCount, viewCount, isReply, isRetweet and an author object with userName, name, followers and isBlueVerified. No X developer account needed; pay per call in USDC. Not offered on Solana: pay on Base or Polygon.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- readOnlyHint: true
unblockUnblocker for AI agents: send {url} and get the page back as clean Markdown, with title, description, language, final URL and HTTP status.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Unblocker for AI agents: send {url} and get the page back as clean Markdown, with title, description, language, final URL and HTTP status. Gets through Cloudflare and other common bot protection and can render JavaScript-heavy pages. Set format to html or text for those instead. A page that can't be fetched (blocked, error status or empty) is not charged. No API key, proxy or account: pay per call in USDC over x402 (Base, Polygon) or MPP (Base).
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- readOnlyHint: true
youtubeYouTube video search by keyword, or the videos of one channel.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it YouTube video search by keyword, or the videos of one channel. Mode search takes keywords; mode profile takes a channel handle without the @. limit is 1-20 regular videos, no Shorts or live streams. Per video you get a normalized object: title, description, views, likes, comments_count, duration_seconds, published_at, thumbnail, url, channel_name, channel_url, channel_id, subscribers.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- readOnlyHint: true
youtube-commentsYouTube comments API for AI agents: send the URL of a video and get its comments as JSON: text, time, likes and reply count.1 finding
Why it is in this group
- The name "youtube-comments" says "comment": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "youtube-comments" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "youtube-comments" says "comment": a word for a change.
Description, as the server wrote it YouTube comments API for AI agents: send the URL of a video and get its comments as JSON: text, time, likes and reply count. Up to 100 comments per call. The commenters' names and handles are not returned. Pay per call in stablecoins; comments you paid for but did not get are refunded.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- readOnlyHint: true
youtube-transcriptYouTube transcript API for AI agents: send a video URL or 11-character id and get its published subtitles as timed JSON segments, plain text, SRT or WebVTT, with title, channel, du…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it YouTube transcript API for AI agents: send a video URL or 11-character id and get its published subtitles as timed JSON segments, plain text, SRT or WebVTT, with title, channel, duration, views and publish date. Choose one of ten subtitle languages or any. No speech-to-text. A video without subtitles in that language is not charged. Not offered on Solana: pay on Base or Polygon.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- readOnlyHint: true
Only reads 6Claude Code: allow
google-searchGoogle Search results (SERP) for a query, as JSON.No findings
Why it is in this group
- The name "google-search" says "search": a word for reading.
Description, as the server wrote it Google Search results (SERP) for a query, as JSON. Each record is one results page with organicResults (position, title, url, displayedUrl, description), paidResults, relatedQueries, peopleAlsoAsk and searchQuery metadata. Body: {query, limit}. limit (1-20) is rounded up to whole pages of about 10 results, so 1-10 returns one page and 11-20 returns two. Useful for rank checks, source discovery and grounding answers in search results.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- readOnlyHint: true
redditSearch Reddit or read a subreddit.No findings
Why it is in this group
- The description's first verb is "search": a word for reading.
Description, as the server wrote it Search Reddit or read a subreddit. Use mode hashtag with a subreddit name (no r/), profile with a username, or search with keywords, plus limit 1-20. Every record is a post with kind, id, url, title, body, author, subreddit, upvotes, comments_count, created_at, members and source; at most limit posts come back. Comments, profile and subreddit records are not returned. upvotes and comments_count can be null. Send raw true for the full original records.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- readOnlyHint: true
screenshotScreenshot API for AI agents: send {url}, get JPEG, PNG, WebP or PDF as base64 JSON.No findings
Why it is in this group
- The name "screenshot" says "screenshot": a word for reading.
Description, as the server wrote it Screenshot API for AI agents: send {url}, get JPEG, PNG, WebP or PDF as base64 JSON. Options: viewport, full page, dark mode, selector. It does not get past bot protection (use unblock for those pages' text). Failed or blank captures aren't charged.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- readOnlyHint: true
search-plusSearch API for AI agents: web or news search with up to 30 results per call, each with a title, URL and a query-relevant excerpt.No findings
Why it is in this group
- The name "search-plus" says "search": a word for reading.
Description, as the server wrote it Search API for AI agents: web or news search with up to 30 results per call, each with a title, URL and a query-relevant excerpt. Filter by site, or by category: developer (repos, issues, docs), GitHub or PDF. Fast, about a second. Pay per call in stablecoins.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- readOnlyHint: true
tiktokGet TikTok videos for a username, a hashtag or a search keyword.No findings
Why it is in this group
- The description's first verb is "get": a word for reading.
Description, as the server wrote it Get TikTok videos for a username, a hashtag or a search keyword. The body is {mode: profile|hashtag|search, query, limit} and limit runs 1-20. Each video has id, url, text, created_at, author, plays, likes, comments, shares, saves, duration_s, hashtags and music; no expiring media links. raw true returns the original records. A leading @ or # in the query is stripped.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- readOnlyHint: true
web-searchWeb search with page content for AI agents: send keywords and get the top results with each page read as clean Markdown, in one call: title, URL, a short description and the page's…No findings
Why it is in this group
- The name "web-search" says "search": a word for reading.
Description, as the server wrote it Web search with page content for AI agents: send keywords and get the top results with each page read as clean Markdown, in one call: title, URL, a short description and the page's text. Up to 5 results, each page cut at 20,000 characters. Pages that cannot be fetched are dropped and refunded. Pay per call in stablecoins. Not offered on Solana: pay on Base or Polygon.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- readOnlyHint: true
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.0.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http agdata https://agdata.shveik.dev/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__agdata__tiktok",
"mcp__agdata__reddit",
"mcp__agdata__google-search",
"mcp__agdata__screenshot",
"mcp__agdata__web-search",
"mcp__agdata__search-plus"
],
"ask": [
"mcp__agdata__unblock",
"mcp__agdata__instagram",
"mcp__agdata__google-maps",
"mcp__agdata__linkedin",
"mcp__agdata__youtube",
"mcp__agdata__twitter",
"mcp__agdata__amazon",
"mcp__agdata__google-maps-reviews",
"mcp__agdata__youtube-transcript",
"mcp__agdata__linkedin-jobs",
"mcp__agdata__indeed-jobs",
"mcp__agdata__shopify-products",
"mcp__agdata__google-news",
"mcp__agdata__amazon-reviews",
"mcp__agdata__google-play-reviews",
"mcp__agdata__linkedin-company",
"mcp__agdata__x-replies",
"mcp__agdata__youtube-comments",
"mcp__agdata__tiktok-comments",
"mcp__agdata__instagram-comments",
"mcp__agdata__ebay-sold",
"mcp__agdata__meta-ads",
"mcp__agdata__linkedin-profile-email",
"mcp__agdata__linkedin-posts",
"mcp__agdata__feedback"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as agdata. Review it before you use it.