MCP App Store
by KeenEthics

Overview

Waldo helps users research brands, advertising, social conversations, trends, and captured workspace intelligence by combining specialized skills with external data and authenticated workspace context.

Tools

conversation_get

ChatGPT
Get a conversation's metadata and messages. Use lastN to limit messages, roles to filter by message role (roles filter is applied before lastN), and includeTimestamps to emit ISO createdAt per message.

conversation_get_last_message

ChatGPT
Get the last assistant message from a conversation. Use this to poll for agent results — returns status 'streaming' if the agent is still running, or 'complete' with the final message content. Pass includeToolOutput: true to additionally receive output of allow-listed tools (render_chart) when the agent has the tool configured.

execution_get

ChatGPT
Get information about an agent execution by ID. Use summaryOnly when polling background executions — returns status and final output without the full message history.

execution_list

ChatGPT
List agent executions with optional filters. Returns execution IDs, status, and metadata.

execution_tree

ChatGPT
Get the full execution tree for a root execution, including all child executions.

facebook_get_following

ChatGPT
Get the accounts a Facebook profile is following. Returns ~10 per page; use the returned cursor to paginate.

facebook_get_post

ChatGPT
Get detailed information about a single Facebook post by URL or ID.

facebook_get_post_comments

ChatGPT
Get comments from a Facebook post

facebook_get_posts

ChatGPT
Get the posts of a Facebook user. When using time filters, returns ALL posts within that time range. returned is the number of posts in this response, pagesFetched how many pages were read, and truncated/stopReason say whether the walk was cut short before the window was covered: stopReason: "error" means a vendor failure ended it part-way, so this is a partial read and more posts may exist.

facebook_get_profile

ChatGPT
Get the profile of a Facebook user

facebook_search_posts

ChatGPT
Search for Facebook posts. When using time filters, returns ALL matching posts.

facebook_search_users

ChatGPT
Search for Facebook users with advanced filtering options

feed_get

ChatGPT
Get feed details by ID including item count

feed_get_items

ChatGPT
Get feed items with pagination and filtering. Use filter.status, filter.startDate/endDate, and filter.search.

feed_list

ChatGPT
List feeds in a space with optional type filter. Can access public spaces from other workspaces by providing spaceId parameter.

fetch_and_analyze_image

ChatGPT
Fetch an image from a URL and analyze it

fetch_and_analyze_pdf

ChatGPT
Fetch a PDF from a URL and extract/analyze its content

fetch_and_analyze_video

ChatGPT
Fetch a video from a URL and analyze it using Gemini

fetch_google_ad

ChatGPT
Fetch detailed information about a specific Google Ad using advertiser ID and creative ID.

fetch_page

ChatGPT
Fetch the text of a page

get_client_accounts

ChatGPT
Get a list of the brands the user has in their Waldo workspace. These may be clients, clients products, or competitors to clients. Will have information pertinent to Waldo about the brand, including the client account id.

get_credit_history

ChatGPT
Returns a paginated list of credit usage events (projects, chats, agent runs) for the workspace.

get_credit_history_stats

ChatGPT
Returns summary statistics for credit usage: active users, total projects, total chats, and total brands.

get_credits_balance

ChatGPT
Returns the current workspace's credit balance, subscription plan, and billing period.

get_me

ChatGPT
Returns the authenticated user and current workspace.

get_meta_ad_details

ChatGPT
Get details for a specific ad by page ID and ad ID.

get_meta_ad_search_auto_fill

ChatGPT
Get search auto-fill suggestions for keywords, pages, and locations. Use to find advertisers and refine searches with searchMetaAds.

get_meta_ad_summary_details

ChatGPT
Get summary details for a collation group.

get_usage_summary

ChatGPT
Returns aggregated credit usage for the workspace, optionally filtered by space, agent, or date range.

gwi_audience_insights

ChatGPT
Chat with GWI (Global Web Index) for audience insights. GWI fuzzy-matches the audience description to one of its predefined survey panels and returns prose insights + structured sources. For sticky-panel behavior within a session, pass the chatId returned by a prior call — GWI retains the resolved panel and conversation context across follow-ups. The returned insightIds can be fed to gwi_insight_detail to retrieve the underlying percentages, indexes, and sample sizes behind each insight. dockedAudiences accepts saved-audience UUIDs from the GWI platform (not the per-request UUIDs in sources.audiences[]) — typically left empty until your team shares specific saved-audience IDs.

