Skip to main content
Glama
759,182 tools. Updated 2026-11-09 06:17

"An MCP server for CEO outreach and engagement" matching MCP tools:

  • 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.
    ConnectorOAuth
  • Catch up on a campaign since the last check: posts discovered, replies claimed by community members, LIVE links to what they actually posted, and the engagement those replies drew. Free, and it never scrapes — safe to call at the start of every session. Pass `since` (the `checked_at` from the previous call) to get only what is new; omit it for the last 24 hours. Use this to resume a standing growth operation across chats, then get_campaign_results for the cumulative picture.
    ConnectorNo auth
  • Fetch one tweet by id with full engagement metrics: views, likes, retweets, quotes, replies, bookmarks, language, and the quoted tweet inline when there is one. tweet_id is the numeric id from a tweet URL (the digits after /status/) or from any other X tool's results; full tweet URLs are accepted too. Costs 4 credits. Use this to verify engagement before citing a tweet or to read a quoted thread hop by hop. It returns a single tweet, not the conversation around it: for the author's other tweets use x_get_tweets, and to find tweets by topic use x_search.
    ConnectorOAuth
  • Permanently delete a signal monitor and everything it has collected. Free, and irreversible. This cannot be undone. If the user might want the monitor back, call update_signal with action `pause` instead. For the four engagement types, `signal_id` deletes that one signal; omitting it deletes every signal of that type on the account, which is rarely what someone means. For `job_change`, `new_post` and `person_activity`, `signal_id` deletes that one signal; it can be left out only when the account has a single signal of that type.
    Connector
    Destructive
    API key
  • Post a message on a consultation thread (scope negotiation, delivery, extension, dispute). WHEN TO USE - You are a responder submitting a scope proposal (kind='scope_proposal'). Must include metadata.no_conflict_affirmed=true. - You are the asker accepting a proposal (kind='scope_accepted') — provide responder_agent_id and the system stamps deliverable_type on the consultation. - Either party requesting or accepting an extension (kind='extension_request' / 'extension_response'). - Delivering a draft or final output (kind='draft_delivery', 'final_delivery'). - Free-form back-and-forth during engagement (kind='freeform'). WHEN NOT TO USE - For submitting a full response — use POST /api/v1/consultations/{id}/responses (REST API). - For rating a response — use rate_response. BEHAVIOR - Mutating. Auth required: agent API key. Rate-limited to 10 writes/min. - scope_proposal gate: metadata.no_conflict_affirmed must be true or the call returns an error. - scope_accepted: backend stamps consultations.deliverable_type from the accepted proposal's metadata, and snapshots agent pricing at that moment. - extension_response with metadata.accepted=true: backend updates consultations.expires_at from the most recent extension_request in the thread. - Tier-based per-thread message cap: Tier 0 (<100 lifetime interactions): 100 msgs/thread; Tier 1 (100–999): 250; Tier 2 (≥1000): 5000. - Audit log entry created for scope_proposal, scope_accepted, scope_clarification, dispute_raised. WORKFLOW - Responder: send scope_proposal → asker reviews → asker sends scope_accepted → continue with progress_update, draft_delivery, final_delivery. - Use read_messages to check the full thread history before replying.
    ConnectorNo auth
  • 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.
    ConnectorOAuth

Matching MCP Servers

