Skip to content

Social Media Search API — Twitter, Instagram, Reddit, TikTok (XPOZ)

by xpoz.ai · remote · no sign-in to list tools · v1.4.1 · published by ai.xpoz

Twitter/X, Instagram, Reddit & TikTok data for AI agents. Billions of posts. No API keys.

Deletes · 2Changes · 1

52 tools: 2 can delete or cancel things, 1 change things and 49 only read.

Scanned Oct 21, 2026

10 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http social-insights https://mcp.xpoz.ai/mcp

Findings

Matches of fixed checks, with the text they matched.

1 warn9 info
  • The server marks "cancelOperation" not destructive (destructiveHint: false), and its own name, description or input give the class "destructive".

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "cancelOperation" says "cancel": a word for removing or ending something.

    What this check looks for
  • The description is 2,710 characters long, over the 2,000 this check looks for.

    Matched text

    description ends: "...Id for CSV. This is a safe, read-only tool for analyzing searchable information."

    What this check looks for
  • The description is 2,639 characters long, over the 2,000 this check looks for.

    Matched text

    description ends: "...eCentroid). This is a safe, read-only tool for analyzing searchable information."

    What this check looks for
  • The description is 2,049 characters long, over the 2,000 this check looks for.

    Matched text

    description ends: "...t networks. This is a safe, read-only tool for analyzing searchable information."

    What this check looks for
  • The description is 2,266 characters long, over the 2,000 this check looks for.

    Matched text

    description ends: "...oDuration). This is a safe, read-only tool for analyzing searchable information."

    What this check looks for
  • The description is 2,655 characters long, over the 2,000 this check looks for.

    Matched text

    description ends: "...Id for CSV. This is a safe, read-only tool for analyzing searchable information."

    What this check looks for
Show 4 more findings

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

52 tools

Deletes or cancels 2Claude Code: deny
  • cancelOperationCancel running operation.1 finding

    Why it is in this group

    • The name "cancelOperation" says "cancel": a word for removing or ending something.
    • The server marks it not destructive (destructiveHint: false), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "cancelOperation" not destructive (destructiveHint: false), and its own name, description or input give the class "destructive".

      Matched text

      annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "cancelOperation" says "cancel": a word for removing or ending something.

      What this check looks for
    Description, as the server wrote it
    Cancel running operation. Required: operationId. Gracefully stops operation at next checkpoint. Returns confirmation. Use checkOperationStatus to verify cancellation completed.

    Annotations the server declares

    • title: Operations: Cancel
    • readOnlyHint: false
    • idempotentHint: true
    • openWorldHint: false
    • destructiveHint: false
  • removeTrackedItemsRemove tracked keywords/users.No findings

    Why it is in this group

    • The name "removeTrackedItems" says "remove": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Remove tracked keywords/users. Accepts array of items with phrase, type (keyword/user/subreddit/hashtag), platform (twitter/instagram/reddit/tiktok). Subreddit is Reddit-only, hashtag is TikTok-only. Use getTrackedItems first to see current items.

    Annotations the server declares

    • title: Tracking: Remove Tracked Items
    • readOnlyHint: false
    • idempotentHint: true
    • openWorldHint: false
    • destructiveHint: true
Changes things 1Claude Code: ask
  • addTrackedItemsAdd keywords/users to track.No findings

    Why it is in this group

    • The name "addTrackedItems" says "add": a word for a change.
    Description, as the server wrote it
    Add keywords/users to track. Accepts array of items with phrase, type (keyword/user/subreddit/hashtag), platform (twitter/instagram/reddit/tiktok). Subreddit is Reddit-only, hashtag is TikTok-only. Returns error if plan limit exceeded.

    Annotations the server declares

    • title: Tracking: Add Tracked Items
    • readOnlyHint: false
    • idempotentHint: true
    • openWorldHint: false
    • destructiveHint: false
