Skip to main content
Glama
649,985 tools. Updated 2026-10-10 06:40

"Airtable" matching MCP tools:

  • Reset connector auth state for the current user. Use when tokens are stale, missing scopes, tied to the wrong account/workspace, or repeatedly failing auth. For credential-based connectors, this clears the saved credentials so the user can re-enter them. Input: connector_id (required). Supported values: google_workspace, microsoft, dropbox, shopify, shopline, quickbooks, hubspot, slack, ebay, facebook_marketing, tiktok, klaviyo, calendly, activecampaign, odoo, constantcontact, airtable, gohighlevel, monday, semrush, ahrefs, posthog, stripe, gunbroker.
    Connector
    Destructive
    No auth
  • Withdraw connection invites this account has sent that are still pending. Give profileUrls for specific people, and/or olderThanDays to retire everything past that age. Reads LinkedIn's OWN pending list, so it also covers invites sent outside this system (manual/Airtable-era outreach) — not just ones in the database. Stale ignored invites drag the acceptance rate LinkedIn judges the account on. NOTE: LinkedIn blocks re-inviting the same person for ~3 weeks after a withdrawal. State-changing — requires confirmWithdraw=true. Draws from the account's ONE shared daily withdrawal allowance (autoWithdrawPerDay), the same one the automatic sweep spends, so asking for more than is left today is not an error: it withdraws what remains and the reply's `note` says how many days the rest will take. Report that ETA to the user rather than implying everything was withdrawn.
    Connector
    Destructive
    OAuth
  • Push prospects WITH their full prefilled sequence into our DB for a chosen sending account, deduped on profileUrl (re-ingesting updates rather than duplicates). `campaignName` SELECTS the campaign: a name that already exists on that account is added to, and a name that does not is created. The reply always says which one you got — `result.campaignName`, `result.campaignLaunchedAt` and `result.campaignCreated` — because a batch landing in a campaign you did not mean is otherwise invisible. Read `result.warnings`: the sharpest one says these prospects joined a campaign that is ALREADY LIVE, which means launch:false staged nothing. Each prospect carries connectionNote + firstMessage + followUp1..3/closer and optional metadata. startStage="connection" (default) enters the invite drip; startStage="message" (already a 1st-degree connection, e.g. an inbound invitation you accepted) NEVER sends an invite — and REQUIRES that the connection already exists. Nothing verifies it: if you are not 1st-degree when the first message comes due, the profile has no Message control, the send fails as "no message entry point", and that failure is PERMANENT — the prospect is retired having received nothing. A PENDING inbound invitation is NOT a connection, so accept it (li_accept_invitations, and check the reply says it was accepted) BEFORE staging anyone at the message stage — their first message is scheduled for connectionWaitHours (24h by default) after the campaign is launched, and with launch:false nothing is scheduled until you call li_launch_campaign. Replaces the skill's Airtable master sheet. Does not generate text — supply it. Every confirmed ingest also returns `collisions`: who among these prospects had ALREADY been approached from the accounts you can see, measured just before the rows were written. A collision is NOT an error and NOTHING was refused — every prospect was imported. It is there because the cost lands later and invisibly: re-importing someone into the SAME campaign is idempotent, but importing them into a DIFFERENT campaign creates a second invite the drip attempts, and at send time LinkedIn answering "already invited" or "already connected" sends nothing while still spending a ~50s browser session the account then has to wait behind. Anything else sends a REAL second invite, charged against each account's rolling 7-day invite allowance this system enforces, set by the account's detected LinkedIn tier — 63-70 a week (5-10 a day) new or unverified, 90-100 a week (18-24 a day) established, 135-150 a week (25-30 a day) Premium, redrawn within the range each week. Our own policy, not a published LinkedIn limit; the daily band exists only to stop a burst. li_list_accounts gives each account's actual numbers. `collisions.summary` is one sentence safe to relay verbatim (it is folded into `result.plan` too), and the report is bounded by the accounts you can see and reports nothing about anything outside them (`collisions.scopeNote` says so), so a clean result means 'not in your pipeline', not 'nobody anywhere'. Do NOT call li_check_targets first to get it: this runs the same check, and it runs it knowing the campaign, so people already in that campaign read as an idempotent update here instead of as a clash elsewhere. That tool is for the list you have not decided to import yet. Each prospect may carry its own sessionLabel/sessionId. When more than one account is named the batch is grouped by account and each group gets its own campaign, its own pacing sentence and its own collision report; the reply's `routed` says which account every submitted row went to, and `suppressed` and `rejectedRows` are lifted to the top level as one list across all of them. A prospect naming neither inherits the call-level selector. The same person routed to TWO of your accounts is reported and nothing is written — both would invite them, and which one arrives first is not a choice this can make for you. The do-not-contact list is the one thing here that DOES refuse: a prospect on it (the team's own list or the install-wide one) is NOT imported, and comes back by name with the reason in `result.suppressed` (top-level `suppressed` when the batch was split). Relay that list — a person the user asked to reach who silently never entered the pipeline looks like a bug weeks later. Manage the list with li_suppress_profiles / li_list_suppressed / li_unsuppress_profile. Engage-before-invite: a connection-stage prospect may carry engagePostUrl (one of their own posts, the one the note and first message mention). The sending account visits their profile and reacts to it a day or more BEFORE the invite, then the invite waits 20-60 hours; about one in seven is only viewed. Reactions are capped at 15-25 a day per account (our policy, not LinkedIn's) and run in sending hours, so a large batch is engaged over days while everyone else keeps being invited. A post that is gone or not theirs releases the invite without a reaction. Message-stage prospects ignore engagePostUrl (`result.warnings` says so). `result.engagement` counts both, and the campaign contacts read shows each person's `engagement`.
    Connector
    Destructive
    OAuth
  • Find outliers and anomalies in structured data — ideal as a second step after pulling records from Google Sheets, Airtable, Supabase, Notion databases, HubSpot, Financial APIs, GitHub, NPM, or any source that returns rows of JSON. Fully stateless: send known-good rows as training and suspect rows as test in ONE call. Returns per-row anomaly scores, confidence levels, and the top features explaining WHY each row was flagged. Typical workflow: (1) Pull data from another tool (e.g. Google Sheets, Supabase query, HubSpot deals). (2) Pass the first N rows as training (normal baseline). (3) Pass remaining or new rows as test. (4) Report which rows are anomalous and why. Works on JSON objects, numbers, text, arrays. No separate training step required. Examples: - Spreadsheet QA: Pull 500 sales rows from Sheets → train on first 400 → test last 100 → flag outlier entries - Financial screening: Get ratios for 50 stocks from a financial API → find anomalous ones - CRM hygiene: Pull HubSpot deals → flag deals with unusual discount/value patterns - Dependency audit: Get NPM package metrics → flag packages with anomalous quality scores - Commit review: Pull GitHub commit metadata → flag unusual commit patterns
    ConnectorNo auth
  • Find outliers and anomalies in structured data — ideal as a second step after pulling records from Google Sheets, Airtable, Supabase, Notion databases, HubSpot, Financial APIs, GitHub, NPM, or any source that returns rows of JSON. Fully stateless: send known-good rows as training and suspect rows as test in ONE call. Returns per-row anomaly scores, confidence levels, and the top features explaining WHY each row was flagged. Typical workflow: (1) Pull data from another tool (e.g. Google Sheets, Supabase query, HubSpot deals). (2) Pass the first N rows as training (normal baseline). (3) Pass remaining or new rows as test. (4) Report which rows are anomalous and why. Works on JSON objects, numbers, text, arrays. No separate training step required. Examples: - Spreadsheet QA: Pull 500 sales rows from Sheets → train on first 400 → test last 100 → flag outlier entries - Financial screening: Get ratios for 50 stocks from a financial API → find anomalous ones - CRM hygiene: Pull HubSpot deals → flag deals with unusual discount/value patterns - Dependency audit: Get NPM package metrics → flag packages with anomalous quality scores - Commit review: Pull GitHub commit metadata → flag unusual commit patterns
    ConnectorNo auth
  • Store a credential set once, under a name, for salesforce/netsuite/hubspot/airtable/postgrest/postgres/priority, so bind_source's `source.connection` can name it instead of repeating it. action "set": store or rotate one — calling it again with the same name rotates it, and every key bound to it reads the new credentials on its next read; the credential is never echoed back. action "list": name, kind, label, when created and updated — never a credential. action "remove": refused while any bound key still reads through it. Record.
    ConnectorAPI key

Matching MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to interact with Airtable databases via natural language, supporting record CRUD, base listing, and schema exploration.
    247 npm
    MIT

Matching MCP Connectors

  • Airtable MCP Pack — wraps the Airtable REST API v0

  • mcpOAuth

    Official Airtable MCP server — database and operations layer for agents.

  • Route a form's submissions somewhere: email, webhook, Slack, Discord, Airtable, HubSpot, Telegram and more. Get the config fields from list_connector_types. OAuth connectors (Google Sheets, Notion) must be added in the dashboard.
    ConnectorNo auth
  • Bind a key to a live, read-only source: a JSON endpoint, a Postgres/Supabase table, an Airtable table, a Google Sheet, a HubSpot object, a tool on another MCP server, a Salesforce SOQL query, a NetSuite SuiteQL query, a one-row SELECT against a raw Postgres database, or a Priority ERP OData read. Every recall reads it fresh — nothing here is cached as truth. Record only.
    ConnectorAPI key
  • Airtable bases, tables, and records: browse, search, and retrieve structured data from Airtable databases. When the user asks for a visual, trend, comparison, or recap, call chart_render with the numeric values returned by this connector. If the connector result includes a verified chart_provenance token, the same authenticated user may pass it as provenance_token within 15 minutes, on any replica, and map every value to its exact source_path so chart_render preserves verified provenance. Without a valid connector receipt, chart_render labels values as unverified_model_data. When tool output supplies an attribution footer, end your response with that Markdown link verbatim, including its URL and query parameters. Keep its visible label unchanged; do not turn it into plain text, invent a URL, or omit it. Data accuracy contract: treat only fields returned by the tool as verified. Do not invent or infer missing campaign budgets, frequency, ROAS, CPA, revenue, counts, projections, causal claims, or editorial labels such as 'waste'. Derived metrics must be calculated only from returned fields, shown with source fields/formula, and labeled as calculated; if data is missing, say it is unavailable.
    ConnectorNo auth
  • Lists every data source feeding a model: API connectors (Qonto, Pennylane, Stripe, Airtable, Metabase) and file imports (kind csv | fec), each with kind, display_name, `branch_ids` (the branches it feeds), sync status, last_synced_at and `source_fields` (the payload fields an API connector's `field_map` can re-point its description / category / account_number to; null when there is nothing to choose). A row with `legacy_import_id` is a materialized pre-staging import that owns input rows but staged no transactions. `include_external_refs: true` adds `external_refs`: the links to items of other Layerz models, each with a value-aware `stale` flag (the source moved in a way that changes the snapshot) and its source health. Stored credentials are not returned.
    ConnectorOAuth
  • Runs one operation on a data source (API connector Qonto, Pennylane, Stripe, Airtable, Metabase, or a csv/fec file import) by `op`. `sync`: pulls the provider's rows into the bound branch as a replace of this source's own rows (the baseline is untouched); on a file source, replays the projection over the staged rows; `target_branch_id` lands a still-unbound connection on an existing branch; `dry_run: true` reports the impact without persisting. `rebind`: re-points the source at `branch_ids`, wiping its rows from detached branches and reprojecting into the new ones. `update`: renames the source (`display_name`) and/or applies `config` then replays the projection; a change of `import_level` or of a tabular mapping (`field_map`, `measures`, `sign_rule`) re-fetches and re-stages, and is rejected on a csv/fec file source. `delete`: disconnects the source, drops its staged transactions and purges everything it projected into the model (input rows, provenance, import entry); items and the branch are kept, emptied; when the purge would destroy values the source cannot re-project, the call is refused with `PURGE_CONFIRMATION_REQUIRED` and a `purge_preview`, and a retry with `confirm_purge: true` performs it. Every projecting op returns `unmapped`, `proposed_window`, `deletable_items` (reported, not removed), `cutover_changes`, `shadowed`, `warnings`. Credentials stay in the web app. Persists one version labelled with `summary`. Not advertised to read-only keys.
    Connector
    Destructive
    OAuth
  • Orbit Toolbox — ALL of your integrations live behind this single tool. Orbit's full capability set (40): image_generate, calendar, apollo, up2data, apify, orbit_scrape, jev, ocean, email_verify, instantly, perplexity, notion, airtable, linear, github, hubspot, resend, slack, stripe, semrush, google_search_console, twitter, telegram_bot, posteahora, custom_api, remote_mcp, linkedin, whatsapp, instagram, messenger, telegram, x_dms, gmail_mailbox, outlook_mailbox, imap_mailbox, twitter_data, x_article, x_session, reddit_data, predictleads. • image_generate — Orbit-provisioned image generation. Text → PNG, returns a signed HTTPS URL ready to attach to social posts (PosteAhora mediaUrls) or file artifacts. No key required. • calendar — Read, create and cancel events on the operator's real calendar — free with a connected Gmail or Outlook mailbox. Use it for meeting prep, scheduling and conflict checks. [requires connected Gmail/Outlook mailbox — calendar itself is free] • apollo — Unified Apollo tool (Orbit-provisioned). Sub-actions: test, people_search (discovery only, no emails), org_search, people_enrich, people_enrich_bulk (up to 10 people per call), or… • up2data — Orbit's MAIN tool for LinkedIn data, Orbit-provisioned, no key required. Live LinkedIn profiles (positions, education, skills, photo, current company), companies, posts, comments … • apify — Run any of 4,000+ Apify actors (scraping, SERPs, socials, marketplaces) with zero setup — provisioned by Orbit. Only pay-per-result actors are listed — never use a subscription/re… • orbit_scrape — Read any public web page as clean markdown, or search the web, in one call — Orbit-provisioned, free, no key required. The default for company websites, articles, docs, competitor… • jev — Fast, cheap, calibrated decisions on up to 500 items per call — Orbit-provisioned, no key required. Not a writer: it answers one typed question per item (classify into labels you … • ocean — ONLY for lookalike campaigns or finding new leads modelled on the operator's existing customers — never for general lead search, LinkedIn work, enrichment or research (use up2data… • email_verify — Check that email addresses are real and safe to send to before a campaign goes out, so it does not bounce. Orbit-provisioned, no key required. Verify up to 10 addresses in one cal… • instantly — Author Instantly cold-email campaigns end to end: write the sequence copy with {{variables}}, attach sending mailboxes, add leads with per-lead variables, activate or pause. Also … [requires operator API key] • perplexity — Ask Perplexity Sonar and get a cited answer. [requires operator API key] • notion — Search Notion pages/databases and create pages. [requires operator API key] • airtable — List and create records in an Airtable base. [requires operator API key] • linear — Linear tracker: read teams, projects, issues and comments; create, update, assign, comment on and close issues. [requires operator API key] • github — List and create GitHub issues in a repo. [requires operator API key] • hubspot — Search HubSpot contacts and create new ones. [requires operator API key] • resend — Send transactional email via Resend from the operator's account. [requires operator API key] • slack — Post a message into a Slack channel using the operator's bot token. [requires operator API key] • stripe — Read-only Stripe: recent charges, customers, subscriptions. [requires operator API key] • semrush — Semrush domain overview — traffic, keywords, ads. [requires operator API key] • google_search_console — The operator's own Search Console: queries and pages with clicks, impressions, CTR and position; index status of a URL; sitemaps. Can also submit sitemaps and ask Google to crawl … [requires operator API key] • twitter — Post, delete, read and search on X using the operator's own X developer app credentials (OAuth 1.0a or bearer token). Non-provisioned alternative to a connected X account. [requires operator API key] • telegram_bot — Send and read messages with the operator's own Telegram bot (BotFather token): send_message, send_photo, send_document, get_updates, across chats, groups and channels. Several bot… [requires operator API key] • posteahora — Publish, schedule and read analytics on Instagram, TikTok, X, LinkedIn, Threads, Facebook, Bluesky and more via the operator's PosteAhora key. [requires operator API key] • custom_api — Call any HTTP API the operator registered themselves (label + https base URL + optional key). Actions: list, request. The key is stored encrypted and injected server-side — it is … [requires operator API key] • remote_mcp — Use the tools of any MCP server the operator added themselves (name + https address + optional token). Actions: list_servers, list_tools, call. The token is stored encrypted and o… [requires operator API key] • linkedin — Act on the operator's own LinkedIn: read and reply to DMs, open new conversations, send personalised connection requests, publish posts, comment and like. Caps: 50 messages, 20 in… [requires linked account] • whatsapp — Read and reply to WhatsApp chats from the operator's own number. Warm conversations and follow-ups only — 100 messages a day. [requires linked account] • instagram — Read and answer Instagram DMs as the operator. 40 messages a day. [requires linked account] • messenger — Read and answer Facebook Messenger conversations as the operator. 40 messages a day. [requires linked account] • telegram — Read and reply to Telegram chats as the operator. 120 messages a day. [requires linked account] • x_dms — Read and reply to X direct messages as the operator. 40 messages a day. [requires linked account] • gmail_mailbox — Triage, read and send email from the operator's own Gmail address. Replies and follow-ups, never cold sequences. 120 sends a day. [requires linked account] • outlook_mailbox — Triage, read and send email from the operator's Microsoft mailbox. Replies and follow-ups, never cold sequences. 120 sends a day. [requires linked account] • imap_mailbox — Triage, read and send email from any other mailbox the operator connected over IMAP/SMTP. 100 sends a day. [requires linked account] • twitter_data — PRIMARY Twitter/X public-data source — search, profiles, timelines, threads, replies, quotes, followers, lists, communities, trends and spaces over a direct REST API. Orbit-provis… ⚠ Public-data reads only. Private data and account actions require the workspace's own connected X account. • x_article — Write and publish long-form Articles on X as this workspace's own account — create a draft, set the title and body (markdown), publish or unpublish, list and delete. Requires the … [requires operator API key] ⚠ Needs the workspace's own X session cookies (auth_token + ct0) and an X Premium account. • x_session — Reply to tweets, post, delete and read/send DMs on X as this workspace's own account, through its saved X session cookies. No developer app needed. Orbit's shared account is never… [requires operator API key] ⚠ Needs the workspace's own X session cookies (auth_token + ct0); they expire after weeks of inactivity. • reddit_data — PRIMARY Reddit source — post and comment search, subreddit listings and rules, full comment trees, community discovery, user profiles and comment history over a direct REST API. O… ⚠ Public reads only — no posting, commenting, voting or DMs. ⚠ Reddit caps any single listing at ~1000 items; when `after` is null check `listing_status` before assuming the data ended. • predictleads — Pull GTM buying signals from PredictLeads — funding rounds, job openings, technology installs, product launches, website changes, exec moves and company connections. Orbit-provisi… ⚠ action 'discover_by_technology' is gated by PredictLeads' discovery add-on and is currently UNAVAILABLE on Orbit's plan — it returns an authorization error even for the documented example. Do not spend calls on it; use 'technologies' per-domain instead. ⚠ Responses are large. Always pass `fields` (e.g. ['data.attributes.domain']) or `mode:'summary'` on discovery actions. Usage: { action: 'list' } → what is LIVE for this workspace right now (full descriptions + JSON Schemas) plus what is not connected yet and how the operator connects it. { action: 'describe', tool: '<name>' } → one tool's schema, full docs, and any known broken/plan-gated actions. { action: 'call', tool: '<name>', arguments: { ... }, agent_id: '<your agent.id>' } → run it. Always include agent_id so spend is attributed to you. { action: 'fetch_payload', payload_id: '<id>', path?, offset?, limit?, fields? } → page a stored oversized response (free, no re-billing). PAYLOAD CONTROLS (use them — some APIs return 100KB+ of single-line JSON): fields: ['data.attributes.domain', 'data.attributes.company_name'] → project only the columns you need. Cheapest option, always prefer it. mode: 'summary' → structure digest + record count + 2 sample rows, so you can pick `fields` before pulling the full set. max_chars: <n> → clamp the response (default 12000). Anything over the limit is NOT dropped: it is stored and returned as a digest + payload_id you can page with fetch_payload. Never route overflow through files. Every response carries `related_tools` — the tools that feed into or follow from the one you just used. Read it before deciding your next step. Tools marked [requires ...] only work once the operator has connected them. Always `list` once per session to see live status, and `describe` a tool before your first `call`. Never tell the operator a capability is missing without checking `list` first — and never promise an action on a tool that `list` reports as not connected; tell the operator what to connect instead.
    ConnectorNo auth