gwi_insight_detail

ChatGPT
Retrieve the structured data behind a GWI insight. Given an insightId from a gwi_audience_insights response, returns the underlying question calculations — percentage, index (vs benchmark), sample size, and audience — for every attribute that supports the prose insight. Use this when the chat reply asserts a stat (e.g. '85% of Gen Z use Instagram') and you need the actual numbers and provenance.

gwi_list_datasets

ChatGPT
List GWI Spark datasets available for scoping audience-insight queries. Returns { code, name, description, url } for each dataset; pass a code as datasetCode on gwi_audience_insights to scope. Defaults are reasonable (ds-core) — only call this when an agent needs a non-default dataset.

instagram_get_following

ChatGPT
Get the accounts an Instagram user is following. Paginated via cursor.

instagram_get_post

ChatGPT
Get detailed information about an Instagram post by URL or shortcode.

instagram_get_post_comments

ChatGPT
Get comments from an Instagram post with pagination support.

instagram_get_post_likes

ChatGPT
Get the list of users who liked an Instagram post.

instagram_get_posts

ChatGPT
Get the posts of an Instagram user. When using time filters, returns ALL posts within that time range in a single call.

instagram_get_profile

ChatGPT
Get the profile of an Instagram user

instagram_search_posts

ChatGPT
Search for Instagram posts. When using time filters, returns ALL matching posts in a single call.

instagram_search_users

ChatGPT
Search for Instagram users

linkedin_get_company

ChatGPT
Get the details of a LinkedIn company

linkedin_get_company_jobs

ChatGPT
Get job listings for a LinkedIn company

linkedin_get_company_people

ChatGPT
Get employees/people working at a LinkedIn company

linkedin_get_company_posts

ChatGPT
Get company posts/updates from a LinkedIn company. When using time filters, returns ALL posts within that time range. returned is the number of posts in this response, pagesFetched how many pages were read, and truncated/stopReason say whether the walk was cut short before the window was covered: stopReason: "error" means a vendor failure ended it part-way, so this is a partial read and more posts may exist.

linkedin_get_post

ChatGPT
Get detailed information about a single LinkedIn post by URL or URN.

linkedin_get_post_comments

ChatGPT
Get comments from a LinkedIn post. Returns ~15 comments per API call by default; pass a higher limit to auto-paginate and fetch more (each ~15 extra comments costs one additional API call). Passing a /posts/ URL or a lnkd.in shortlink costs one further call to resolve it — pass an activity URN or numeric id to avoid that.

linkedin_get_profile

ChatGPT
Get the profile data of a LinkedIn user

linkedin_get_profile_education

ChatGPT
Get education background for a LinkedIn profile

linkedin_get_profile_experience

ChatGPT
Get detailed work experience for a LinkedIn profile

linkedin_get_profile_posts

ChatGPT
Get posts/updates from a LinkedIn profile. When using time filters, returns ALL posts within that time range. returned is the number of items in this response, pagesFetched how many pages were read, and truncated/stopReason say whether the walk was cut short before the window was covered: stopReason: "error" means a vendor failure ended it part-way, so this is a partial read and more posts may exist.

linkedin_get_profile_skills

ChatGPT
Get professional skills for a LinkedIn profile

linkedin_search_companies

ChatGPT
Search for LinkedIn companies

linkedin_search_jobs

ChatGPT
Search for jobs by keywords on LinkedIn

linkedin_search_posts

ChatGPT
Search for posts on LinkedIn by keywords. When using time filters, returns ALL matching posts.

linkedin_search_users

ChatGPT
Search for LinkedIn users by keywords (job titles, skills, names, etc.)

list_documents

ChatGPT
List all documents in a folder

load_skill

ChatGPT
Load detailed instructions for a specialized workflow. Call this before executing tools in a domain you're less familiar with. Returns expert-level guidance on tool usage, search strategies, and methodology.

read_document

ChatGPT
Read the content of a document by its UUID. Use this when you have a document ID from a previous operation (e.g., from a feed query or document creation).

reddit_get_post

ChatGPT
Get detailed information about a single Reddit post by URL.

reddit_get_posts

