Skip to main content
Glama
649,985 tools. Updated 2026-10-12 05:35

"A platform for downloading images from Unsplash using specified keywords" matching MCP tools:

  • Search filing evidence across all cases or within one case using short keywords. All query terms must match; search distinct issues separately. document_type_tags must come from list_document_types. Classification can be incomplete: locate a specifically dated or numbered order with list_docket_entries without a type filter. Verify the requested authority in the filing; do not substitute a nearby order or infer absence from a search miss. Maximum 25 results.
    ConnectorOAuth
  • List up to 100 image references without downloading images. Use only for public HTTP(S) resources; it does not execute JavaScript or bypass access controls. Pass url as an absolute public HTTP(S) URL. Keep fresh=false to allow cache reuse; set fresh=true only when a new upstream fetch is required.
    ConnectorNo auth
  • The exact URL, HTTP method and header for downloading one table's current immutable Parquet snapshot, plus whether the publisher enabled it. Example: {"table_id": "0f2f6bfa-4a63-4f75-9a0b-1a7d9c5b2e10"}. Bytes are never streamed through MCP: this returns the request to make yourself. Downloading needs an mr_use_ workspace key; the result includes how to get one. Prefer this over paging a whole table through query_table.
    ConnectorNo auth
  • Create a new negative keywords list in the Metadata platform with Google Ads integration. PURPOSE: Batch create a negative keywords list that can be used in Google Ads campaigns to exclude specific search terms from triggering your ads. Use this tool to build negative keyword exclusion lists for campaign optimization and to prevent wasted ad spend on irrelevant searches. ACCOUNT LIMIT: WARNING: MAXIMUM 20 NEGATIVE KEYWORDS LISTS PER ACCOUNT Users can have a maximum of 20 negative keyword lists. The system will validate this limit before creating a new list and return an error if the limit has been reached. To create a new list, you must delete or archive existing lists to free up space. WHEN TO USE: - Create a new negative keywords list for Google Ads campaigns - Build competitor blocking lists (block competitor brand names) - Create category exclusions (block unwanted product categories) - Create seasonal exclusion lists (block irrelevant seasonal terms) - Build intent-based negative lists (block non-commercial searches) - Prevent wasted spend on irrelevant keywords - Manage brand protection by blocking misused terms KEY FEATURES: - BATCH CREATION: Create one or more negative keywords in a single request - MATCH TYPE CONTROL: Specify match type for all keywords (EXACT, PHRASE, BROAD) - FLEXIBLE NAMING: Custom names for organizing negative keyword lists - GOOGLE ADS INTEGRATION: Lists are created ready for use in Google Ads campaigns - SIMPLE INTERFACE: Just provide keywords as strings, API handles formatting - AUTOMATIC VALIDATION: System checks against 20-list limit before creation KEYWORD MATCH TYPES: The 'matchType' parameter controls how broadly the negative keyword blocks ads: 1. EXACT ("Exact Match"): - Blocks ads only for searches that exactly match the keyword - Most restrictive and precise blocking - Example: Keyword "free" with EXACT blocks only searches for "free", not "free shipping" - Best for: High-value keyword protection, brand safety 2. PHRASE ("Phrase Match"): - Blocks ads when the keyword appears as a phrase within the search - Moderate blocking scope - Example: Keyword "vintage furniture" with PHRASE blocks "vintage furniture sale" but not "furniture vintage" - Best for: Competitive category blocking 3. BROAD ("Broad Match"): - Blocks ads for searches containing any of the keyword terms - Least restrictive and broadest blocking - Example: Keyword "free" with BROAD blocks any search containing "free" - Best for: General category exclusions MATCH TYPE SELECTION GUIDE: - Use EXACT for specific brand names or exact competitor terms - Use PHRASE for specific multi-word concepts or phrases - Use BROAD for general categories or very broad exclusions LIST NAMING CONVENTIONS: - Use descriptive names that indicate the list's purpose - Examples: "Competitor Brands", "Low Intent Keywords", "Seasonal Exclusions" - Avoid special characters - use hyphens or underscores for clarity - Keep names concise and meaningful BATCH SIZE RECOMMENDATIONS: - Small batches (1-10 keywords): For targeted blocking - Medium batches (10-50 keywords): For category-based lists - Large batches (50+ keywords): For comprehensive blocking lists - Maximum recommended: 100+ keywords per list NEGATIVE KEYWORDS VS POSITIVE KEYWORDS: - Positive keywords: Terms you WANT to show ads for (create_keywords) - Negative keywords: Terms you DON'T want to show ads for (create_negative_keywords_list) - Use together for optimal campaign performance COMMON USE CASES: 1. Create competitor blocking list (EXACT match): create_negative_keywords_list( name="Competitor Brands", keywords=["competitor a", "competitor b"], match_type="EXACT" ) 2. Create low-intent keyword list (BROAD match): create_negative_keywords_list( name="Low Intent Keywords", keywords=["free", "how to", "tutorial"], match_type="BROAD" ) 3. Create job seeker exclusion list (PHRASE match): create_negative_keywords_list( name="Job Seekers", keywords=["job search", "hiring", "career"], match_type="PHRASE" ) 4. Create seasonal exclusion list: create_negative_keywords_list( name="Summer Sale Exclusions", keywords=["winter coats", "snow gear"], match_type="PHRASE" ) 5. Create product category exclusions: create_negative_keywords_list( name="Non-Ecommerce", keywords=["news", "forum", "wikipedia"], match_type="EXACT" ) PARAMETERS: - name: Required. Name of the negative keywords list (string) Example: "Competitor Brands", "Low Intent Keywords" Use descriptive, meaningful names for easy identification - keywords: Required. Array of keyword strings to block Example: ["raichu", "blastoise", "charizard"] - Minimum: 1 keyword - Recommended maximum: 100+ keywords per request - Each item is a simple string representing the keyword - matchType: Required. Match type for all keywords - EXACT, PHRASE, or BROAD Example: "EXACT" Options: EXACT (exact match), PHRASE (phrase match), BROAD (broad match) RESPONSE FORMAT: Returns a response containing: - Confirmation of the negative keywords list creation - List ID for future reference and management - Success/failure status - Details of keywords added to the list VALIDATION NOTES: - Name is required and must be a non-empty string - Keywords array must have at least 1 keyword - matchType must be exactly one of: EXACT, PHRASE, BROAD (case-sensitive) - Empty strings in keyword list are not allowed - Duplicate keywords in the batch will be handled by the API PERFORMANCE TIPS: - Create lists with related keywords for better organization - Group keywords by blocking strategy (competitor, seasonal, intent-based) - Use EXACT match for high-value keyword protection - Use BROAD match for general category exclusions - Review created lists regularly and update as needed - Can use list_negative_keywords_list() to verify creation INTEGRATION WITH OTHER TOOLS: - Use list_negative_keywords_list() to find and manage existing lists - Use create_keywords() for positive keyword lists - Combine with campaign creation for comprehensive keyword strategies EXAMPLES: - create_negative_keywords_list(name="Competitors", keywords=["competitor1"], matchType="EXACT") - create_negative_keywords_list(name="Free Content", keywords=["free", "no cost"], matchType="BROAD") - create_negative_keywords_list(name="Brand Safety", keywords=["controversial term"], matchType="PHRASE") CHANNEL SCOPE: BOTH search channels are supported: pass channel=MICROSOFT_ADS for Microsoft Ads (Bing) and channel=GOOGLE_ADS for Google. The two channels hold SEPARATE lists, so never substitute one channel for the other to get "close enough" results.
    ConnectorAPI key
  • Fetch the full record for a single creator by ID or exact platform username. Use this when you already have either: - a canonical creator UUID returned by `search_creators`, `semantic_search_creators`, `autocomplete_creators`, or `find_lookalike_creators`; or - an exact platform+username pair such as platform "instagram" and username "niickjackson". Pass `include: ['profiles']` to also receive the creator's social profile summaries when using a creator UUID. For platform+username inputs, this tool resolves through the profile endpoint and returns the profile record plus the underlying creator record, so you already get the matched profile context. Examples: - User: "Get creator 123e4567-e89b-12d3-a456-426614174000" -> call with id. - User: "Get @niickjackson on Instagram" -> call with platform "instagram" and username "niickjackson", or use `get_profile` if profile metrics are the main need. - User: "Tell me about @niickjackson and include his profiles" -> use platform "instagram" and username "niickjackson"; then use `get_profile`/`get_posts` for platform-specific metrics and content if needed. Use `lookup_profiles` for batch exact profile lookups.
    ConnectorNo auth
  • Create Watchers — including KEYWORD MONITOR entries (the dashboard's "Keywords" page): pass platform "reddit_search" with the search query as `channel`; each searches all of Reddit daily and draws from its own per-plan keyword limit (keyword_monitor_create is the one-query shortcut). Community watchers (a subreddit or HN feed) are the default platform. A Watcher watches exactly ONE community/query, so each `sources` entry creates its own Watcher (its name is derived from the source, e.g. "r/saas"). Subject to your plan's Watcher limits. Not metered. (requires a free Prowlo account — call it to get a signup link)
    ConnectorNo auth

Matching MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    MCP server that enables searching and downloading Unsplash photos and collections.
    4
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    An MCP server for searching and retrieving photos from Unsplash with proper attribution, designed for LLMs building content pages.
    3
    29
    MIT

Matching MCP Connectors

  • Unsplash MCP.

  • Image toolkit: resize, convert, compress, crop, metadata, hashes, favicons, OCR, QR codes, barcodes.

  • Upload images directly to Metadata platform library to create image creatives. Downloads images from provided URLs and uploads them to the platform. REQUIRED STEP IN AD CREATION WORKFLOW: This tool MUST be called between generate_brand_creative and create_update_image_ad. **WORKFLOW INTEGRATION:** This tool is part of the ad creation workflow and should be used: 1. BEFORE creating ads with create_update_image_ad (which requires imageLibraryId/creativeID) 2. IN COMBINATION with generate_brand_creative to create AI-generated images first, then upload them 3. When you need to upload existing images from external sources **COMMON WORKFLOWS:** - Upload existing images → Get imageLibraryId → Use in create_update_image_ad - Generate image with generate_brand_creative → Download generated image → Upload with this tool → Use in create_update_image_ad - Batch upload multiple creative assets for campaign preparation **IMPORTANT:** The returned image ID (imageLibraryId/creativeID) is REQUIRED when creating ads. Every ad needs a creative asset, so you must upload images first before calling create_update_image_ad. REQUIRED PARAMETERS: - images: Array of image URLs to upload IMAGE REQUIREMENTS: - URLs must be valid and publicly accessible - Supported formats: PNG, JPG, JPEG, GIF, WebP, and others - Images will be downloaded and then uploaded to platform - Filenames with spaces will have spaces replaced with underscores EXAMPLES: Single Image: upload_image([ "https://my-bucket.s3.amazonaws.com/images/sample-image.png" ]) Multiple Images: upload_image([ "https://my-bucket.s3.amazonaws.com/images/logo.png", "https://example-assets.s3.us-west-2.amazonaws.com/photos/banner.jpg", "https://content-bucket.s3.eu-west-1.amazonaws.com/uploads/hero image.webp" ]) RESPONSE FORMAT: Returns array of objects for each image: [ { "url": "https://original-url.com/image.png", "name": "image.png", "id": 12345, "success": true }, { "url": "https://failed-url.com/bad.png", "name": "bad.png", "id": null, "success": false, "error": "Download failed: Connection timeout" } ] ERROR HANDLING: - If one upload fails, others will continue - Each result includes success status - Failed uploads include error message - Successful uploads include platform image ID USE CASES: - Upload creative assets before creating ads - Import images from external sources - Batch upload multiple campaign images - Migrate images from other platforms
    ConnectorAPI key
  • List hosted images owned by the caller, with optional filters. ``source`` filters by upload origin: ``"upload"`` for directly uploaded images, ``"generated"`` for images created via the image generation tools. Omit to return all sources. ``visibility`` filters by access level: ``"public"`` or ``"private"``. Omit to return both. Pagination: pass ``next_cursor`` from a previous response as ``cursor`` to retrieve the next page. Returns ``{items: [...], next_cursor: str | null}``.
    ConnectorOAuth
  • List every Stimulsoft product/platform that has indexed documentation available through this MCP server. Returns a JSON array of { id, name, description } objects covering the full Stimulsoft Reports & Dashboards product line (Reports.NET, Reports.WPF, Reports.AVALONIA, Reports.WEB for ASP.NET, Reports.BLAZOR, Reports.ANGULAR, Reports.REACT, Reports.JS, Reports.PHP, Reports.JAVA, Reports.PYTHON, Server API, etc.). CALL THIS FIRST when the user's question is ambiguous about which Stimulsoft platform they are using, or when you need to pick a valid `platform` value to pass into `sti_search`. The returned platform `id` values are the exact strings accepted by the `platform` parameter of `sti_search`. This tool is cheap (no OpenAI call, no vector search) — call it freely whenever you are unsure about platform naming.
    ConnectorNo auth
  • List every Stimulsoft product/platform that has indexed documentation available through this MCP server. Returns a JSON array of { id, name, description } objects covering the full Stimulsoft Reports & Dashboards product line (Reports.NET, Reports.WPF, Reports.AVALONIA, Reports.WEB for ASP.NET, Reports.BLAZOR, Reports.ANGULAR, Reports.REACT, Reports.JS, Reports.PHP, Reports.JAVA, Reports.PYTHON, Server API, etc.). CALL THIS FIRST when the user's question is ambiguous about which Stimulsoft platform they are using, or when you need to pick a valid `platform` value to pass into `sti_search`. The returned platform `id` values are the exact strings accepted by the `platform` parameter of `sti_search`. This tool is cheap (no OpenAI call, no vector search) — call it freely whenever you are unsure about platform naming.
    ConnectorNo auth
  • Search Mobbin for multi-step user flows (e.g. onboarding, checkout) using natural language. Returns evenly-spaced preview images inline along with metadata for each flow, including per-screen previews. Examine the returned images to understand each flow's actual content — do not describe screens based solely on metadata. Inline images are low-res previews for you to read, not for the user. Each result's `image_url` is the high-resolution image. Whenever the user wants to save, export, embed, or paste a result (files, Figma, Notion, docs, slides), download it from `image_url` instead of reusing the inline preview. Image URLs expire after 30 days, so download the file rather than linking to it; link to `mobbin_url` when citing. On hosts that support MCP Apps, also renders an interactive gallery of the results.
    ConnectorOAuth
  • Generate a video from a text prompt, optionally driven by reference images (image-to-video, first/last frame). This is asynchronous: it returns a task_id you poll with get_task(platform='video'). Generation usually takes 30-180 seconds. Pass wait_seconds to have the server poll for you. Video generation is the most expensive capability here — confirm the prompt with the user before spending on retries.
    ConnectorNo auth
  • Remove Google Ads keyword groups and/or negative keyword list attachments from a campaign's GOOGLE_ADS channel. Use this tool to clear keywords/negative lists from a DRAFT campaign so the user can replace them with new ones (e.g. "I don't like these keywords, use these instead" — call this tool to remove the old set, then call add_and_edit_campaign_elements with the new google.keywords / google.negative_keyword_lists). Works on both campaign structures. On a Channel-First / Native (N×N×N) campaign a positive keyword group is also unlinked from its WizNativeAdContainer (keywordGroupId); negative-list detach is channel-level and unchanged. KEYWORDS: remove, delete, keyword, keywords, negative, group, google, campaign PLATFORM CONSTRAINT: - Only the Draft state allows keyword removal; the platform rejects DELETE on launched/launching campaigns. CHANNEL: GOOGLE_ADS only (other channels do not have keyword groups). RESPONSE: - Returns the refreshed campaign state plus a removal_results list with one {channel, keyword_group|negative_keyword_list, success, message|error} entry per requested removal. ALWAYS check removal_results — a partial failure (e.g. one of two group names not found) still returns normally. - If EVERY requested removal failed, the tool errors instead of returning. REQUIRED: - campaign_id: Campaign ID (numeric identifier) - At least one of channel_keywords OR channel_negative_keyword_lists must be provided. OPTIONAL FAST PATH: - channel_id: When you already have the GOOGLE_ADS channel id in context (e.g. from a recent get_campaign_by_wizard_id call), pass it to skip the full-campaign lookup. The tool will fetch only that single channel. EXAMPLES: Remove one keyword group: remove_keywords_from_campaign({ "campaign_id": 42546, "channel_keywords": { "GOOGLE_ADS": ["CRM Keywords"] } }) Remove a negative keyword list attachment: remove_keywords_from_campaign({ "campaign_id": 42546, "channel_negative_keyword_lists": { "GOOGLE_ADS": ["Competitor Brands"] } }) Remove both at once: remove_keywords_from_campaign({ "campaign_id": 42546, "channel_keywords": {"GOOGLE_ADS": ["CRM Keywords", "Demo Keywords"]}, "channel_negative_keyword_lists": {"GOOGLE_ADS": ["Competitor Brands"]} }) Remove with known channel id (skips campaign lookup): remove_keywords_from_campaign({ "campaign_id": 42546, "channel_id": 88123, "channel_keywords": {"GOOGLE_ADS": ["CRM Keywords"]} }) INTEGRATION WITH OTHER TOOLS: - Use get_campaign_by_wizard_id to inspect current keyword groups on a channel before removing. - After removal, use add_and_edit_campaign_elements with google.keywords / google.negative_keyword_lists to add replacements.
    Connector
    Destructive
    API key
  • Build a complete survey (questions, screeners, skip logic, images) from ONE research question using AI, as a draft in the active workspace. Slow (up to a few minutes). Review with list_questions, then set_targeting → preview_survey → launch_survey. Limited to 5 calls per hour.
    ConnectorOAuth
  • Generate stock-report PNG images and return their URLs. This is intentionally separate from analyze_stock so the JSON analysis stays fast and light. The backend reuses the same Growth Engine image generators used by email/social publishing. Args: symbol: Stock symbol, e.g. "RXRX". force: Regenerate images instead of using cached PNGs. Defaults to True so manually requested images reflect the latest available data. types: Optional subset of chart types. Allowed values are "ai_prediction", "iv_radar", "option_pressure", "monte_carlo", and "equity_curves". Omit to generate every chart type.
    ConnectorNo auth
  • Generate stock-report PNG images and return their URLs. This is intentionally separate from analyze_stock so the JSON analysis stays fast and light. The backend reuses the same Growth Engine image generators used by email/social publishing. Args: symbol: Stock symbol, e.g. "RXRX". force: Regenerate images instead of using cached PNGs. Defaults to True so manually requested images reflect the latest available data. types: Optional subset of chart types. Allowed values are "ai_prediction", "iv_radar", "option_pressure", "monte_carlo", and "equity_curves". Omit to generate every chart type.
    ConnectorNo auth
  • Fetch the full detail for one shot by its slug: app, platform, URLs, keyframe images (frames sampled from the video at 1s intervals), and the complete AI description (summary, detailed description, interaction pattern, gesture/trigger, motion behavior, UI elements, visual style, product context, intensity, mood, search keywords, assigned filters). Use it to judge whether a shot fits or to describe it to the user. It does not include the motion breakdown (states, timing, easing, why it works): get that from 60fps_get_motion_breakdown, and SwiftUI from 60fps_get_motion_code. Get slugs from 60fps_search_shots or 60fps_get_related_shots; an unknown slug returns the closest matches.
    ConnectorOAuth
  • Compare two screenshots — a baseline/expected capture and a live/current capture of (nominally) the same screen — using a perceptual pixel-diff. Returns the similarity score and changed-pixel count as text, AND returns the baseline, live, and diff images as images you can view directly, so YOU judge whether any flagged difference is a real regression (layout shift, missing/broken element, wrong color/theme, wrong or garbled text, unexpected new content) or just benign noise (dynamic content like timestamps/ads/carousels, anti-aliasing, rendering noise) — this tool does not make that call for you. Provide either two raw base64 images, or a review_id (from list_visual_reviews) to pull a stored baseline instead of re-fetching it.
    ConnectorOAuth
  • Generate a short video (5-10s) from a text prompt using BytePlus Seedance. Optionally accepts up to 12 image file IDs from the user's attached files (visible in the [ATTACHMENTS] block) as `reference_file_ids` for style and composition. Returns immediately with a job_id; the video is delivered back via continuation when the job completes (~30-90s for fast model, ~2-5min for pro). Reference images are temporarily re-hosted on a third-party CDN (imgbb) for the duration of generation and deleted on completion — don't submit confidential references. Gated behind a workspace opt-in flag.
    ConnectorAPI key
  • Generate a short video (5-10s) from a text prompt using BytePlus Seedance. Optionally accepts up to 12 image file IDs from the user's attached files (visible in the [ATTACHMENTS] block) as `reference_file_ids` for style and composition. Returns immediately with a job_id; the video is delivered back via continuation when the job completes (~30-90s for fast model, ~2-5min for pro). Reference images are temporarily re-hosted on a third-party CDN (imgbb) for the duration of generation and deleted on completion — don't submit confidential references. Gated behind a workspace opt-in flag.
    ConnectorAPI key