Matching MCP Connectors

  • Fetch a single post by id: views, likes, comments, engagement rate, outlier scores for seven time windows, thumbnail and the owning profile. When a transcript or visual analysis already exists it is included at no extra cost. The visual analysis is a structured scene-by-scene breakdown (per-scene timing, on-screen text, visual elements and a recreation note) plus an overall-style summary. Request new enrichment via request_transcript (speech / on-screen text) or request_visual_analysis (scene breakdown). Use after search_outliers to deep-dive a result. Cost: 1 credit per call.
    ConnectorNo auth
  • Read-only. What the Ashton & Forge marketplace covers: the service clusters with supply, the industries served, the engagement floors available, and the marketplace's own FAQ. Start here to answer "do they have anyone who does X" before filtering with search_agencies. Returns coverage, not a headcount. The number of listed agencies is not published, so do not infer or state one.
    ConnectorNo auth
  • Read-only. Filter the vetted agency listings by what they do and who they do it for. Every filter is optional; passing none returns the whole directory. Listings are anonymised capability profiles — service clusters, engagement stages, industries, client sizes, projects shipped, engagement floor and an opaque reference. There are no agency names, websites or contact details in this data, and no tool returns them. Say so plainly rather than implying the result is partial. An empty result means no listed agency matches those filters today, which is a real and useful answer. Offer get_matched anyway: the marketplace takes briefs it cannot yet fill, and a person reads them.
    ConnectorNo auth
  • Read-only. What the Ashton & Forge marketplace covers: the service clusters with supply, the industries served, the engagement floors available, and the marketplace's own FAQ. Start here to answer "do they have anyone who does X" before filtering with search_agencies. Returns coverage, not a headcount. The number of listed agencies is not published, so do not infer or state one.
    ConnectorNo auth
  • Read-only. Filter the vetted agency listings by what they do and who they do it for. Every filter is optional; passing none returns the whole directory. Listings are anonymised capability profiles — service clusters, engagement stages, industries, client sizes, projects shipped, engagement floor and an opaque reference. There are no agency names, websites or contact details in this data, and no tool returns them. Say so plainly rather than implying the result is partial. An empty result means no listed agency matches those filters today, which is a real and useful answer. Offer get_matched anyway: the marketplace takes briefs it cannot yet fill, and a person reads them.
    ConnectorNo auth
  • Decides whether someone is covered by health and pension insurance, and on which payment-basis day count their annual determination runs. Call this before decide_regular_remuneration or judge_monthly_revision whenever the person is anything other than plainly full-time. Those tools take a worker_type, and guessing it changes a real number: the determination counts months of seventeen payment-basis days for an ordinary employee and eleven for a 短時間労働者. Get the classification wrong and the answer is wrong with no sign of it. 健康保険法第3条第1項第9号 covers anyone whose weekly hours and monthly days reach three-quarters of a comparable full-time worker. Below that, four further tests decide it: twenty hours a week, 88,000 yen a month, not a student, and a workplace of at least fifty-one insured people. The engagement must also be expected to run past two months. The 88,000 figure leaves out overtime, bonuses, commuting and family allowances. Folding those in is the usual route to a wrong answer, so ask for 所定内賃金 specifically rather than total pay. What counts as a comparable full-time worker, and whether someone is a student for this purpose, are facts about the workplace and the person. Ask rather than assume; the tool applies the tests to what you pass and names any it could not evaluate.
    ConnectorNo auth
  • Get the organization's current plan, minutes balance, minutes spent this billing period, and days left before the period ends. For reconciled Outreach, read outreach for included usage, persistent top-ups, reservations, available minutes and each item’s renewal; outboundBlockedReason distinguishes exhausted minutes from a missing plan. Read this before answering anything about balance, spend, plan, or renewal — never estimate those from list_calls. Minutes a plan covers outright (inbound on AI Receptionist, any call on Complimentary) count toward currentPeriodUsage.totalMins but not deductedMins, so the two differ legitimately. period.source says what the window means: a subscription period, a trial, or a rolling 30 days for an organization with neither.
    ConnectorOAuth
  • Search X by keywords. type picks the mode: recent (default) is the deep chronological sweep and keeps paginating as far as you follow the cursor; popular returns the highest-engagement tweets for the query; people finds accounts and returns a single page (no cursor). Advanced query operators pass through verbatim, e.g. "from:nasa", "min_faves:100", exact phrases in quotes -- there is no separate date parameter, so use since:/until: operators for time windows. Costs 6 credits per page; a cursor page is a NEW call priced the same way, so a deep sweep costs linearly in pages. Returns tweet summaries (text, author with follower count, views, likes, retweets, replies, created_at, url, id) with a cursor. Fetch one tweet's full detail with x_get_tweet and an account's timeline with x_get_tweets. For comment-level sentiment inside topic communities, reddit_search type=comments is usually the sharper instrument.
    ConnectorOAuth
  • Fetch one page of an X account's timeline. identifier is a screen name, profile URL, or numeric id (auto-detected). mode picks the view: posts (default) is the account's own tweets, posts_and_replies includes their replies, highlights is the account's pinned highlights tab. include_retweets (default true) filters retweets out when false. Costs 4 credits per page; a cursor page is a NEW call priced the same way. Returns tweet summaries with engagement counts and a cursor for older tweets. Use this for 'what has X been posting', voice checks before outreach, or drafting replies in an account's register. For keyword search across all of X use x_search; for one specific tweet you already have, x_get_tweet.
    ConnectorOAuth
  • Get Google Ads performance insights for an account, at campaign, ad-group, or keyword level (cache-first with auto-refresh from Google). Returns an account summary with previous-period comparison, a sortable per-entity table, and an optional daily timeseries. Metrics on both the summary and every row: cost, impressions, clicks, conversions, conversions_value + derived roas/ctr/cpc/cpm/cost_per_conversion/cvr; all_conversions, all_conversions_value, cost_per_all_conversion, view_through_conversions, cross_device_conversions (all_* counts EVERY conversion action, `conversions` counts only the ones included in bidding); engagements, engagement_rate, interactions, interaction_rate; video_views (TrueView/YouTube), video_view_rate, avg_cpv, video_p25/p50/p75/p100_rate; youtube_comments, youtube_likes, youtube_shares (v25 social engagement on Shorts ads on YouTube — 0 outside YouTube/Shorts delivery); and the competitive set search_impression_share, search_lost_is_budget, search_lost_is_rank, top_impression_pct, abs_top_impression_pct. The competitive metrics are Search-network only and read 0 for Display/PMax/Video delivery. search_lost_is_budget is CAMPAIGN LEVEL ONLY (the Google API does not report it for ad groups or keywords) so the key is ABSENT at the other levels rather than 0; at campaign level impression share plus the two lost shares add up to 100%. quality_score (1-10, null when Google reports none) appears only at keyword level. When Google capped most days in range, meta.share_metrics_note is set and rows carry search_share_is_approximate: report those three share figures as estimates. ad_account_id is the bare 10-digit customer ID from adsap_google_list_ad_accounts. Keyword-level row ids are "<ad_group_id>:<criterion_id>" — pass them as-is to adsap_google_set_entity_status / adsap_google_update_entity (entity_type keyword). Only entities with impressions in range appear (PMax has no ad groups/keywords by design). Note: Google reports plain Clicks/CTR/CPC (no Meta-style link-click split). For Meta insights use adsap_get_insights.
    ConnectorAPI key
  • Summarize publishing activity over a period: how many pins went out and how it went. Use to answer "how did publishing go this week / today / last month": pin outcomes, success rate, the change against the previous period, and what is still queued or scheduled. Ranges up to 48 hours come back hourly, longer ones daily, up to 366 days. For Pinterest engagement (impressions, saves, clicks) use get_account_analytics; to see the individual failed pins use list_pins with status=failed. Returns start, end, timezone, granularity (hour | day), pins (total, submitted, by_status, success_rate from 0 to 1), previous_pins (same figures for the preceding period of equal length), series (created / published / failed per bucket), published_by_account, queue (queued, deferred, publishing right now), schedules (by_status in the range, upcoming) and import_jobs (null when filtered by account). Outcomes count by when they happened: published by publish time, failed by failure time (for pins still failed); pins.total is the sum of by_status, and pins.submitted and series.created count pins submitted in the range (API 1.38+; older APIs report submissions in pins.total and omit pins.submitted). Fails with invalid_date_range (start not before end, or more than 366 days), invalid_timezone, or account_not_permitted for an account outside the key's allow-list.
    ConnectorAPI key
  • PERMANENTLY delete saved contacts (LinkedIn profiles) including their campaign memberships, scheduled actions and campaign history. Contacts with pending or in-progress campaign steps are refused unless force: true (prefer exclude_contacts_from_campaign when the goal is just to stop outreach). Linked CRM leads are kept (unlinked) unless delete_crm_leads: true. Cannot be undone: only on the user's explicit request, show them the contacts first and pass confirm: true after they agree.
    Connector
    Destructive
    API key
  • Put outreach emails in front of the user for review. Pass contacts inline (max 100, one per domain, researched real addresses, personalized subject and plain-text body, no em-dashes). RankParse creates or tops up the draft campaign and marks it ready: the user reviews and approves each email on the campaign page (the review_url), and nothing is sent until they do. Use site_id from list_websites (required when creating a campaign; with campaign_id it must match that campaign's website). To propose the copy-ready contacts a campaign already has, pass campaign_id without contacts. If status is approved, it is already approved; do not propose it again. Nothing is sent until the user approves it in RankParse. Show them the review_url.
    ConnectorOAuth
  • Look up one person by email or by public LinkedIn person URL (send exactly one; an email is matched to a LinkedIn profile first). Returns person: name, title, headline, location, company {name, domain}, linkedin, and connections (previously observed public follows) when there are any; person is null when nobody matches. Add find: ["x"] to get their X account, returned only when its name matches and its own bio or link points at their LinkedIn, company domain or company name (x.evidence says which). Add find: ["work_email"] for a work email; check workEmail.matchesCompanyDomain before using it. Add find: ["mobile"] for a verified mobile number (about 10 Energy when one is found). A requested extra that did not come back is listed in missing with a reason (not_found means no confident match, not that it does not exist). Uses workspace Energy; energyUsed is what this call spent and energyLeft the balance after it. Read energy.peopleDataPricing first; cached lookups are free. Requires Energy enabled. Add leadId (one of your own leads, the same person) with find: ["work_email"] to save the found email on that lead; lead.email says attached, lead_has_email, different_person, email_on_another_lead or no_email. Never overwrites an existing email. Does not create leads or send outreach. Repeated calls can cost Energy; never automatically retry a timeout or error. find_phone_number and find_work_email run this same lookup when only a phone number or work email is wanted. Use find_people for audience discovery, not this tool.
    ConnectorOAuth
  • Look up one person by email or by public LinkedIn person URL (send exactly one; an email is matched to a LinkedIn profile first). Returns person: name, title, headline, location, company {name, domain}, linkedin, and connections (previously observed public follows) when there are any; person is null when nobody matches. Add find: ["x"] to get their X account, returned only when its name matches and its own bio or link points at their LinkedIn, company domain or company name (x.evidence says which). Add find: ["work_email"] for a work email; check workEmail.matchesCompanyDomain before using it. Add find: ["mobile"] for a verified mobile number (about 10 Energy when one is found). A requested extra that did not come back is listed in missing with a reason (not_found means no confident match, not that it does not exist). Uses workspace Energy; energyUsed is what this call spent and energyLeft the balance after it. Read energy.peopleDataPricing first; cached lookups are free. Requires Energy enabled. Add leadId (one of your own leads, the same person) with find: ["work_email"] to save the found email on that lead; lead.email says attached, lead_has_email, different_person, email_on_another_lead or no_email. Never overwrites an existing email. Does not create leads or send outreach. Repeated calls can cost Energy; never automatically retry a timeout or error. find_phone_number and find_work_email run this same lookup when only a phone number or work email is wanted. Use find_people for audience discovery, not this tool.
    ConnectorOAuth