ChatGPT
Get detailed information about multiple Reddit posts by URL in one call (up to 100).

reddit_get_user

ChatGPT
Get a single Reddit user's public profile by username.

reddit_search_comments

ChatGPT
Search for Reddit comments. Page size is fixed by the upstream vendor and cannot be set; hasNextPage says whether more results exist and cursor fetches them.

reddit_search_communities

ChatGPT
Search for Reddit communities/subreddits

reddit_search_media

ChatGPT
Search for Reddit media posts (images, videos). Returns at most 10 media posts from the first page of results; returned is the number in this response and truncated says whether more results exist upstream that this call did not return. Reddit reports no match total.

reddit_search_people

ChatGPT
Search for Reddit users/people. returned is the number of results in this response and truncated says whether more exist upstream (fetch them with cursor); Reddit reports no match total.

reddit_search_posts

ChatGPT
Search for Reddit posts. Page size is fixed by the upstream vendor and cannot be set; returned is the number of items in this response, truncated (also exposed as hasNextPage) says whether more results exist, and cursor fetches them. Reddit reports no match total, so none is included.

run_agent__strategy_agent

ChatGPT
Query Fidelity: Always pass the user's query to the relevant skill or tool exactly as provided, verbatim, without modification, rephrasing, or adding context. If additional information is needed to complete the task, ask the user for it before executing. Do not infer or supplement the query on their behalf!

run_sequence

ChatGPT
Launch a sequence by ID with optional variables and space context. Returns a run ID to track progress.

scan_reddit_post_page

ChatGPT
Fetch and analyze a specific Reddit post page with detailed content and comment discussion tree

screenshot

ChatGPT
Capture a screenshot of a webpage. Returns a full-page or viewport screenshot as a base64-encoded PNG by default. Set persist: true to upload the PNG to Waldo storage and return a stable public URL instead — useful when the screenshot needs to outlive the run (e.g. embedded in a rendered report).

search_documents

ChatGPT
Search for documents matching specific criteria

search_events

ChatGPT
Search for real-world events by location, date range, and category. Returns event intelligence data including predicted attendance, impact scores, and timing. Results are sorted by significance with most significant events first. Use time range filters (next_n_days, next_n_weeks, next_n_months) for relative date ranges, or specific start_date/end_date for exact dates.

search_google_ads

ChatGPT
Search Google Ads Transparency Center for advertisements. Must provide either advertiser_id or domain. Costs 1 credit for the search plus 1 per video or image ad on the page (each needs a per-ad details lookup for its headline, link and creative); text ads add nothing. Use num to bound the page.

search_holidays

ChatGPT
Search for holidays and observances by country code. Returns public holidays, school holidays, and observances (like Valentine's Day, Mother's Day) for specified countries. Sorted chronologically by start date.

search_linkedin_ads

ChatGPT
Search LinkedIn Ad Library to find ads by keywords, advertisers, countries, and time periods

search_meta_ads

ChatGPT
Search for ads on Meta Ad Network (Facebook, Instagram, Messenger, Audience Network) with various filters.

search_tiktok_ads

ChatGPT
Search the TikTok Ad Library for advertisements by keyword or advertiser name. Covers TikTok's EU/EEA + UK + Türkiye ad-transparency dataset (DSA); ads outside those regions are not available.

search_web

ChatGPT
Search the web (optionally filter by freshness). Results come in Google pages of 10; each page read is a separate search, and credits are 1 per 10 results returned. truncated: true without stopReason: "error" means Google had more results than were read.

select_client_account

ChatGPT
Select one of the brands the user has in their workspace. These may be clients, clients products, or competitors to clients. This is used to determine which brand the user is working with in this chat.

space_list

ChatGPT
List spaces available for the team. Returns space names, IDs, and metadata.

tiktok_get_following

ChatGPT
Get the accounts a TikTok user is following. Paginated via cursor.

tiktok_get_post

ChatGPT
Get detailed information about a single TikTok video/post.

tiktok_get_post_comments

ChatGPT
Get comments from a TikTok post

tiktok_get_posts

ChatGPT
Get the posts of a TikTok user

tiktok_get_profile

ChatGPT
Get the profile of a TikTok user

tiktok_search_posts

ChatGPT
Search for TikTok posts. When using time filters, returns ALL matching posts.