Only reads 49Claude Code: allow
  • checkAccessKeyStatusCheck access key status without revealing key.No findings

    Why it is in this group

    • The name "checkAccessKeyStatus" says "status": a word for reading.
    Description, as the server wrote it
    Check access key status without revealing key. Required: authentication. Returns: status, metadata.

    Annotations the server declares

    • title: Auth: Check Access Key Status
    • readOnlyHint: true
    • idempotentHint: true
    • openWorldHint: false
    • destructiveHint: false
  • checkOperationStatuscheckOperationStatus: poll an async operation and retrieve its results or CSV download URL.No findings

    Why it is in this group

    • The name "checkOperationStatus" says "status": a word for reading.
    Description, as the server wrote it
    checkOperationStatus: poll an async operation and retrieve its results or CSV download URL. Use this after any tool call made with responseType="paging" or responseType="csv" — those return an operationId that must be polled via checkOperationStatus to get the actual data. Also handles background job status checks, presigned S3 link retrieval for data dumps, and completion polling for long-running queries. Required: operationId. HANDLES TWO TYPES: (1) Query operations (op_toolname_xxx): returns paginated results + dataDumpExportOperationId. (2) Export operations (op_datadump_xxx): returns download URL for CSV download. CRITICAL: You MUST keep polling until operation finishes. DO NOT stop until status is success/no_data/error/cancelled. POLLING LOOP: (1) Call immediately after getting operation ID. (2) If status=running, wait exactly 5 seconds. (3) Call again after 5 seconds. (4) Repeat step 2-3 continuously until status changes to success/no_data/error/cancelled. (5) Only stop when operation is finished. NOTE: status values returned are wire-level ResponseStatus (success/no_data/error/running/cancelled). Returns: For queries - results, pagination, dataDumpExportOperationId. For exports - downloadUrl, fileName, totalRows. NEVER make calls without 5 second waits between them.

    Annotations the server declares

    • title: Operations: Check Status
    • readOnlyHint: true
    • idempotentHint: false
    • openWorldHint: false
    • destructiveHint: false
  • countTweetsCount tweets containing a specific phrase within a date range.No findings

    Why it is in this group

    • The name "countTweets" says "count": a word for reading.
    Description, as the server wrote it
    Count tweets containing a specific phrase within a date range. Returns the total count of matching tweets (int) directly, or zero if none found. QUERY SYNTAX: Plain keywords (bitcoin, climate change), quoted phrases ("deep learning"), boolean expressions (AI AND crypto, bitcoin OR ethereum, politics NOT sports), or parenthesized groups ((startup OR entrepreneur) NOT "venture capital"). AND/OR/NOT must have a term on both sides. @handles like @karpathy are supported. Field operators (from:, lang:) are stripped. Forward slashes are treated as spaces (24/7 becomes 24 7). Filters: date range (startDate/endDate in YYYY-MM-DD). IMPORTANT!!!!!: THE CURRENT YEAR IS 2026. When user requests relative dates (last week, last month), verify the current date from your system context and double-check the calculated dates - models often get the year wrong, searching one year earlier than intended. Default: startDate=6 months ago if not provided. Use for analytics and trend analysis without retrieving full tweet data. This is a safe, read-only tool for analyzing searchable information.

    Annotations the server declares

    • title: Twitter: Count Tweets
    • readOnlyHint: true
    • idempotentHint: true
    • openWorldHint: true
    • destructiveHint: false
  • getAccountDetailsGet authenticated user's account details: plan (name, features), billing (period, next renewal date; null for Free plan), and usage (subscription credits remaining, extra credits r…No findings

    Why it is in this group

    • The name "getAccountDetails" says "get": a word for reading.
    Description, as the server wrote it
    Get authenticated user's account details: plan (name, features), billing (period, next renewal date; null for Free plan), and usage (subscription credits remaining, extra credits remaining, extra tracked items). Required: authentication. Returns: nested plan/billing/usage object.

    Annotations the server declares

    • title: Account: Get Account Details
    • readOnlyHint: true
    • idempotentHint: true
    • openWorldHint: false
    • destructiveHint: false
  • getCreditsUsageHistoryGet authenticated user's credits and export-rows usage over time, for analyzing usage patterns.No findings

    Why it is in this group

    • The name "getCreditsUsageHistory" says "get": a word for reading.
    Description, as the server wrote it
    Get authenticated user's credits and export-rows usage over time, for analyzing usage patterns. Params: range ("today" | "7d" | "current_month" | "lifetime", default current_month), granularity ("hour" | "day", default day). Returns time-series buckets for both credits and exportRows, each with subscriptionUsed, extraUsed, totalUsed, extraPurchased. Use for trend analysis and spotting usage spikes. For current remaining balances, use getAccountDetails instead. Required: authentication.

    Annotations the server declares

    • title: Account: Get Credits Usage History
    • readOnlyHint: true
    • idempotentHint: true
    • openWorldHint: false
    • destructiveHint: false
  • getInstagramCommentsByPostIdGet COMMENT CONTENT (text, likes) for an Instagram post.No findings

    Why it is in this group

    • The name "getInstagramCommentsByPostId" says "get": a word for reading.
    Description, as the server wrote it
    Get COMMENT CONTENT (text, likes) for an Instagram post. Returns the actual comment objects with text and metadata. RETURNS COMMENT DATA: id, text, username, createdAtDate, likeCount, childCommentCount. Use for reading what people said. NOT FOR USER PROFILES: To get detailed user profiles (bio, followerCount, followingCount) of commenters, use getInstagramPostInteractingUsers with interactionType="commenters" instead. IMPORTANT: postId must be in strong_id format (e.g., "3606450040306139062_4836333238") - use the full "id" value from other Instagram tools, NOT just the media_id. FAST (default, omit responseType or responseType="fast"): Returns up to 300 results directly (use limit param to reduce, e.g. limit=5). Auto API fallback for fresh data. PAGING (responseType="paging"): Async paginated results (100/page), returns operationId for polling via checkOperationStatus. Supports pageNumber/tableName for subsequent pages. CSV (responseType="csv"): Async single CSV download, returns operationId, poll for S3 link. CODE EXECUTION: For csv mode, download CSV and use code execution to analyze full dataset. Ideal for: sentiment analysis, reading discussions, analyzing comment content, engagement patterns. Date filters: OMIT startDate/endDate parameters by default. ONLY pass these if user explicitly requests specific date range (YYYY-MM-DD format). IMPORTANT!!!!!: THE CURRENT YEAR IS 2026. When user requests relative dates (last week, last month), verify the current date from your system context and double-check the calculated dates - models often get the year wrong, searching one year earlier than intended. Optional fields: ["id", "text", "username", "createdAtDate", "likeCount"]. This is a safe, read-only tool for analyzing searchable information.

    Annotations the server declares

    • title: Instagram: Get Post Comments
    • readOnlyHint: true
    • idempotentHint: false
    • openWorldHint: true
    • destructiveHint: false
  • getInstagramPostInteractingUsersGet USER PROFILES of people who interacted with an Instagram post.No findings

    Why it is in this group

    • The name "getInstagramPostInteractingUsers" says "get": a word for reading.
    Description, as the server wrote it
    Get USER PROFILES of people who interacted with an Instagram post. Returns full user data (bio, followerCount, followingCount, etc.). RETURNS USER PROFILES: id, username, fullName, biography, followerCount, followingCount, isVerified, profilePicUrl. Use for analyzing WHO engaged with a post. NOT FOR COMMENT TEXT: To read the actual comment content (what people wrote), use getInstagramCommentsByPostId instead. INTERACTION TYPES: "commenters" (users who commented), "likers" (users who liked). WHEN TO USE THIS TOOL: Analyzing commenters/likers demographics, finding influencers who engaged, building audience profiles, network analysis of who interacts with posts. WHEN TO USE getInstagramCommentsByPostId: Reading comment text, sentiment analysis of what was said, analyzing discussion content. FAST (default, omit responseType or responseType="fast"): Returns up to 300 results directly (use limit param to reduce, e.g. limit=5). Auto API fallback for commenters when stale. PAGING (responseType="paging"): Async paginated results (1000 users per page with default fields), returns operationId - IMMEDIATELY call checkOperationStatus to get results. CSV export included via dataDumpExportOperationId. Supports pageNumber/tableName for subsequent pages. Optional fields (default: ["id", "username", "fullName"]). Available: biography, isPrivate, isVerified, followerCount, followingCount, mediaCount, profilePicUrl. This is a safe, read-only tool for analyzing searchable information.

    Annotations the server declares

    • title: Instagram: Get Post Interacting Users
    • readOnlyHint: true
    • idempotentHint: false
    • openWorldHint: true
    • destructiveHint: false
  • getInstagramPostsByIdsGet multiple Instagram posts by IDs (1-50 IDs per request).No findings

    Why it is in this group

    • The name "getInstagramPostsByIds" says "get": a word for reading.
    Description, as the server wrote it
    Get multiple Instagram posts by IDs (1-50 IDs per request). Returns results directly. Returns only found posts, omitting not-found IDs for flexibility. First searches database, then external API for missing/stale data in parallel. Use when you have multiple exact post IDs. NOT for search - use getInstagramPostsByKeywords. PERFORMANCE: Much more efficient than multiple single-ID calls. Batches database queries and parallelizes API calls. IMPORTANT: postIds must be in strong_id format (e.g., "3606450040306139062_4836333238") - use the full "id" value from other Instagram tools, NOT just the media_id. To find a post from an Instagram URL (e.g., instagram.com/p/ABC123/), extract the shortcode from the URL path and use getInstagramPostsByKeywords to search, or ask the user for the post ID. Optional fields parameter for performance: ["id", "caption", "likeCount"]. Returns: results array with id, caption, userId, username, createdAtDate, engagement metrics, count, dataSource. This is a safe, read-only tool for analyzing searchable information.

    Annotations the server declares

    • title: Instagram: Get Posts by IDs
    • readOnlyHint: true
    • idempotentHint: true
    • openWorldHint: true
    • destructiveHint: false
  • getInstagramPostsByKeywordsSearch Instagram posts by keywords with two response modes.1 finding

    Why it is in this group

    • The name "getInstagramPostsByKeywords" says "get": a word for reading.

    Findings

    • Info

      The description is 2,266 characters long, over the 2,000 this check looks for.

      Matched text

      description ends: "...oDuration). This is a safe, read-only tool for analyzing searchable information."

      What this check looks for
    Description, as the server wrote it
    Search Instagram posts by keywords with two response modes. Searches in both post captions and video subtitles. FAST (default, omit responseType or responseType="fast"): Returns up to 300 results directly (use limit param to reduce, e.g. limit=5). Auto API fallback for fresh data. Results include guidance for full mode. PAGING (responseType="paging"): Async paginated results (100/page), returns operationId for polling via checkOperationStatus. Supports pageNumber/tableName for subsequent pages. CSV (responseType="csv"): Async single CSV download, returns operationId, poll for S3 link. CODE EXECUTION: For csv mode, download CSV and use code execution to analyze full dataset. Ideal for: content analysis, hashtag trends, brand monitoring across thousands of posts. Returns by default: id, caption, username, createdAtDate. First searches database, then external API if data is stale or missing. NOT for URL lookups or post ID lookups - use getInstagramPostsByIds instead. Query must be plain text keywords/phrases, not URLs or IDs. QUERY SYNTAX: Plain keywords (bitcoin, climate change), quoted phrases ("deep learning"), boolean expressions (AI AND crypto, bitcoin OR ethereum, politics NOT sports), or parenthesized groups ((startup OR entrepreneur) NOT "venture capital"). AND/OR/NOT must have a term on both sides. @handles like @karpathy are supported. Field operators (from:, lang:) are stripped. Forward slashes are treated as spaces (24/7 becomes 24 7). Date filters: OMIT startDate/endDate parameters by default. ONLY pass these if user explicitly requests specific date range (YYYY-MM-DD format). IMPORTANT!!!!!: THE CURRENT YEAR IS 2026. When user requests relative dates (last week, last month), verify the current date from your system context and double-check the calculated dates - models often get the year wrong, searching one year earlier than intended. FIELDS parameter (optional): Specify to get additional/different fields. Available: Core (id, caption, userId, username, fullName, createdAtDate), Engagement (likeCount, commentCount, reshareCount, mediaRepostCount, saveCount, videoPlayCount), Media (mediaType, imageUrl, videoUrl, subtitles, videoDuration). This is a safe, read-only tool for analyzing searchable information.

    Annotations the server declares

    • title: Instagram: Get Posts by Keywords
    • readOnlyHint: true
    • idempotentHint: false
    • openWorldHint: true
    • destructiveHint: false
  • getInstagramPostsByUserGet posts from Instagram user by ID or username with two response modes.No findings

    Why it is in this group

    • The name "getInstagramPostsByUser" says "get": a word for reading.
    Description, as the server wrote it
    Get posts from Instagram user by ID or username with two response modes. Use identifierType="id" for numeric user ID, identifierType="username" for username. FAST (default, omit responseType or responseType="fast"): Returns up to 300 results directly (use limit param to reduce, e.g. limit=5). Auto API fallback for fresh data. Results include guidance for full mode. PAGING (responseType="paging"): Async paginated results (100/page), returns operationId for polling via checkOperationStatus. Supports pageNumber/tableName for subsequent pages. CSV (responseType="csv"): Async single CSV download, returns operationId, poll for S3 link. CODE EXECUTION: For csv mode, download CSV and use code execution to analyze full dataset. Ideal for: engagement analysis, content trends, posting patterns across all posts. Returns by default: id, caption, username, createdAtDate. Date filters: OMIT startDate/endDate parameters by default to retrieve all posts. ONLY pass these if user explicitly requests specific date range (YYYY-MM-DD format). IMPORTANT!!!!!: THE CURRENT YEAR IS 2026. When user requests relative dates (last week, last month), verify the current date from your system context and double-check the calculated dates - models often get the year wrong, searching one year earlier than intended. FIELDS parameter (optional): Specify to get additional/different fields. Available: Core (id, caption, userId, username, fullName, createdAtDate), Engagement (likeCount, commentCount, reshareCount, mediaRepostCount, saveCount, videoPlayCount), Media (mediaType, imageUrl, videoUrl, subtitles, videoDuration). This is a safe, read-only tool for analyzing searchable information.

    Annotations the server declares

    • title: Instagram: Get Posts by User
    • readOnlyHint: true
    • idempotentHint: false
    • openWorldHint: true
    • destructiveHint: false
  • getInstagramUserGet Instagram user profile by ID or username.No findings

    Why it is in this group

    • The name "getInstagramUser" says "get": a word for reading.
    Description, as the server wrote it
    Get Instagram user profile by ID or username. Use identifierType="id" for numeric user ID, identifierType="username" for username. For username: Use ONLY when you have the precise username (e.g., "cristiano"). For person names or fuzzy search, use searchInstagramUsers instead. Optional fields parameter for performance (default: ["id", "username", "fullName"]). Available fields: id, username, fullName, biography, isPrivate, isVerified, followerCount, followingCount, mediaCount, profilePicUrl, and more. Returns: single user profile with userId, username, fullName, followerCount, followingCount, mediaCount, biography, isVerified, isPrivate, profilePicUrl. This is a safe, read-only tool for analyzing searchable information.

    Annotations the server declares

    • title: Instagram: Get User
    • readOnlyHint: true
    • idempotentHint: true
    • openWorldHint: true
    • destructiveHint: false
  • getInstagramUserConnectionsGet Instagram user connections (followers or following).No findings

    Why it is in this group

    • The name "getInstagramUserConnections" says "get": a word for reading.
    Description, as the server wrote it
    Get Instagram user connections (followers or following). Use connectionType="followers" for users who follow them, connectionType="following" for users they follow. FAST (default, omit responseType or responseType="fast"): Returns up to 300 results directly (use limit param to reduce, e.g. limit=5). Auto API fallback for fresh data. PAGING (responseType="paging"): Async paginated results (100 users per page), returns operationId for polling via checkOperationStatus. Supports pageNumber/tableName for subsequent pages. Optional fields parameter for performance (default: ["id", "username", "fullName"]). Available fields: id, username, fullName, biography, isPrivate, isVerified, followerCount, followingCount, mediaCount, profilePicUrl, and more. DATA FRESHNESS: Automatically checks data age (> 1 week triggers refresh from API). FORCE LATEST: Use sparingly - forceLatest=true bypasses cache for real-time data (increases latency/costs). CRITICAL - Understanding totalRows vs totalDataCount: totalRows indicates ONLY what we have in our database. totalDataCount (when present) shows the actual count from Instagram. If totalDataCount is missing or undefined, you CANNOT claim totalRows represents all connections - it only shows our partial database data. If totalDataCount > totalRows, we only have partial data. Always check if totalDataCount exists before making claims about total counts. This is a safe, read-only tool for analyzing searchable information.

    Annotations the server declares

    • title: Instagram: Get User Connections
    • readOnlyHint: true
    • idempotentHint: false
    • openWorldHint: true
    • destructiveHint: false
  • getInstagramUsersByKeywordsSearch for USERS who authored Instagram posts matching keywords.1 finding

    Why it is in this group

    • The name "getInstagramUsersByKeywords" says "get": a word for reading.

    Findings

    • Info

      The description is 2,655 characters long, over the 2,000 this check looks for.

      Matched text

      description ends: "...Id for CSV. This is a safe, read-only tool for analyzing searchable information."

      What this check looks for
    Description, as the server wrote it
    Search for USERS who authored Instagram posts matching keywords. USE CASE: Find users who have posted content about specific topics, keywords, or phrases. Returns unique, deduplicated user profiles. RESPONSE MODES (responseType parameter): "fast" (DEFAULT): Returns up to 300 results directly in one call. Use limit param to reduce. Best for quick lookups. "paging": Async paginated results (100/page). Returns operation ID - call checkOperationStatus to get results. Use pageNumber/tableName for subsequent pages. "csv": Async CSV export. Returns dataDumpExportOperationId - call checkOperationStatus to get S3 download link. Best for bulk export. PAGING MODE DETAILS: FIRST CALL: Omit pageNumber and tableName. Creates cached table, returns page 1 with pagination metadata (tableName, totalPages, totalRows). SUBSEQUENT PAGES: Use tableName from first response with pageNumber (2, 3, etc.). BULK FETCH: Use pageNumberEnd with pageNumber and tableName for multiple consecutive pages. QUERY SYNTAX: Plain keywords (bitcoin, climate change), quoted phrases ("deep learning"), boolean expressions (AI AND crypto, bitcoin OR ethereum, politics NOT sports), or parenthesized groups ((startup OR entrepreneur) NOT "venture capital"). AND/OR/NOT must have a term on both sides. @handles like @karpathy are supported. Field operators (from:, lang:) are stripped. Forward slashes are treated as spaces (24/7 becomes 24 7). FILTERS: - startDate/endDate: Filter by post date (YYYY-MM-DD format). OMIT by default, only use if user explicitly requests date range. IMPORTANT!!!!!: THE CURRENT YEAR IS 2026. When user requests relative dates (last week, last month), verify the current date from your system context and double-check the calculated dates - models often get the year wrong, searching one year earlier than intended. Optional fields parameter for performance (default: ["id", "username", "fullName"]). Available fields: id, username, fullName, biography, isPrivate, isVerified, followerCount, followingCount, mediaCount, profilePicUrl, and more. AGGREGATE FIELDS (from matching posts) - MUST BE EXPLICITLY REQUESTED IN FIELDS: aggRelevance (relevance score for sorting), relevantPostsCount (count of matching posts per user), relevantPostsLikesSum, relevantPostsCommentsSum, relevantPostsResharesSum, relevantPostsMediaRepostsSum, relevantPostsSavesSum, relevantPostsVideoPlaysSum. These return aggregated metrics from all matched posts for each user. Returns: results array of unique user profiles, count. In paging mode: pagination object, dataDumpExportOperationId for CSV. This is a safe, read-only tool for analyzing searchable information.

    Annotations the server declares

    • title: Instagram: Get Users by Keywords
    • readOnlyHint: true
    • idempotentHint: false
    • openWorldHint: true
    • destructiveHint: false
  • getRedditCommentByIdGet a single Reddit comment by its ID.No findings

    Why it is in this group

    • The name "getRedditCommentById" says "get": a word for reading.
    Description, as the server wrote it
    Get a single Reddit comment by its ID. Accepts the bare base36 comment id or the t1_-prefixed form (e.g. "laz1ytq" or "t1_laz1ytq"), as returned by getRedditPostWithCommentsById and getRedditCommentsByKeywords. First searches database, then fetches from the external API if the comment is missing or stale (>1 week). NOT for searching - use getRedditCommentsByKeywords for keyword search. Optional fields parameter for performance (default: ["id", "body", "authorUsername", "createdAtDate"]). Returns: single comment with id, body, author, parent ids, score, and timestamps. This is a safe, read-only tool for analyzing searchable information.

    Annotations the server declares

    • title: Reddit: Get Comment by ID
    • readOnlyHint: true
    • idempotentHint: true
    • openWorldHint: true
    • destructiveHint: false
  • getRedditCommentsByKeywordsSearch Reddit comments by keywords.No findings

    Why it is in this group

    • The name "getRedditCommentsByKeywords" says "get": a word for reading.
    Description, as the server wrote it
    Search Reddit comments by keywords. Searches in comment body text. FAST (default, omit responseType or responseType="fast"): Returns up to 300 results directly (use limit param to reduce, e.g. limit=5). Results include guidance for full mode. PAGING (responseType="paging"): Async paginated results (100/page), returns operationId for polling via checkOperationStatus. Supports pageNumber/tableName for subsequent pages. CSV (responseType="csv"): Async single CSV download, returns operationId, poll for S3 link. CODE EXECUTION: For csv mode, download CSV and use code execution to analyze full dataset. Ideal for: sentiment analysis, discussion trends, community opinions across thousands of comments. DATABASE-ONLY: Searches existing database records only. QUERY SYNTAX: Plain keywords (bitcoin, climate change), quoted phrases ("deep learning"), boolean expressions (AI AND crypto, bitcoin OR ethereum, politics NOT sports), or parenthesized groups ((startup OR entrepreneur) NOT "venture capital"). AND/OR/NOT must have a term on both sides. @handles like @karpathy are supported. Field operators (from:, lang:) are stripped. Forward slashes are treated as spaces (24/7 becomes 24 7). Date filters: OMIT startDate/endDate parameters by default. ONLY pass these if user explicitly requests specific date range (YYYY-MM-DD format). IMPORTANT!!!!!: THE CURRENT YEAR IS 2026. When user requests relative dates (last week, last month), verify the current date from your system context and double-check the calculated dates - models often get the year wrong, searching one year earlier than intended. FILTERS: subreddit (limit to specific subreddit without r/ prefix). Optional fields parameter for performance: ["id", "body", "authorUsername", "postSubredditName", "score", "createdAtDate"]. Returns by default: id, body, authorUsername, createdAtDate. This is a safe, read-only tool for analyzing searchable information.

    Annotations the server declares

    • title: Reddit: Get Comments by Keywords
    • readOnlyHint: true
    • idempotentHint: false
    • openWorldHint: true
    • destructiveHint: false
  • getRedditPostsByKeywordsSearch Reddit posts by keywords with two response modes.1 finding

    Why it is in this group

    • The name "getRedditPostsByKeywords" says "get": a word for reading.

    Findings

    • Info

      The description is 2,324 characters long, over the 2,000 this check looks for.

      Matched text

      description ends: "...archived). This is a safe, read-only tool for analyzing searchable information."

      What this check looks for
    Description, as the server wrote it
    Search Reddit posts by keywords with two response modes. Searches in post titles and selftext. FAST (default, omit responseType or responseType="fast"): Returns up to 300 results directly (use limit param to reduce, e.g. limit=5). Auto API fallback for fresh data. Results include guidance for full mode. PAGING (responseType="paging"): Async paginated results (100/page), returns operationId for polling via checkOperationStatus. Supports pageNumber/tableName for subsequent pages. CSV (responseType="csv"): Async single CSV download, returns operationId, poll for S3 link. CODE EXECUTION: For csv mode, download CSV and use code execution to analyze full dataset. Ideal for: sentiment analysis, subreddit trends, community discussions across thousands of posts. Returns by default: id, title, authorUsername, subredditName, createdAtDate. First searches database, then external API if data is stale or missing. QUERY SYNTAX: Plain keywords (bitcoin, climate change), quoted phrases ("deep learning"), boolean expressions (AI AND crypto, bitcoin OR ethereum, politics NOT sports), or parenthesized groups ((startup OR entrepreneur) NOT "venture capital"). AND/OR/NOT must have a term on both sides. @handles like @karpathy are supported. Field operators (from:, lang:) are stripped. Forward slashes are treated as spaces (24/7 becomes 24 7). Date filters: OMIT startDate/endDate parameters by default. ONLY pass these if user explicitly requests specific date range (YYYY-MM-DD format). IMPORTANT!!!!!: THE CURRENT YEAR IS 2026. When user requests relative dates (last week, last month), verify the current date from your system context and double-check the calculated dates - models often get the year wrong, searching one year earlier than intended. FILTERS: sort (relevance, hot, top, new, comments), time (hour, day, week, month, year, all), subreddit (limit to specific subreddit). FIELDS parameter (optional): Specify to get additional/different fields. Available: Core (id, title, selftext, url, permalink), Author (authorId, authorUsername), Subreddit (subredditName, subredditId), Engagement (score, upvotes, downvotes, upvoteRatio, commentsCount, crosspostsCount), Flags (isSelf, isVideo, over18, spoiler, locked, stickied, archived). This is a safe, read-only tool for analyzing searchable information.

    Annotations the server declares

    • title: Reddit: Get Posts by Keywords
    • readOnlyHint: true
    • idempotentHint: false
    • openWorldHint: true
    • destructiveHint: false
  • getRedditPostWithCommentsByIdGet Reddit post by ID with its comments.No findings

    Why it is in this group

    • The name "getRedditPostWithCommentsById" says "get": a word for reading.
    Description, as the server wrote it
    Get Reddit post by ID with its comments. Returns both the post data and comments in a single response. FAST (default, omit responseType or responseType="fast"): Returns post and up to 300 comments directly (use limit param to reduce, e.g. limit=5). Auto API fallback for fresh data. Results include guidance for full mode. PAGING (responseType="paging"): Async paginated results (100 comments/page), returns operationId for polling via checkOperationStatus. Supports pageNumber/tableName for subsequent pages. RESPONSE STRUCTURE: Returns { results: { post: {...}, comments: [...] }, count, guidance }. PAGING MODE DETAILS: FIRST CALL: Omit pageNumber and tableName. Creates cached table for comments, returns page 1 with post data and pagination metadata. SUBSEQUENT PAGES: Use tableName from first response with pageNumber (2, 3, etc.) to fetch additional comment pages. Post data is NOT returned on subsequent pages. FIELD SELECTION: Use postFields for post data optimization, commentFields for comment data optimization. First searches database for both post and comments, then external API if data is stale or missing. This is a safe, read-only tool for analyzing searchable information.

    Annotations the server declares

    • title: Reddit: Get Post with Comments by ID
    • readOnlyHint: true
    • idempotentHint: true
    • openWorldHint: true
    • destructiveHint: false
  • getRedditSubredditsByKeywordsSearch for SUBREDDITS where Reddit posts match keywords.No findings

    Why it is in this group

    • The name "getRedditSubredditsByKeywords" says "get": a word for reading.
    Description, as the server wrote it
    Search for SUBREDDITS where Reddit posts match keywords. Returns unique, deduplicated subreddit profiles. FAST (default, omit responseType or responseType="fast"): Returns up to 300 results directly (use limit param to reduce). Auto API fallback for fresh data. PAGING (responseType="paging"): Async paginated results (100 per page), returns operationId for polling via checkOperationStatus. Supports pageNumber/tableName for subsequent pages. QUERY SYNTAX: Plain keywords (bitcoin, climate change), quoted phrases ("deep learning"), boolean expressions (AI AND crypto, bitcoin OR ethereum, politics NOT sports), or parenthesized groups ((startup OR entrepreneur) NOT "venture capital"). AND/OR/NOT must have a term on both sides. @handles like @karpathy are supported. Field operators (from:, lang:) are stripped. Forward slashes are treated as spaces (24/7 becomes 24 7). FILTERS: - startDate/endDate: Filter by post date (YYYY-MM-DD format). OMIT by default, only use if user explicitly requests date range. IMPORTANT!!!!!: THE CURRENT YEAR IS 2026. When user requests relative dates (last week, last month), verify the current date from your system context and double-check the calculated dates - models often get the year wrong, searching one year earlier than intended. Optional fields parameter for performance (default: ["id", "displayName", "title", "subscribersCount"]). Available fields: id, displayName, title, publicDescription, description, subscribersCount, activeUserCount, and more. AGGREGATE FIELDS (from matching posts) - MUST BE EXPLICITLY REQUESTED IN FIELDS: aggRelevance (relevance score for sorting), relevantPostsCount (count of matching posts per subreddit), relevantPostsUpvotesSum, relevantPostsCommentsCountSum. This is a safe, read-only tool for analyzing searchable information.

    Annotations the server declares

    • title: Reddit: Get Subreddits by Keywords
    • readOnlyHint: true
    • idempotentHint: false
    • openWorldHint: true
    • destructiveHint: false
  • getRedditSubredditWithPostsByNameGet Reddit subreddit by name with its posts.No findings

    Why it is in this group

    • The name "getRedditSubredditWithPostsByName" says "get": a word for reading.
    Description, as the server wrote it
    Get Reddit subreddit by name with its posts. FAST (default, omit responseType or responseType="fast"): Returns subreddit data with up to 300 posts directly (use limit param to reduce). Auto API fallback for fresh data. PAGING (responseType="paging"): Async paginated results (100 posts per page), returns operationId for polling via checkOperationStatus. Supports pageNumber/tableName for subsequent pages. RESPONSE STRUCTURE: Returns { results: { subreddit: {...}, posts: [...] }, pagination: {...} }. FIELD SELECTION: Use subredditFields for subreddit data optimization, postFields for post data optimization. First searches database for both subreddit and posts, then external API if data is stale or missing. This is a safe, read-only tool for analyzing searchable information.

    Annotations the server declares

    • title: Reddit: Get Subreddit with Posts by Name
    • readOnlyHint: true
    • idempotentHint: true
    • openWorldHint: true
    • destructiveHint: false
  • getRedditUserGet Reddit user profile by username.No findings

    Why it is in this group

    • The name "getRedditUser" says "get": a word for reading.
    Description, as the server wrote it
    Get Reddit user profile by username. Returns user profile including karma breakdown (link, comment, total), account status (gold, mod, employee), and profile info. Use without u/ prefix (e.g., "spez" not "u/spez"). Optional fields parameter for performance (default: ["id", "username", "totalKarma"]). Available fields: id, username, profileUrl, profilePicUrl, snoovatarImg, linkKarma, commentKarma, totalKarma, awardeeKarma, awarderKarma, isGold, isMod, isEmployee, hasVerifiedEmail, isSuspended, verified, isBlocked, acceptFollowers, hasSubscribed, hideFromRobots, prefShowSnoovatar, profileDescription, profileBannerUrl, profileTitle, createdAt. Returns: single user profile with id, username, karma metrics, account flags, and profile details. This is a safe, read-only tool for analyzing searchable information.

    Annotations the server declares

    • title: Reddit: Get User
    • readOnlyHint: true
    • idempotentHint: true
    • openWorldHint: true
    • destructiveHint: false
  • getRedditUsersByKeywordsSearch for USERS who authored Reddit posts matching keywords.1 finding

    Why it is in this group

    • The name "getRedditUsersByKeywords" says "get": a word for reading.

    Findings

    • Info

      The description is 2,466 characters long, over the 2,000 this check looks for.

      Matched text

      description ends: "...each user. This is a safe, read-only tool for analyzing searchable information."

      What this check looks for
    Description, as the server wrote it
    Search for USERS who authored Reddit posts matching keywords. USE CASE: Find users who have posted content about specific topics. Returns unique, deduplicated user profiles. RESPONSE MODES (responseType parameter): "fast" (DEFAULT): Returns up to 300 results directly in one call. Use limit param to reduce. Best for quick lookups. "paging": Async paginated results (100/page). Returns operation ID - call checkOperationStatus to get results. Use pageNumber/tableName for subsequent pages. "csv": Async CSV export. Returns dataDumpExportOperationId - call checkOperationStatus to get S3 download link. Best for bulk export. PAGING MODE DETAILS: FIRST CALL: Omit pageNumber and tableName. Creates cached table, returns page 1 with pagination metadata (tableName, totalPages, totalRows). SUBSEQUENT PAGES: Use tableName from first response with pageNumber (2, 3, etc.). BULK FETCH: Use pageNumberEnd with pageNumber and tableName for multiple consecutive pages. QUERY SYNTAX: Plain keywords (bitcoin, climate change), quoted phrases ("deep learning"), boolean expressions (AI AND crypto, bitcoin OR ethereum, politics NOT sports), or parenthesized groups ((startup OR entrepreneur) NOT "venture capital"). AND/OR/NOT must have a term on both sides. @handles like @karpathy are supported. Field operators (from:, lang:) are stripped. Forward slashes are treated as spaces (24/7 becomes 24 7). FILTERS: - startDate/endDate: Filter by post date (YYYY-MM-DD format). OMIT by default, only use if user explicitly requests date range. IMPORTANT!!!!!: THE CURRENT YEAR IS 2026. When user requests relative dates (last week, last month), verify the current date from your system context and double-check the calculated dates - models often get the year wrong, searching one year earlier than intended. - subreddit: Filter to specific subreddit (without r/ prefix). Optional fields parameter for performance (default: ["id", "username", "totalKarma"]). Available fields: id, username, profileUrl, profilePicUrl, snoovatarImg, linkKarma, commentKarma, totalKarma, profileDescription, and more. AGGREGATE FIELDS (from matching posts) - MUST BE EXPLICITLY REQUESTED IN FIELDS: aggRelevance (relevance score for sorting), relevantPostsCount (count of matching posts per user), relevantPostsUpvotesSum, relevantPostsCommentsCountSum. These return aggregated metrics from all matched posts for each user. This is a safe, read-only tool for analyzing searchable information.

    Annotations the server declares

    • title: Reddit: Get Users by Keywords
    • readOnlyHint: true
    • idempotentHint: false
    • openWorldHint: true
    • destructiveHint: false
  • getTiktokCommentsByPostIdGet COMMENT CONTENT (text, likes) for a Tiktok post.No findings

    Why it is in this group

    • The name "getTiktokCommentsByPostId" says "get": a word for reading.
    Description, as the server wrote it
    Get COMMENT CONTENT (text, likes) for a Tiktok post. Returns the actual comment objects with text and metadata. RETURNS COMMENT DATA: id, text, username, createdAtDate, likeCount. Use for reading what people said. FAST (default, omit responseType or responseType="fast"): Returns up to 300 results directly (use limit param to reduce, e.g. limit=5). Auto API fallback for fresh data. PAGING (responseType="paging"): Async paginated results (100/page), returns operationId for polling via checkOperationStatus. Supports pageNumber/tableName for subsequent pages. CSV (responseType="csv"): Async single CSV download, returns operationId, poll for S3 link. CODE EXECUTION: For csv mode, download CSV and use code execution to analyze full dataset. Ideal for: sentiment analysis, reading discussions, analyzing comment content, engagement patterns. Date filters: OMIT startDate/endDate by default. ONLY pass if user explicitly requests date range. IMPORTANT!!!!!: THE CURRENT YEAR IS 2026. When user requests relative dates (last week, last month), verify the current date from your system context and double-check the calculated dates - models often get the year wrong, searching one year earlier than intended. Optional fields: ["id", "text", "username", "createdAtDate", "likeCount"]. This is a safe, read-only tool for analyzing searchable information.

    Annotations the server declares

    • title: Tiktok: Get Post Comments
    • readOnlyHint: true
    • idempotentHint: false
    • openWorldHint: true
    • destructiveHint: false
  • getTiktokPostsByHashtagsSearch Tiktok posts by hashtags with three response modes.No findings

    Why it is in this group

    • The name "getTiktokPostsByHashtags" says "get": a word for reading.
    Description, as the server wrote it
    Search Tiktok posts by hashtags with three response modes. Searches the hashtags column directly (NOT post descriptions). Pass hashtags as an array of bare alphanumeric strings - do NOT include leading "#". OR semantics: matches posts containing ANY of the listed hashtags. FAST (default, omit responseType or responseType="fast"): Returns up to 300 results directly (use limit param to reduce, e.g. limit=5). PAGING (responseType="paging"): Async paginated results (100/page), returns operationId for polling via checkOperationStatus. Supports pageNumber/tableName for subsequent pages. CSV (responseType="csv"): Async single CSV download, returns operationId, poll for S3 link. CODE EXECUTION: For csv mode, download CSV and use code execution to analyze full dataset. Ideal for: hashtag trend analysis, viral hashtag tracking, cross-hashtag content discovery. Returns by default: id, description, username, createdAtDate. NOT for keyword/phrase search in descriptions - use getTiktokPostsByKeywords instead. NOT for URL or post ID lookups - use getTiktokPostsByIds instead. Date filters: OMIT startDate/endDate parameters by default to retrieve all posts. ONLY pass these if user explicitly requests specific date range (YYYY-MM-DD format). IMPORTANT!!!!!: THE CURRENT YEAR IS 2026. When user requests relative dates (last week, last month), verify the current date from your system context and double-check the calculated dates - models often get the year wrong, searching one year earlier than intended. FIELDS parameter (optional): Specify to get additional/different fields. Available: Core (id, description, userId, username, nickname, createdAtDate), Engagement (likeCount, commentCount, playCount, forwardCount, collectCount, downloadCount), Media (videoThumbnail, videoUrl, duration, postType), Content (hashtags, transcriptsJson). This is a safe, read-only tool for analyzing searchable information.

    Annotations the server declares

    • title: Tiktok: Get Posts by Hashtags
    • readOnlyHint: true
    • idempotentHint: false
    • openWorldHint: true
    • destructiveHint: false
  • getTiktokPostsByIdsGet multiple Tiktok posts by IDs (1-100 IDs per request).No findings

    Why it is in this group

    • The name "getTiktokPostsByIds" says "get": a word for reading.
    Description, as the server wrote it
    Get multiple Tiktok posts by IDs (1-100 IDs per request). Returns results directly. First searches database, then external API for missing/stale data. Optional fields parameter for performance: ["id", "description", "likeCount"]. Returns: results array with id, description, userId, username, createdAtDate, engagement metrics. This is a safe, read-only tool for analyzing searchable information.

    Annotations the server declares

    • title: Tiktok: Get Posts by IDs
    • readOnlyHint: true
    • idempotentHint: true
    • openWorldHint: true
    • destructiveHint: false
  • getTiktokPostsByKeywordsSearch Tiktok posts by keywords with three response modes.1 finding

    Why it is in this group

    • The name "getTiktokPostsByKeywords" says "get": a word for reading.

    Findings

    • Info

      The description is 2,100 characters long, over the 2,000 this check looks for.

      Matched text

      description ends: "...riptsJson). This is a safe, read-only tool for analyzing searchable information."

      What this check looks for
    Description, as the server wrote it
    Search Tiktok posts by keywords with three response modes. Searches post descriptions and video transcripts. FAST (default, omit responseType or responseType="fast"): Returns up to 300 results directly (use limit param to reduce, e.g. limit=5). PAGING (responseType="paging"): Async paginated results (100/page), returns operationId for polling via checkOperationStatus. Supports pageNumber/tableName for subsequent pages. CSV (responseType="csv"): Async single CSV download, returns operationId, poll for S3 link. CODE EXECUTION: For csv mode, download CSV and use code execution to analyze full dataset. Ideal for: trend analysis, hashtag tracking, viral content discovery across Tiktok. Returns by default: id, description, username, createdAtDate. NOT for URL lookups or post ID lookups - use getTiktokPostsByIds instead. QUERY SYNTAX: Plain keywords (bitcoin, climate change), quoted phrases ("deep learning"), boolean expressions (AI AND crypto, bitcoin OR ethereum, politics NOT sports), or parenthesized groups ((startup OR entrepreneur) NOT "venture capital"). AND/OR/NOT must have a term on both sides. @handles like @karpathy are supported. Field operators (from:, lang:) are stripped. Forward slashes are treated as spaces (24/7 becomes 24 7). Date filters: OMIT startDate/endDate parameters by default to retrieve all posts. ONLY pass these if user explicitly requests specific date range (YYYY-MM-DD format). IMPORTANT!!!!!: THE CURRENT YEAR IS 2026. When user requests relative dates (last week, last month), verify the current date from your system context and double-check the calculated dates - models often get the year wrong, searching one year earlier than intended. FIELDS parameter (optional): Specify to get additional/different fields. Available: Core (id, description, userId, username, nickname, createdAtDate), Engagement (likeCount, commentCount, playCount, forwardCount, collectCount, downloadCount), Media (videoThumbnail, videoUrl, duration, postType), Content (hashtags, transcriptsJson). This is a safe, read-only tool for analyzing searchable information.

    Annotations the server declares

    • title: Tiktok: Get Posts by Keywords
    • readOnlyHint: true
    • idempotentHint: false
    • openWorldHint: true
    • destructiveHint: false
  • getTiktokPostsBySoundGet Tiktok posts that use a specific sound/music with three response modes.No findings

    Why it is in this group

    • The name "getTiktokPostsBySound" says "get": a word for reading.
    Description, as the server wrote it
    Get Tiktok posts that use a specific sound/music with three response modes. Required: soundId (numeric ID from searchTiktokSounds). FAST (default, omit responseType or responseType="fast"): Returns up to 300 results directly (use limit param to reduce, e.g. limit=5). PAGING (responseType="paging"): Async paginated results (100/page), returns operationId for polling via checkOperationStatus. Supports pageNumber/tableName for subsequent pages. CSV (responseType="csv"): Async single CSV download, returns operationId, poll for S3 link. Returns by default: id, description, username, createdAtDate. NOT for keyword/phrase search - use getTiktokPostsByKeywords. NOT for hashtags - use getTiktokPostsByHashtags. Date filters: OMIT startDate/endDate by default. ONLY pass if user explicitly requests a date range (YYYY-MM-DD). IMPORTANT!!!!!: THE CURRENT YEAR IS 2026. When user requests relative dates (last week, last month), verify the current date from your system context and double-check the calculated dates - models often get the year wrong, searching one year earlier than intended. FIELDS parameter (optional): Core (id, description, userId, username, nickname, createdAtDate), Engagement (likeCount, commentCount, playCount, forwardCount, collectCount, downloadCount), Media (videoThumbnail, videoUrl, duration, postType), Content (hashtags, transcriptsJson). This is a safe, read-only tool for analyzing searchable information.

    Annotations the server declares

    • title: Tiktok: Get Posts by Sound
    • readOnlyHint: true
    • idempotentHint: false
    • openWorldHint: true
    • destructiveHint: false
  • getTiktokPostsByUserGet posts from Tiktok user by ID or username with three response modes.No findings

    Why it is in this group

    • The name "getTiktokPostsByUser" says "get": a word for reading.
    Description, as the server wrote it
    Get posts from Tiktok user by ID or username with three response modes. Use identifierType="id" for numeric user ID, identifierType="username" for username. FAST (default, omit responseType or responseType="fast"): Returns up to 300 results directly (use limit param to reduce, e.g. limit=5). Auto API fallback for fresh data. Results include guidance for full mode. PAGING (responseType="paging"): Async paginated results (100/page), returns operationId for polling via checkOperationStatus. Supports pageNumber/tableName for subsequent pages. CSV (responseType="csv"): Async single CSV download, returns operationId, poll for S3 link. CODE EXECUTION: For csv mode, download CSV and use code execution to analyze full dataset. Ideal for: engagement analysis, content trends, viral video detection, processing thousands of posts. Returns by default: id, description, username, createdAtDate. First searches database, then external API if data is stale or missing. Date filters: OMIT startDate/endDate parameters by default to retrieve all posts. ONLY pass these if user explicitly requests specific date range (YYYY-MM-DD format). IMPORTANT!!!!!: THE CURRENT YEAR IS 2026. When user requests relative dates (last week, last month), verify the current date from your system context and double-check the calculated dates - models often get the year wrong, searching one year earlier than intended. FIELDS parameter (optional): Specify to get additional/different fields. Available: Core (id, description, userId, username, nickname, createdAtDate), Engagement (likeCount, commentCount, playCount, forwardCount, collectCount, downloadCount), Media (videoThumbnail, videoUrl, duration, postType), Content (hashtags, transcriptsJson). This is a safe, read-only tool for analyzing searchable information.

    Annotations the server declares

    • title: Tiktok: Get Posts by User
    • readOnlyHint: true
    • idempotentHint: false
    • openWorldHint: true
    • destructiveHint: false
  • getTiktokUserGet Tiktok user profile by ID or username.No findings

    Why it is in this group

    • The name "getTiktokUser" says "get": a word for reading.
    Description, as the server wrote it
    Get Tiktok user profile by ID or username. Use identifierType="id" for numeric user ID, identifierType="username" for username. For username: Use ONLY when you have the precise username. For person names or fuzzy search, use searchTiktokUsers instead. Optional fields parameter for performance (default: ["id", "username", "nickname"]). Available fields: id, username, nickname, signature, isPrivate, isVerified, followerCount, followingCount, likeCount, postCount, avatar, and more. Returns: single user profile. This is a safe, read-only tool for analyzing searchable information.

    Annotations the server declares

    • title: Tiktok: Get User
    • readOnlyHint: true
    • idempotentHint: true
    • openWorldHint: true
    • destructiveHint: false
  • getTiktokUsersByHashtagsSearch for USERS who authored Tiktok posts tagged with specific hashtags.No findings

    Why it is in this group

    • The name "getTiktokUsersByHashtags" says "get": a word for reading.
    Description, as the server wrote it
    Search for USERS who authored Tiktok posts tagged with specific hashtags. USE CASE: Find users who have posted content tagged with one or more hashtags. Returns unique, deduplicated user profiles. Pass hashtags as an array of bare alphanumeric strings - do NOT include leading "#". OR semantics: matches users who posted content tagged with ANY of the listed hashtags. RESPONSE MODES (responseType parameter): "fast" (DEFAULT): Returns up to 300 results directly in one call. Use limit param to reduce. Best for quick lookups. "paging": Async paginated results (100/page). Returns operation ID - call checkOperationStatus to get results. Use pageNumber/tableName for subsequent pages. "csv": Async CSV export. Returns dataDumpExportOperationId - call checkOperationStatus to get S3 download link. Best for bulk export. NOT for keyword/phrase search in descriptions - use getTiktokUsersByKeywords instead. FILTERS: startDate/endDate (YYYY-MM-DD format). OMIT by default. IMPORTANT!!!!!: THE CURRENT YEAR IS 2026. When user requests relative dates (last week, last month), verify the current date from your system context and double-check the calculated dates - models often get the year wrong, searching one year earlier than intended. Optional fields parameter for performance (default: ["id", "username", "nickname"]). AGGREGATE FIELDS (from matching posts) - MUST BE EXPLICITLY REQUESTED IN FIELDS: aggRelevance, relevantPostsCount, relevantPostsLikesSum, relevantPostsCommentsSum, relevantPostsPlaysSum, relevantPostsForwardsSum. This is a safe, read-only tool for analyzing searchable information.

    Annotations the server declares

    • title: Tiktok: Get Users by Hashtags
    • readOnlyHint: true
    • idempotentHint: false
    • openWorldHint: true
    • destructiveHint: false
  • getTiktokUsersByKeywordsSearch for USERS who authored Tiktok posts matching keywords.1 finding

    Why it is in this group

    • The name "getTiktokUsersByKeywords" says "get": a word for reading.

    Findings

    • Info

      The description is 2,096 characters long, over the 2,000 this check looks for.

      Matched text

      description ends: "...orwardsSum. This is a safe, read-only tool for analyzing searchable information."

      What this check looks for
    Description, as the server wrote it
    Search for USERS who authored Tiktok posts matching keywords. USE CASE: Find users who have posted content about specific topics. Returns unique, deduplicated user profiles. RESPONSE MODES (responseType parameter): "fast" (DEFAULT): Returns up to 300 results directly in one call. Use limit param to reduce. Best for quick lookups. "paging": Async paginated results (100/page). Returns operation ID - call checkOperationStatus to get results. Use pageNumber/tableName for subsequent pages. "csv": Async CSV export. Returns dataDumpExportOperationId - call checkOperationStatus to get S3 download link. Best for bulk export. PAGING MODE DETAILS: FIRST CALL: Omit pageNumber and tableName. Creates cached table, returns page 1 with pagination metadata (tableName, totalPages, totalRows). SUBSEQUENT PAGES: Use tableName from first response with pageNumber (2, 3, etc.). BULK FETCH: Use pageNumberEnd with pageNumber and tableName for multiple consecutive pages. QUERY SYNTAX: Plain keywords (bitcoin, climate change), quoted phrases ("deep learning"), boolean expressions (AI AND crypto, bitcoin OR ethereum, politics NOT sports), or parenthesized groups ((startup OR entrepreneur) NOT "venture capital"). AND/OR/NOT must have a term on both sides. @handles like @karpathy are supported. Field operators (from:, lang:) are stripped. Forward slashes are treated as spaces (24/7 becomes 24 7). FILTERS: startDate/endDate (YYYY-MM-DD format). OMIT by default. IMPORTANT!!!!!: THE CURRENT YEAR IS 2026. When user requests relative dates (last week, last month), verify the current date from your system context and double-check the calculated dates - models often get the year wrong, searching one year earlier than intended. Optional fields parameter for performance (default: ["id", "username", "nickname"]). AGGREGATE FIELDS (from matching posts) - MUST BE EXPLICITLY REQUESTED IN FIELDS: aggRelevance, relevantPostsCount, relevantPostsLikesSum, relevantPostsCommentsSum, relevantPostsPlaysSum, relevantPostsForwardsSum. This is a safe, read-only tool for analyzing searchable information.

    Annotations the server declares

    • title: Tiktok: Get Users by Keywords
    • readOnlyHint: true
    • idempotentHint: false
    • openWorldHint: true
    • destructiveHint: false
  • getTrackedItemsGet tracked keywords and users.No findings

    Why it is in this group

    • The name "getTrackedItems" says "get": a word for reading.
    Description, as the server wrote it
    Get tracked keywords and users. Returns: phrase, type (keyword/user/subreddit/hashtag), platform (twitter/instagram/reddit/tiktok). Subreddit is Reddit-only, hashtag is TikTok-only.

    Annotations the server declares

    • title: Tracking: Get Tracked Items
    • readOnlyHint: true
    • idempotentHint: true
    • openWorldHint: false
    • destructiveHint: false
  • getTwitterPostCommentsGet comments (replies) to specific post.No findings

    Why it is in this group

    • The name "getTwitterPostComments" says "get": a word for reading.
    Description, as the server wrote it
    Get comments (replies) to specific post. FAST (default, omit responseType or responseType="fast"): Returns up to 300 results directly (use limit param to reduce, e.g. limit=5). Auto API fallback for fresh data. Results include guidance for full mode. PAGING (responseType="paging"): Async paginated results (100/page), returns operationId for polling via checkOperationStatus. Supports pageNumber/tableName for subsequent pages. CSV (responseType="csv"): Async single CSV download, returns operationId, poll for S3 link. CODE EXECUTION: For csv mode, download CSV and use code execution to analyze all comments. Ideal for: sentiment analysis, discussion themes, community engagement analysis. First searches database, then external API if data is stale (>10 days). Date filter: OMIT startDate by default. ONLY pass if user explicitly requests filtering from specific date (YYYY-MM-DD format). IMPORTANT!!!!!: THE CURRENT YEAR IS 2026. When user requests relative dates (last week, last month), verify the current date from your system context and double-check the calculated dates - models often get the year wrong, searching one year earlier than intended. Use to analyze community response and discussion. NOT for quotes - use getTwitterPostQuotes. Optional fields parameter for performance: ["id", "text", "authorUsername", "createdAt"]. This is a safe, read-only tool for analyzing searchable information.

    Annotations the server declares

    • title: Twitter: Get Post Comments
    • readOnlyHint: true
    • idempotentHint: false
    • openWorldHint: true
    • destructiveHint: false
  • getTwitterPostInteractingUsersGet users who interacted with a specific Twitter post (commenters, quoters, or retweeters).1 finding

    Why it is in this group

    • The name "getTwitterPostInteractingUsers" says "get": a word for reading.

    Findings

    • Info

      The description is 2,049 characters long, over the 2,000 this check looks for.

      Matched text

      description ends: "...t networks. This is a safe, read-only tool for analyzing searchable information."

      What this check looks for
    Description, as the server wrote it
    Get users who interacted with a specific Twitter post (commenters, quoters, or retweeters). INTERACTION TYPES: "commenters" (users who replied to the post), "quoters" (users who quoted the post), "retweeters" (users who retweeted the post). FAST (default, omit responseType or responseType="fast"): Returns up to 300 results directly (use limit param to reduce, e.g. limit=5). Auto API fallback when DB data is stale or insufficient. Results include guidance for paging mode. PAGING (responseType="paging"): Async paginated results (1000/page with default fields, 100/page if extra fields). Returns operationId for polling via checkOperationStatus. Supports pageNumber/tableName for subsequent pages. CSV (responseType="csv"): Async single CSV download, returns operationId, poll for S3 link. CODE EXECUTION: For csv mode, download CSV and use code execution to analyze full dataset. Ideal for: audience analysis, engagement patterns, network graphs across thousands of users. PAGING MODE DETAILS: FIRST CALL: Omit pageNumber and tableName. Creates cached table, returns page 1 with pagination metadata (tableName, totalPages, totalRows). SUBSEQUENT PAGES: Use tableName from first response with pageNumber (2, 3, etc.) to fetch additional pages. Cannot pass pageNumber without tableName. BULK FETCH: Optionally use pageNumberEnd with pageNumber and tableName to fetch multiple consecutive pages at once (e.g., pageNumber=1, pageNumberEnd=5 returns pages 1-5). Optional fields parameter for performance (default: ["id", "username", "name"]). Available fields: id, username, name, description, location, followersCount, followingCount, verified, profileImageUrl, and more. DATA FRESHNESS: Automatically checks data age (> 1 week triggers refresh from API). FORCE LATEST: Use sparingly - forceLatest=true bypasses cache for real-time data (increases latency/costs). Use for: Finding who engaged with a specific post, analyzing post reach and audience, building engagement networks. This is a safe, read-only tool for analyzing searchable information.

    Annotations the server declares

    • title: Twitter: Get Post Interacting Users
    • readOnlyHint: true
    • idempotentHint: false
    • openWorldHint: true
    • destructiveHint: false
  • getTwitterPostQuotesGet quote posts of specific post.No findings

    Why it is in this group

    • The name "getTwitterPostQuotes" says "get": a word for reading.
    Description, as the server wrote it
    Get quote posts of specific post. FAST (default, omit responseType or responseType="fast"): Returns up to 300 results directly (use limit param to reduce, e.g. limit=5). Auto API fallback for fresh data. Results include guidance for full mode. PAGING (responseType="paging"): Async paginated results (100/page), returns operationId for polling via checkOperationStatus. Supports pageNumber/tableName for subsequent pages. CSV (responseType="csv"): Async single CSV download, returns operationId, poll for S3 link. CODE EXECUTION: For csv mode, download CSV and use code execution to analyze all quote tweets. Ideal for: sentiment analysis on reactions, commentary patterns, viral spread analysis. First searches database, then external API if data is stale (>10 days). Date filter: OMIT startDate by default. ONLY pass if user explicitly requests filtering from specific date (YYYY-MM-DD format). IMPORTANT!!!!!: THE CURRENT YEAR IS 2026. When user requests relative dates (last week, last month), verify the current date from your system context and double-check the calculated dates - models often get the year wrong, searching one year earlier than intended. Use to analyze commentary on post. NOT for retweets - use getTwitterPostRetweets. Optional fields parameter for performance: ["id", "text", "authorUsername", "createdAt"]. This is a safe, read-only tool for analyzing searchable information.

    Annotations the server declares

    • title: Twitter: Get Quote Posts
    • readOnlyHint: true
    • idempotentHint: false
    • openWorldHint: true
    • destructiveHint: false
  • getTwitterPostRetweetsGet retweets of specific post.No findings

    Why it is in this group

    • The name "getTwitterPostRetweets" says "get": a word for reading.
    Description, as the server wrote it
    Get retweets of specific post. FAST (default, omit responseType or responseType="fast"): Returns up to 300 results directly (use limit param to reduce, e.g. limit=5). Database-only. Results include guidance for full mode. PAGING (responseType="paging"): Async paginated results (100/page), returns operationId for polling via checkOperationStatus. Supports pageNumber/tableName for subsequent pages. Database-only search for historical retweet data. Date filter: OMIT startDate by default. ONLY pass if user explicitly requests filtering from specific date (YYYY-MM-DD format). IMPORTANT!!!!!: THE CURRENT YEAR IS 2026. When user requests relative dates (last week, last month), verify the current date from your system context and double-check the calculated dates - models often get the year wrong, searching one year earlier than intended. Use to analyze post amplification patterns. NOT for quotes - use getTwitterPostQuotes. Optional fields parameter for performance: ["id", "authorUsername", "createdAt"]. This is a safe, read-only tool for analyzing searchable information.

    Annotations the server declares

    • title: Twitter: Get Retweets
    • readOnlyHint: true
    • idempotentHint: false
    • openWorldHint: true
    • destructiveHint: false
  • getTwitterPostsByAuthorGet posts from author by username with multiple response modes.No findings

    Why it is in this group

    • The name "getTwitterPostsByAuthor" says "get": a word for reading.
    Description, as the server wrote it
    Get posts from author by username with multiple response modes. FAST (default, omit responseType or responseType="fast"): Returns up to 300 results directly (use limit param to reduce, e.g. limit=5). Auto API fallback for fresh data. Results include guidance for full mode. PAGING (responseType="paging"): Async paginated results (100/page), returns operationId for polling via checkOperationStatus. Supports pageNumber/tableName for subsequent pages. CSV (responseType="csv"): Async single CSV download, returns operationId, poll for S3 link. CODE EXECUTION: For csv mode, download CSV and use code execution to analyze full dataset. Ideal for: statistical analysis, trend detection, data visualization, processing thousands of posts. Returns by default: id, text, authorUsername, createdAtDate. First searches database, then external API if data is stale or missing. Date filters: OMIT startDate/endDate parameters by default to retrieve all posts. ONLY pass these if user explicitly requests specific date range (YYYY-MM-DD format). IMPORTANT!!!!!: THE CURRENT YEAR IS 2026. When user requests relative dates (last week, last month), verify the current date from your system context and double-check the calculated dates - models often get the year wrong, searching one year earlier than intended. FIELDS parameter (optional): Specify to get additional/different fields. Available: Core (id, text, authorId, authorUsername, createdAt), Engagement (retweetCount, replyCount, quoteCount, impressionCount, bookmarkCount), Metadata (lang, source, suspended, deleted), Relations (conversationId, quotedTweetId, retweetedTweetId, replyToTweetId, replyToUserId, replyToUsername), Content (hashtags, mentions, mediaUrls), Location (placeName, placeCountry, placeCountryCode, placeBoundingBoxCoordinates, placeCentroid). This is a safe, read-only tool for analyzing searchable information.

    Annotations the server declares

    • title: Twitter: Get Posts by Author
    • readOnlyHint: true
    • idempotentHint: false
    • openWorldHint: true
    • destructiveHint: false
  • getTwitterPostsByIdsGet multiple Twitter posts by numeric IDs (1-100 IDs per request).No findings

    Why it is in this group

    • The name "getTwitterPostsByIds" says "get": a word for reading.
    Description, as the server wrote it
    Get multiple Twitter posts by numeric IDs (1-100 IDs per request). Returns results directly. Returns only found tweets, omitting not-found IDs for flexibility. First searches database, then external API for missing/stale data in parallel. Use when you have multiple exact post IDs. NOT for search - use getTwitterPostsByKeywords. PERFORMANCE: Much more efficient than multiple single-ID calls. Batches database queries and parallelizes API calls. Optional fields parameter for performance: ["id", "text", "retweetCount"]. Returns: results array with id, text, authorId, createdAt, metrics (retweets, replies, quotes), count, dataSource. This is a safe, read-only tool for analyzing searchable information.

    Annotations the server declares

    • title: Twitter: Get Posts by IDs
    • readOnlyHint: true
    • idempotentHint: true
    • openWorldHint: true
    • destructiveHint: false
  • getTwitterPostsByKeywordsSearch posts by keywords.1 finding

    Why it is in this group

    • The name "getTwitterPostsByKeywords" says "get": a word for reading.

    Findings

    • Info

      The description is 2,639 characters long, over the 2,000 this check looks for.

      Matched text

      description ends: "...eCentroid). This is a safe, read-only tool for analyzing searchable information."

      What this check looks for
    Description, as the server wrote it
    Search posts by keywords. FAST (default, omit responseType or responseType="fast"): Returns up to 300 results directly (use limit param to reduce, e.g. limit=5). Auto API fallback for fresh data. Results include guidance for full mode. PAGING (responseType="paging"): Async paginated results (100/page), returns operationId for polling via checkOperationStatus. Supports pageNumber/tableName for subsequent pages. CSV (responseType="csv"): Async single CSV download, returns operationId, poll for S3 link. CODE EXECUTION: For csv mode, download CSV and use code execution to analyze full dataset. Ideal for: sentiment analysis, trend detection, content analysis across thousands of posts. Returns by default: id, text, authorUsername, createdAtDate. First searches database, then external API if data is stale or missing. NOT for URL lookups - use getTwitterPostsByIds. QUERY SYNTAX: Plain keywords (bitcoin, climate change), quoted phrases ("deep learning"), boolean expressions (AI AND crypto, bitcoin OR ethereum, politics NOT sports), or parenthesized groups ((startup OR entrepreneur) NOT "venture capital"). AND/OR/NOT must have a term on both sides. @handles like @karpathy are supported. Field operators (from:, lang:) are stripped. Forward slashes are treated as spaces (24/7 becomes 24 7). SORT: sortBy="relevance" (default, best matches first) or sortBy="latest" (newest first). Filters: language, authorId/authorUsername, countryCode (2-letter ISO code, feature-gated - only accounts with the country filter enabled; filters by the tagged place country in both database and on-demand results). Date filters: OMIT startDate/endDate by default. ONLY pass if user explicitly requests specific date range (YYYY-MM-DD format). Use filterOutRetweets=true to exclude retweets. IMPORTANT!!!!!: THE CURRENT YEAR IS 2026. When user requests relative dates (last week, last month), verify the current date from your system context and double-check the calculated dates - models often get the year wrong, searching one year earlier than intended. FIELDS parameter (optional): Specify to get additional/different fields. Available: Core (id, text, authorId, authorUsername, createdAt), Engagement (retweetCount, replyCount, quoteCount, impressionCount, bookmarkCount), Metadata (lang, source, suspended, deleted), Relations (conversationId, quotedTweetId, retweetedTweetId, replyToTweetId, replyToUserId, replyToUsername), Content (hashtags, mentions, mediaUrls), Location (placeName, placeCountry, placeCountryCode, placeBoundingBoxCoordinates, placeCentroid). This is a safe, read-only tool for analyzing searchable information.

    Annotations the server declares

    • title: Twitter: Search Posts
    • readOnlyHint: true
    • idempotentHint: false
    • openWorldHint: true
    • destructiveHint: false
  • getTwitterUserGet Twitter user profile by ID or username.No findings

    Why it is in this group

    • The name "getTwitterUser" says "get": a word for reading.
    Description, as the server wrote it
    Get Twitter user profile by ID or username. Use identifierType="id" for numeric user ID, identifierType="username" for username. For username: Use ONLY when you have the precise username (e.g., "elonmusk"). For person names or fuzzy search, use searchTwitterUsers instead. Optional fields parameter for performance (default: ["id", "username", "name"]). Available fields: id, profileImageUrl, profileBannerUrl, profileInterstitialType, status, username, verifiedType, name, description, location, protected, verified, followersCount, followingCount, tweetCount, listedCount, likesCount, mediaCount, pinnedTweetId, source, nLang, nLangsFiltered, label, labelType, isVerified, modifiedAt, createdAt, verifiedSinceDatetime, accountBasedIn, locationAccurate, usernameChanges, lastUsernameChangeDatetime. NOTE: Use "tweetCount" not "statusesCount". Returns: single user profile with id, username, name, bio, followers_count, following_count, tweet_count, created_at, authenticity_score, inauthentic_type. This is a safe, read-only tool for analyzing searchable information.

    Annotations the server declares

    • title: Twitter: Get User
    • readOnlyHint: true
    • idempotentHint: true
    • openWorldHint: true
    • destructiveHint: false
  • getTwitterUserConnectionsGet Twitter user connections (followers or following).No findings

    Why it is in this group

    • The name "getTwitterUserConnections" says "get": a word for reading.
    Description, as the server wrote it
    Get Twitter user connections (followers or following). Use connectionType="followers" for users who follow them, connectionType="following" for users they follow. FAST (default, omit responseType or responseType="fast"): Returns up to 300 results directly (use limit param to reduce, e.g. limit=5). Auto API fallback for fresh data. PAGING (responseType="paging"): Async paginated results (1000/page with default fields, 100/page with extra fields), returns operationId for polling via checkOperationStatus. Supports pageNumber/tableName for subsequent pages. CSV (responseType="csv"): Async single CSV download, returns operationId, poll for S3 link. CODE EXECUTION: For csv mode, download CSV and use code execution to analyze full dataset. Ideal for: network analysis, audience demographics, engagement patterns. Optional fields parameter for performance (default: ["id", "username", "name"]). Available fields: id, username, name, description, location, followersCount, followingCount, verified, profileImageUrl, and more. DATA FRESHNESS: Automatically checks data age (> 1 week triggers refresh from API). FORCE LATEST: Use sparingly - forceLatest=true bypasses cache for real-time data (increases latency/costs). CRITICAL - Understanding totalRows vs totalDataCount: totalRows indicates ONLY what we have in our database. totalDataCount (when present) shows the actual count from Twitter. If totalDataCount is missing or undefined, you CANNOT claim totalRows represents all connections - it only shows our partial database data. If totalDataCount > totalRows, we only have partial data. Always check if totalDataCount exists before making claims about total counts. This is a safe, read-only tool for analyzing searchable information.

    Annotations the server declares

    • title: Twitter: Get User Connections
    • readOnlyHint: true
    • idempotentHint: false
    • openWorldHint: true
    • destructiveHint: false
  • getTwitterUsersGet one or more Twitter user profiles by IDs or usernames (1-100 per request).No findings

    Why it is in this group

    • The name "getTwitterUsers" says "get": a word for reading.
    Description, as the server wrote it
    Get one or more Twitter user profiles by IDs or usernames (1-100 per request). Use identifierType="id" for numeric user IDs, identifierType="username" for usernames. All identifiers must be the same type. For single user: pass array of 1, e.g. identifiers=["elonmusk"]. For person names or fuzzy search, use searchTwitterUsers instead. PERFORMANCE: More efficient than multiple single calls, but can still take time for many users. Returns only found users, omitting not-found identifiers for flexibility. Optional fields parameter for performance (default: ["id", "username", "name"]). Available fields: id, profileImageUrl, profileBannerUrl, profileInterstitialType, status, username, verifiedType, name, description, location, protected, verified, followersCount, followingCount, tweetCount, listedCount, likesCount, mediaCount, pinnedTweetId, source, nLang, nLangsFiltered, label, labelType, isVerified, modifiedAt, createdAt, verifiedSinceDatetime, accountBasedIn, locationAccurate, usernameChanges, lastUsernameChangeDatetime. NOTE: Use "tweetCount" not "statusesCount". Returns: array of user profiles with count and dataSource. This is a safe, read-only tool for analyzing searchable information.

    Annotations the server declares

    • title: Twitter: Get Users
    • readOnlyHint: true
    • idempotentHint: true
    • openWorldHint: true
    • destructiveHint: false
  • getTwitterUsersByKeywordsSearch for USERS who authored tweets/comments/quotes/retweets matching keywords.1 finding

    Why it is in this group

    • The name "getTwitterUsersByKeywords" says "get": a word for reading.

    Findings

    • Info

      The description is 2,710 characters long, over the 2,000 this check looks for.

      Matched text

      description ends: "...Id for CSV. This is a safe, read-only tool for analyzing searchable information."

      What this check looks for
    Description, as the server wrote it
    Search for USERS who authored tweets/comments/quotes/retweets matching keywords. USE CASE: Find users who have posted content about specific topics, keywords, or phrases. Returns unique, deduplicated user profiles. RESPONSE MODES (responseType parameter): "fast" (DEFAULT): Returns up to 300 results directly in one call. Use limit param to reduce. Best for quick lookups. "paging": Async paginated results (100/page). Returns operation ID - call checkOperationStatus to get results. Use pageNumber/tableName for subsequent pages. "csv": Async CSV export. Returns dataDumpExportOperationId - call checkOperationStatus to get S3 download link. Best for bulk export. PAGING MODE DETAILS: FIRST CALL: Omit pageNumber and tableName. Creates cached table, returns page 1 with pagination metadata (tableName, totalPages, totalRows). SUBSEQUENT PAGES: Use tableName from first response with pageNumber (2, 3, etc.). BULK FETCH: Use pageNumberEnd with pageNumber and tableName for multiple consecutive pages. QUERY SYNTAX: Plain keywords (bitcoin, climate change), quoted phrases ("deep learning"), boolean expressions (AI AND crypto, bitcoin OR ethereum, politics NOT sports), or parenthesized groups ((startup OR entrepreneur) NOT "venture capital"). AND/OR/NOT must have a term on both sides. @handles like @karpathy are supported. Field operators (from:, lang:) are stripped. Forward slashes are treated as spaces (24/7 becomes 24 7). FILTERS: - startDate/endDate: Filter by tweet date (YYYY-MM-DD format). OMIT by default, only use if user explicitly requests date range. IMPORTANT!!!!!: THE CURRENT YEAR IS 2026. When user requests relative dates (last week, last month), verify the current date from your system context and double-check the calculated dates - models often get the year wrong, searching one year earlier than intended. - language: Filter tweets by language (en, EN, English, es, Spanish, etc.). Optional fields parameter for performance (default: ["id", "username", "name"]). Available fields: id, username, name, description, location, followersCount, followingCount, verified, profileImageUrl, and more. AGGREGATE FIELDS (from matching tweets) - MUST BE EXPLICITLY REQUESTED IN FIELDS: aggRelevance (relevance score for sorting), relevantTweetsCount (count of matching tweets per user), relevantTweetsImpressionsSum, relevantTweetsLikesSum, relevantTweetsQuotesSum, relevantTweetsRepliesSum, relevantTweetsRetweetsSum. These return aggregated metrics from all matched tweets for each user. Returns: results array of unique user profiles, count. In paging mode: pagination object, dataDumpExportOperationId for CSV. This is a safe, read-only tool for analyzing searchable information.

    Annotations the server declares

    • title: Twitter: Get Users by Keywords
    • readOnlyHint: true
    • idempotentHint: false
    • openWorldHint: true
    • destructiveHint: false
  • getUserAccessKeyRetrieve authenticated user access key.No findings

    Why it is in this group

    • The name "getUserAccessKey" says "get": a word for reading.
    Description, as the server wrote it
    Retrieve authenticated user access key. Required: authentication, confirmation. Returns: access key, metadata.

    Annotations the server declares

    • title: Auth: Get User Access Key
    • readOnlyHint: true
    • idempotentHint: true
    • openWorldHint: false
    • destructiveHint: false
  • searchInstagramUsersSearch users by person name, partial username, or fuzzy match using real-time external API.No findings

    Why it is in this group

    • The name "searchInstagramUsers" says "search": a word for reading.
    Description, as the server wrote it
    Search users by person name, partial username, or fuzzy match using real-time external API. PRIMARY USE: When given person's name (e.g., "Cristiano Ronaldo", "Kim Kardashian"), partial info, or uncertain username. Use for: Name-based search, finding multiple candidates, fuzzy matching, discovering users. NOT for: Exact username lookup (use getInstagramUser when username is certain). Optional fields parameter for performance (default: ["id", "username", "fullName"]). Available fields: id, username, fullName, biography, isPrivate, isVerified, followerCount, followingCount, mediaCount, profilePicUrl, and more. Returns: array of matching users (default 10, max 10) with userId, username, fullName, followerCount, biography, profilePicUrl. This is a safe, read-only tool for analyzing searchable information.

    Annotations the server declares

    • title: Instagram: Search Users
    • readOnlyHint: true
    • idempotentHint: false
    • openWorldHint: true
    • destructiveHint: false
  • searchRedditSubredditsSearch Reddit subreddits by keywords using real-time external API.No findings

    Why it is in this group

    • The name "searchRedditSubreddits" says "search": a word for reading.
    Description, as the server wrote it
    Search Reddit subreddits by keywords using real-time external API. Searches subreddit names and descriptions to find communities. Use for: Discovering communities about topics, finding niche subreddits, exploring Reddit communities. Optional fields parameter for performance (default: ["id", "displayName", "title", "subscribersCount"]). Available fields: id, displayName, title, publicDescription, description, subscribersCount, activeUserCount, subredditType, over18, lang, url, subredditUrl, iconImg, bannerImg, headerImg, communityIcon, createdAt. Returns: array of matching subreddits (default 50, max 50) with id, name, description, subscriber count. This is a safe, read-only tool for analyzing searchable information.

    Annotations the server declares

    • title: Reddit: Search Subreddits
    • readOnlyHint: true
    • idempotentHint: false
    • openWorldHint: true
    • destructiveHint: false
  • searchRedditUsersSearch Reddit users by name, username, or profile description using real-time external API.No findings

    Why it is in this group

    • The name "searchRedditUsers" says "search": a word for reading.
    Description, as the server wrote it
    Search Reddit users by name, username, or profile description using real-time external API. PRIMARY USE: When given a person's name (e.g., "spez", "GallowBoob"), partial info, or uncertain username. Use for: Name-based search, finding multiple candidates, fuzzy matching, discovering users. NOT for: Exact username lookup (use getRedditUser when username is certain). Optional fields parameter for performance (default: ["id", "username", "totalKarma"]). Available fields: id, username, profileUrl, profilePicUrl, snoovatarImg, linkKarma, commentKarma, totalKarma, awardeeKarma, awarderKarma, isGold, isMod, isEmployee, hasVerifiedEmail, isSuspended, verified, isBlocked, acceptFollowers, hasSubscribed, hideFromRobots, prefShowSnoovatar, profileDescription, profileBannerUrl, profileTitle, createdAt. Returns: array of matching users (default 50, max 50) with id, username, karma metrics, profile info. This is a safe, read-only tool for analyzing searchable information.

    Annotations the server declares

    • title: Reddit: Search Users
    • readOnlyHint: true
    • idempotentHint: false
    • openWorldHint: true
    • destructiveHint: false
  • searchTiktokSoundsSearch Tiktok sounds/music by keyword.No findings

    Why it is in this group

    • The name "searchTiktokSounds" says "search": a word for reading.
    Description, as the server wrote it
    Search Tiktok sounds/music by keyword. Use to discover sound/music objects (by title, artist, or album), then pass the returned id to getTiktokPostsBySound to find posts using that sound. Optional fields parameter (default: ["id", "title", "author", "userCount"]). Returns: array of sounds (up to 300) with id, title, author, userCount. This is a safe, read-only tool for analyzing searchable information.

    Annotations the server declares

    • title: Tiktok: Search Sounds
    • readOnlyHint: true
    • idempotentHint: false
    • openWorldHint: true
    • destructiveHint: false
  • searchTiktokUsersSearch Tiktok users by name or username via external API.No findings

    Why it is in this group

    • The name "searchTiktokUsers" says "search": a word for reading.
    Description, as the server wrote it
    Search Tiktok users by name or username via external API. Use for: Name-based search, finding multiple candidates, fuzzy matching, discovering users. NOT for: Exact username lookup (use getTiktokUser when username is certain). Optional fields parameter for performance (default: ["id", "username", "nickname"]). Returns: array of matching users (default 10, max 10). This is a safe, read-only tool for analyzing searchable information.

    Annotations the server declares

    • title: Tiktok: Search Users
    • readOnlyHint: true
    • idempotentHint: false
    • openWorldHint: true
    • destructiveHint: false
  • searchTwitterUsersSearch users by person name, partial username, or fuzzy match using real-time external API.No findings

    Why it is in this group

    • The name "searchTwitterUsers" says "search": a word for reading.
    Description, as the server wrote it
    Search users by person name, partial username, or fuzzy match using real-time external API. PRIMARY USE: When given person's name (e.g., "Elon Musk", "Sam Altman"), partial info, or uncertain username. Use for: Name-based search, finding multiple candidates, fuzzy matching, discovering users. NOT for: Exact username lookup (use getTwitterUser when username is certain). Optional fields parameter for performance (default: ["id", "username", "name"]). Available fields: id, username, name, description, location, followersCount, followingCount, verified, profileImageUrl, and more. Returns: array of matching users (default 10, max 10) with id, username, name, bio, followers_count. This is a safe, read-only tool for analyzing searchable information.

    Annotations the server declares

    • title: Twitter: Search Users
    • readOnlyHint: true
    • idempotentHint: false
    • openWorldHint: true
    • destructiveHint: false

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.4.1. Values in angle brackets are yours to fill in.

