Skip to main content
Glama
551,390 tools. Updated 2026-09-12 07:24

"Upstash - A Serverless Data Platform for Redis and Kafka" matching MCP tools:

  • Use this when the user asks whether DKIM is set up for a sending platform, whether a specific selector exists, or why DKIM fails. Check ONE specific DKIM selector on a domain — the exact selector the sending platform uses (e.g. `google`, `s1`), which a full scan's common-selector sweep may miss. Returns the verdict, its explanation, and the published key record when one resolves. No fix record is returned: a DKIM key is generated by the sending platform, so the fix is always to publish what that platform gives the owner.
    ConnectorNo auth
  • Search the official Redpanda documentation and return the most relevant sections from it for a user query. Each returned section includes the url and its actual content in markdown. Use this tool for all queries that require Redpanda knowledge. Results are ordered by relevance, with the most relevant result returned first. If you know the user's deployment platform, pass "platform" so results from the other platform's docs are excluded. Note that "platform" filters the sections already retrieved rather than re-running the search, so it can return substantially fewer sections: on a broker-level question where most matches come from the other platform's docs, it can cut a 15-section response to 1 or 2. Omit "platform" if you would rather have more context and judge platform relevance yourself from each section's url. If you know which Redpanda version the user runs, pass "version" (use 'current' for the latest release; its release number is also accepted). Unlike "platform", "version" is applied during retrieval, so it does not shrink the result set: it stops the same page being returned once per indexed version, which is otherwise most of the response. Version-neutral docs (Cloud, Connect, Agentic Data Plane, API reference) are always included. Omitting "version" searches the latest release.
    ConnectorNo auth
  • Apply a list of operations to an EXISTING diagram. The ops re-use this tool's op vocabulary; you author them, we validate + apply + re-layout + re-render. ALWAYS call get_diagram(diagramId) first: it returns the current ids and the `version`. Pass that version as `baseVersion`. If the diagram changed since you fetched it, you get a STALE_VERSION error telling you the current version — refetch with get_diagram, recompute your ops, and retry. The operations (each element of `ops`): - add_node { op, node:{ id, label, kind, parentId? } } - remove_node { op, id } (also drops edges touching the node) - update_node { op, id, patch:{ label?, kind?, parentId?, metadata? } } - add_edge { op, edge:{ id, source, target, kind, label?, directed? } } - remove_edge { op, id } - update_edge { op, id, patch:{ source?, target?, label?, kind?, directed? } } - add_group { op, group:{ id, label, type, parentId? } } - remove_group{ op, id } - move_to_group { op, nodeId, groupId } (groupId null un-nests the node) - set_layout { op, patch:{ direction?, spacing? } } - insert_between { op, newNode:{ id, label, kind, parentId? }, sourceId, targetId, inKind?, outKind? } insert_between IS THE KEY OP for "add X between A and B" requests. It splices newNode onto the existing A→B edge: removes that edge, adds the node, and wires A→newNode→B so the connection re-routes through it automatically. WORKED EXAMPLE — "add a Redis cache between the API and the DB" on the diagram above: 1) get_diagram(diagramId) → shows nodes n_api, n_db and version 1. 2) edit_diagram({ diagramId, baseVersion: 1, ops: [ { "op": "insert_between", "sourceId": "n_api", "targetId": "n_db", "newNode": { "id": "n_redis", "label": "Redis", "kind": { "catalog": "saas", "type": "redis" }, "parentId": "g_vpc" }, "inKind": "request", "outKind": "data_flow" } ] }) The API→DB edge is gone and now flows API→Redis→DB. Never send x/y/position — geometry is computed for you. Node kinds: catalog ∈ {aws, gcp, azure, k8s, saas, generic} with rich per-catalog types (e.g. aws:lambda, gcp:bigquery, azure:cosmos_db, k8s:deployment, saas:kafka), plus generic flowchart kinds (process, decision, terminator, data, document, subprocess). Returns { url, svg, mermaid, appliedOps, version }.
    ConnectorNo auth
  • Upload media and get back a reusable media_id. Two modes: (1) pass `url` to upload from a publicly accessible URL (preferred for anything over a few MB), or (2) pass `data` (base64-encoded file bytes) plus `mime_type` to upload bytes directly from the model context. Supports images (PNG/JPEG), videos (MP4/MOV), and PDFs (application/pdf). A PDF returns a document-kind media_id — pass it to create_post on a LinkedIn account to publish a native LinkedIn document post (PDF carousel); set platform_configurations.linkedin.document_title to control the title. Use the returned media_id with the `media` param on create_post/update_post. HEIC/HEIF images are not supported — convert to JPEG or PNG first. Direct `data` uploads are capped at 3MB raw because of serverless request-body limits — for larger files, host at a public URL and use `url` mode, or upload via the dashboard.
    ConnectorOAuth
  • Batch-fetch up to 100 profiles by (platform, username) pairs. Use this when the user has a list of handles and you need profile data for all of them at once (e.g., "give me follower counts for these 30 accounts I'm considering" or "which of @a @b @c are real accounts?"). One round-trip beats 30 calls to `get_profile`. Use this for exact batch handle lookup, not semantic discovery. For one exact platform+username pair, use `get_profile`. For partial or fuzzy handle/name input, use `search_creators` or `autocomplete_creators`. Use `semantic_search_creators` only for topical/niche/audience discovery where false-positive semantic matches are acceptable. Examples: - User: "Compare @a, @b, and @c on Instagram" -> use this tool for the exact handle batch. - User: "Give me follower counts for these 30 accounts" -> use this tool. - User: "Find wellness creators in Austin" -> use `semantic_search_creators`, not this tool. The response splits results into `data` (profiles found) and `not_found` (the (platform, username) pairs that weren't recognized). Profiles are returned in no particular order — re-correlate via the platform/username fields if you need to preserve input order.
    ConnectorNo auth
  • Batch-fetch up to 100 profiles by (platform, username) pairs. Use this when the user has a list of handles and you need profile data for all of them at once (e.g., "give me follower counts for these 30 accounts I'm considering" or "which of @a @b @c are real accounts?"). One round-trip beats 30 calls to `get_profile`. Use this for exact batch handle lookup, not semantic discovery. For one exact platform+username pair, use `get_profile`. For partial or fuzzy handle/name input, use `search_creators` or `autocomplete_creators`. Use `semantic_search_creators` only for topical/niche/audience discovery where false-positive semantic matches are acceptable. Examples: - User: "Compare @a, @b, and @c on Instagram" -> use this tool for the exact handle batch. - User: "Give me follower counts for these 30 accounts" -> use this tool. - User: "Find wellness creators in Austin" -> use `semantic_search_creators`, not this tool. The response splits results into `data` (profiles found) and `not_found` (the (platform, username) pairs that weren't recognized). Profiles are returned in no particular order — re-correlate via the platform/username fields if you need to preserve input order.
    ConnectorNo auth

Matching MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Lightweight MCP server for Redis that allows running any Redis command and searching Redis documentation. Supports multiple named databases with HTTP/REST or TCP transport.
    46
    MIT
  • A
    license
    B
    quality
    A
    maintenance
    The official Redis MCP Server is a natural language interface designed for agentic applications to efficiently manage and search data in Redis.
    53
    617
    MIT

Matching MCP Connectors

  • Compare 2-3 developer tools side by side. Returns each tool's full Markdown-KV entry separated by "===". Alternatives and worksWith are enriched with tagline + agent-readiness for resolved slugs. If any requested slugs are not found, they appear in a trailing "Note: slugs not found: ..." line; the comparison still returns for the ones found. Examples: - Three search engines: {slugs: ["meilisearch-oss", "algolia", "elasticsearch-oss"]} - Two ORMs: {slugs: ["drizzle-orm", "prisma"]} - Three auth providers: {slugs: ["auth0", "clerk", "keycloak"]} - Hosted vs self-hosted for the same vendor: {slugs: ["redis-cloud", "redis-oss"]} — shows deployment trade-off - Postgres engine vs hosted offerings: {slugs: ["postgresql", "supabase-cloud", "cockroachdb-cloud"]} Edge cases: - Cross-category comparisons (e.g., {slugs: ["auth0", "redis-cloud"]}) are allowed but rarely useful. Same-category comparisons answer "which should I pick?" better; cross-category answers "these coexist in my stack" — a compatibility question. - Minimum 2 slugs, maximum 3. Four or more is a validation error; for more, run pairs. - Invalid or unknown slugs are listed under "slugs not found"; the partial comparison returns for valid ones. - Duplicate slugs in the array are deduplicated. - A few tools are single entries (no -cloud/-oss split): stripe, auth0, firebase, twilio, openai-api, pinecone, algolia. Don't pass "stripe-cloud" — it doesn't exist. Risk: read-only, closed-world, idempotent — no state change possible.
    ConnectorNo auth
  • Generate a professional data architecture diagram from a description and save it to the user's Datadef account. Use this for any data-shaped diagram: medallion and lakehouse architectures, ETL/ELT pipelines, streaming topologies, data mesh, warehouse and dimensional models, lineage maps, and data platform designs. Write a specific prompt. Name the actual technologies (Snowflake, dbt, Airflow, Kafka, Fivetran), the layers or zones you want, and the tables that matter, the diagram is only as detailed as the description. Zone names you give are treated as a specification, not a suggestion. SCOPE: if the user's request is open-ended ("diagram our platform", "show me something"), ask them how much detail they want before calling this, or say which scope you chose. Default to scope "overview". A dense 40-node diagram is impressive and usually not what someone wanted from a one-line request; they can always ask you to expand it. TIMING: this waits up to ~35 seconds; fast generations come back finished, with a preview image and a markdown line to show the user. Slower ones (1-3 minutes total) return a diagram_id while generation continues: call get_diagram with that id after ~60 seconds (poll every 30s) to get the finished diagram. If you cannot call tools again on your own, never leave the user empty-handed: give them the Open link, say it will be ready in about a minute, and offer to show the diagram inline when they next ask. Never call create_diagram a second time while one is still generating; you would create a duplicate and spend another credit. Do not use image generation for these. This produces a real, editable diagram.
    ConnectorAPI key
  • Get per-platform engagement (views / likes / comments / shares) as a time series over the trailing window_days (default 28, up to 365). Omit account_id to aggregate across all connected accounts, or pass one from list_accounts; optionally filter to a single platform. post_limit (≤100) fixes how many recent posts form the baseline. granularity buckets the series server-side ('daily' default, 'weekly', or 'raw' for every scrape). Read `series` (a clean per-platform list of typed points) — `metrics` is the legacy column/data matrix kept for back-compat. NB: follower counts here are latest-only; for audience growth over time use get_follower_history.
    ConnectorOAuth
  • 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
  • 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 one post for one or more platforms: publish now, schedule, or save a draft. Omit scheduledAt to publish immediately; a future scheduledAt sets status SCHEDULED; saveAsDraft stores it as DRAFT and defers validation to publish_draft. Publishing runs asynchronously per platform, so the response ({ postId, queuedPlatforms, isScheduled, scheduledAt }) is not the outcome; read list_post_results, where each platform succeeds or fails on its own. Call list_accounts first: each platform in platforms needs its connection-id array (linkedinConnectionIds, pageIds for Facebook, and so on), one account per platform. TikTok needs tiktokConfigs with privacyLevel; Pinterest needs pinterestConfigs with boardId. mediaUrls must come from upload_media, or the call fails with "Media file(s) not found in storage". Use bulk_schedule_posts for many posts on the same accounts, and update_post or publish_draft for an existing post.
    ConnectorOAuth
  • Manage AND report on Meta, Google, TikTok, Reddit, X, LinkedIn, and Microsoft ads. Reporting & analytics — campaign performance, results, spend, ROAS, impressions, clicks, conversions, CPC/CPA: use entity:"results" (Google also supports action:"placements" and "search-terms"). Answers "how are my ads doing" / "what's my spend" / "show campaign performance". Management — connect project accounts and create, edit, or publish supported ad resources. Coverage differs per platform — the exact entities, actions, and params for each platform are documented under adkit_help({ path: "manage <platform>" }). Most mutations create drafts by default; publish:true sends changes live and requires explicit user approval. Use AdKit field names in params (not raw platform fields); pass full request bodies as top-level data. Use platformOverrides for raw fields on supported resources. Unsupported native platform resources and workflows are reachable via the raw platform API: entity:"platform-api-request" action:"mutate" (project opt-in); adkit_feedback is the channel for reporting these AdKit gaps. File uploads: entity:"media" action:"request_upload_url" → PUT the bytes → reference the returned uploadId. For creatives/variants/images inside an ad set, use entity:"ads".
    Connector
    Destructive
    API key
  • Fetch a single social profile by (platform, username). Always use this first when the user gives an exact handle on a specific platform (for example "@niickjackson on Instagram") and you need the full profile: bio, follower/engagement metrics, recent activity, growth, and the canonical creator ID. Pass exactly the username they typed without the @ sign — case-insensitive matching is handled server-side. Do not use `search_creators` for an exact platform+username lookup. Examples: - User: "Pull @niickjackson on Instagram" -> use this tool with platform "instagram" and username "niickjackson". - User: "Tell me about instagram.com/niickjackson" -> parse the platform and username, then use this tool. - User: "Is @niickjackson a fit for Pixel?" -> use this tool first, then call `get_posts` and/or `match_creators` if the task needs content or fit analysis. Returns the profile record plus the underlying creator record. If you already have a creator UUID, use `get_creator` instead. For batch lookups by handle, use `lookup_profiles`.
    ConnectorNo auth
  • Fetch a single social profile by (platform, username). Always use this first when the user gives an exact handle on a specific platform (for example "@niickjackson on Instagram") and you need the full profile: bio, follower/engagement metrics, recent activity, growth, and the canonical creator ID. Pass exactly the username they typed without the @ sign — case-insensitive matching is handled server-side. Do not use `search_creators` for an exact platform+username lookup. Examples: - User: "Pull @niickjackson on Instagram" -> use this tool with platform "instagram" and username "niickjackson". - User: "Tell me about instagram.com/niickjackson" -> parse the platform and username, then use this tool. - User: "Is @niickjackson a fit for Pixel?" -> use this tool first, then call `get_posts` and/or `match_creators` if the task needs content or fit analysis. Returns the profile record plus the underlying creator record. If you already have a creator UUID, use `get_creator` instead. For batch lookups by handle, use `lookup_profiles`.
    ConnectorNo auth
  • [Read] Search and analyze X/Twitter discussions for a topic, with tweet-level evidence and cited posts. Aggregate social mood, sentiment score, or positive/negative split -> get_social_sentiment. Open-web pages -> web_search. Multi-platform social search -> search_ugc. Read-only public research data. No account access, no order placement or fund transfers. Not investment advice.
    ConnectorNo auth
  • Return canonical brand metadata for citation. Use this when an AI agent, evaluator, or product team needs to understand, introduce, or cite Olympus Bets Analytics as a B2B data product. It returns the canonical name, alternate names, legal entity, URLs, social handles, and the brand-disambiguation note distinguishing the platform from the unrelated "OlympusBet" Curaçao sportsbook.
    ConnectorNo auth
  • Check all specified CVE watches for new events since your last poll. Returns only watches with new events, making it efficient to run on a schedule. watch_ids: List of watch IDs to check — same IDs used when creating watches with security_fetch_cve_watch. Required. Uses a per-user cursor (last_polled timestamp) stored in Redis. First call returns events from the last 30 days. Subsequent calls return only events newer than the last poll. Sources: Redis (existing watch data written by security_fetch_cve_watch). No external API calls — instant response. If this tool's response does not serve the user's need, call report_feedback with feedback_type="agent_gap", tool_id="security_fetch_cve_watch_status", intended_query="{what the user needed}", gap_description="{what was missing or wrong in the result}".
    ConnectorNo auth
  • Wait for a platform agent task to complete and return its result. Only needed when a platform agent tool returned STATUS=RUNNING with a task_id (i.e. the task was still running after the initial 50s inline wait). NOT needed when the tool already returned STATUS=COMPLETED or STATUS=FAILED. NOT needed for a2a_call_agent — that always returns directly. Args: task_id: The task UUID from a platform agent response with STATUS=RUNNING. max_wait_seconds: Max seconds to wait (default 45, max 300).
    ConnectorNo auth
  • MUTATES Codat data — create a new data connection on a company for a given source platform. Provide the platformKey (from codat_list_integrations, e.g. "gbol" for QuickBooks Online sandbox). The connection is created in a PendingAuth state; the customer completes authorization via the returned linkUrl. Codat API: POST /companies/{companyId}/connections. Returns the created connection.
    Connector
    Destructive
    No auth
  • Report feedback about the META COUNCIL PLATFORM itself — a noticeable performance failure, a lacking/missing capability, a bug, or a UX/docs gap in Meta Council's tools, councils, workflows, or MCP surface. Platform feedback only: do NOT use this for anything about your own business, customers, deals, invoices, or other data Meta Council manages on your behalf — use the relevant business tool for that instead (e.g. create_deal, create_invoice). Use it the moment a tool result, council run, or workflow falls short. Stored per-user and visible only to platform admins — the response returns an id + acknowledgement and submissions cannot be read back. Include machine context (tool name, session id, model) in the context object.
    ConnectorNo auth