tiktok_search_users

ChatGPT
Search for TikTok users

twitter_get_following

ChatGPT
Get the accounts a Twitter/X user is following. Returns 50–70 users per call; use the returned cursor to paginate.

twitter_get_post

ChatGPT
Get detailed information about a single Twitter/X tweet by URL or ID.

twitter_get_posts

ChatGPT
Get the tweets of a Twitter user. With a time filter (last_n_days, last_n_weeks, last_n_months), this walks the result pages for you, so no pagination is needed and no cursor comes back. With only a limit, it walks pages until the limit fills and returns a cursor to continue from. With neither, one call returns one page and you page with cursor. X serves only about the newest 700 posts of an account (roughly 45 pages), so a busy account's long window ends before its start: windowCovered: false on a time-filtered call means the walk never reached the start of the window and older posts in it were not returned. returned is the number of posts in this response, pagesFetched how many pages were read, and truncated/stopReason say whether the walk was cut short: stopReason: "error" means a vendor failure ended it part-way, so this is a partial read and more posts may exist.

twitter_get_profile

ChatGPT
Get the profile of a Twitter user

twitter_get_tweet_replies

ChatGPT
Get replies to a Twitter/X tweet

twitter_search_posts

ChatGPT
Search for tweets. When using time filters, returns ALL matching tweets within that time range in a single call.

twitter_search_users

ChatGPT
Search for Twitter users

workspace_list

ChatGPT
List available workspaces (teams) you can access. Admins can search all workspaces; non-admins only see their own.

workspace_switch

ChatGPT
Switch the active workspace (team). All subsequent tool calls (including agents, sequences, and builtin tools) will operate against the new workspace.

youtube_enrich_comments

ChatGPT
Enrich a YouTube video document with comments metadata (count and enabled status).

youtube_enrich_post

ChatGPT
Enrich a YouTube post document with full details. Use when channel content returns posts missing publishedAt or description.

youtube_get_channel_about

ChatGPT
Get detailed information about a YouTube channel including description, stats, and metadata

youtube_get_channel_content

ChatGPT
Get one stream of a YouTube channel's uploads. YouTube splits uploads into two streams: long-form videos and shorts — call this tool once per stream you want and merge results yourself if you need both. When using time filters, returns ALL items in range. returned is the number of items in this response, truncated says whether more exist upstream, and total (when present) is YouTube's reported count for the stream. Items carry no description — this endpoint does not supply one. Each item's publishedAt carries a per-item metadata.datePrecision ("exact", "day", "month", "year", "unknown" when parseable but of unstated granularity, or "unavailable" when there is no usable date, in which case publishedAt is absent) that degrades with the video's age. Use youtube_get_video_details for the description; it will not reliably improve the date, which degrades with age on that endpoint too.

youtube_get_post

ChatGPT
Get detailed information about a single YouTube video/post by URL or ID.

youtube_get_video_comments

ChatGPT
Get comments from a YouTube video with pagination support

youtube_get_video_comments_with_replies

ChatGPT
Get comments from a YouTube video including reply threads

youtube_get_video_details

ChatGPT
Get detailed information about a YouTube video including metadata and available transcripts

youtube_get_video_transcript

ChatGPT
Get the transcript of a YouTube video with timestamps

youtube_search_channels

ChatGPT
Search for YouTube channels by keywords

youtube_search_video_comments

ChatGPT
Search and analyze YouTube video comments for specific content

youtube_search_videos

ChatGPT
Search for videos on YouTube by keywords. When using time filters, returns ALL matching videos. returned is the number of items in this response, truncated says whether more matches exist upstream, and total (when present) is YouTube's reported match total for the query. Each item's publishedAt carries a per-item metadata.datePrecision saying how exactly YouTube stated it — "exact", "day", "month", "year", "unknown" (parseable, granularity not assertable) or "unavailable" (no usable date at all, in which case publishedAt is absent). The granularity degrades with the video's age, so an older item's date is a bucket rendered as midnight UTC and can be months off. youtube_get_video_details will not reliably do better: that endpoint's date degrades with age the same way.

Capabilities

Writes

Example Prompts

Click any prompt to copy it.

App Stats

125

Tools

3

Prompts

ChatGPT

Platforms

Works with

ChatGPT

Data refreshed daily