claude mcp add --transport http social-insights https://mcp.xpoz.ai/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__social-insights__getTwitterUsers",
      "mcp__social-insights__getTwitterUser",
      "mcp__social-insights__searchTwitterUsers",
      "mcp__social-insights__getTwitterUserConnections",
      "mcp__social-insights__getTwitterUsersByKeywords",
      "mcp__social-insights__getTwitterPostsByIds",
      "mcp__social-insights__getTwitterPostsByAuthor",
      "mcp__social-insights__getTwitterPostsByKeywords",
      "mcp__social-insights__getTwitterPostRetweets",
      "mcp__social-insights__getTwitterPostQuotes",
      "mcp__social-insights__getTwitterPostComments",
      "mcp__social-insights__countTweets",
      "mcp__social-insights__getTwitterPostInteractingUsers",
      "mcp__social-insights__checkOperationStatus",
      "mcp__social-insights__getInstagramPostsByIds",
      "mcp__social-insights__getInstagramPostsByUser",
      "mcp__social-insights__getInstagramPostsByKeywords",
      "mcp__social-insights__getInstagramUser",
      "mcp__social-insights__searchInstagramUsers",
      "mcp__social-insights__getInstagramUserConnections",
      "mcp__social-insights__getInstagramPostInteractingUsers",
      "mcp__social-insights__getInstagramUsersByKeywords",
      "mcp__social-insights__getInstagramCommentsByPostId",
      "mcp__social-insights__getRedditUser",
      "mcp__social-insights__searchRedditUsers",
      "mcp__social-insights__getRedditUsersByKeywords",
      "mcp__social-insights__getRedditPostsByKeywords",
      "mcp__social-insights__getRedditPostWithCommentsById",
      "mcp__social-insights__getRedditCommentsByKeywords",
      "mcp__social-insights__getRedditCommentById",
      "mcp__social-insights__searchRedditSubreddits",
      "mcp__social-insights__getRedditSubredditWithPostsByName",
      "mcp__social-insights__getRedditSubredditsByKeywords",
      "mcp__social-insights__getTiktokUser",
      "mcp__social-insights__searchTiktokUsers",
      "mcp__social-insights__getTiktokUsersByKeywords",
      "mcp__social-insights__getTiktokUsersByHashtags",
      "mcp__social-insights__getTiktokPostsByIds",
      "mcp__social-insights__getTiktokPostsByUser",
      "mcp__social-insights__getTiktokPostsByKeywords",
      "mcp__social-insights__getTiktokPostsByHashtags",
      "mcp__social-insights__searchTiktokSounds",
      "mcp__social-insights__getTiktokPostsBySound",
      "mcp__social-insights__getTiktokCommentsByPostId",
      "mcp__social-insights__getUserAccessKey",
      "mcp__social-insights__checkAccessKeyStatus",
      "mcp__social-insights__getTrackedItems",
      "mcp__social-insights__getAccountDetails",
      "mcp__social-insights__getCreditsUsageHistory"
    ],
    "ask": [
      "mcp__social-insights__addTrackedItems"
    ],
    "deny": [
      "mcp__social-insights__cancelOperation",
      "mcp__social-insights__removeTrackedItems"
    ]
  }
}

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 social-insights. Review it before you use it.