Medium Risk

update_view_filters

Update the filter configuration of a view. Supports AND/OR conjunctions, nested filter groups, and Airtable's internal filter operators. FILTER FORMAT: Leaf filter: { columnId: "fldXXX", operator: "<op>", value: <val> } Nested group: { type: "nested", conjunction: "and"|"or", filterSet: [...

Single-target operation

Part of the Airtable User MCP MCP server. Enforce policies on this tool with Intercept, the open-source MCP proxy.

airtable-user-mcp Write Risk 2/5

AI agents use update_view_filters to create or modify resources in Airtable User MCP. Write operations carry medium risk because an autonomous agent could trigger bulk unintended modifications. Rate limits prevent a single agent session from making hundreds of changes in rapid succession. Argument validation ensures the agent passes expected values.

Without a policy, an AI agent could call update_view_filters repeatedly, creating or modifying resources faster than any human could review. Intercept's rate limiting ensures write operations happen at a controlled pace, and argument validation catches malformed or unexpected inputs before they reach Airtable User MCP.

Write tools can modify data. A rate limit prevents runaway bulk operations from AI agents.

airtable-user-mcp.yaml
tools:
  update_view_filters:
    rules:
      - action: allow
        rate_limit:
          max: 30
          window: 60

See the full Airtable User MCP policy for all 37 tools.

Tool Name update_view_filters
Category Write
Risk Level Medium

View all 37 tools →

Agents calling write-class tools like update_view_filters have been implicated in these attack patterns. Read the full case and prevention policy for each:

Browse the full MCP Attack Database →

Other tools in the Write risk category across the catalogue. The same policy patterns (rate-limit, validate) apply to each.

What does the update_view_filters tool do? +

Update the filter configuration of a view. Supports AND/OR conjunctions, nested filter groups, and Airtable's internal filter operators. FILTER FORMAT: Leaf filter: { columnId: "fldXXX", operator: "<op>", value: <val> } Nested group: { type: "nested", conjunction: "and"|"or", filterSet: [...] } Clear filters: { filterSet: [], conjunction: "and" } (or pass filters: null) Filter IDs (flt-prefixed) are auto-generated — do NOT include them. OPERATORS by field type — verified against Airtable's internal API (2026-04-17 capture): Text / URL / Email / Phone: "=" (exact match — value: string) "!=" (not equal) "contains" (value: string) "doesNotContain" "isEmpty" / "isNotEmpty" (no value) Number / Percent / Currency: "=", "!=", "<", ">", "<=", ">=", "isEmpty", "isNotEmpty" Single select: "=" (value: "selXXX" — the choice ID, NOT the choice name) "!=" "isAnyOf" / "isNoneOf" (value: ["selXXX", "selYYY"] — array of choice IDs) "isEmpty" / "isNotEmpty" Multiple select: "hasAnyOf", "hasAllOf", "hasNoneOf", "isExactly", "isEmpty", "isNotEmpty" Checkbox: "=" (value: true|false) Date: "is", "isBefore", "isAfter", "isOnOrBefore", "isOnOrAfter", "isEmpty", "isNotEmpty" AUTO-NORMALIZATION: - "is" → "=" (applied automatically — the internal API does not recognize "is") - "isNot" → "!=" - "isAnyOf" with a single-element array or scalar value → "=" with scalar value For single-select, value must be the choice ID (selXXX) — use get_base_schema to find IDs. EXAMPLES: Text equals: { filterSet: [{ columnId: "fldXXX", operator: "=", value: "Prime" }], conjunction: "and" } SingleSelect equals: { filterSet: [{ columnId: "fldXXX", operator: "=", value: "selABC123" }], conjunction: "and" } Text contains: { filterSet: [{ columnId: "fldXXX", operator: "contains", value: "hello" }], conjunction: "and" } Number range: { filterSet: [{ columnId: "fldX", operator: ">=", value: 10 }, { columnId: "fldX", operator: "<=", value: 100 }], conjunction: "and" } Nested (a AND (b OR c)): { filterSet: [{ columnId: "fldA", operator: "contains", value: "x" }, { type: "nested", conjunction: "or", filterSet: [{ columnId: "fldB", operator: "=", value: 1 }] }], conjunction: "and" }. It is categorised as a Write tool in the Airtable User MCP MCP Server, which means it can create or modify data. Consider rate limits to prevent runaway writes.

How do I enforce a policy on update_view_filters? +

Add a rule in your Intercept YAML policy under the tools section for update_view_filters. You can allow, deny, rate-limit, or validate arguments. Then run Intercept as a proxy in front of the Airtable User MCP MCP server.

What risk level is update_view_filters? +

update_view_filters is a Write tool with medium risk. Write tools should be rate-limited to prevent accidental bulk modifications.

Can I rate-limit update_view_filters? +

Yes. Add a rate_limit block to the update_view_filters rule in your Intercept policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.

How do I block update_view_filters completely? +

Set action: deny in the Intercept policy for update_view_filters. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.

What MCP server provides update_view_filters? +

update_view_filters is provided by the Airtable User MCP MCP server (airtable-user-mcp). Intercept sits as a proxy in front of this server to enforce policies before tool calls reach the server.

Enforce policies on Airtable User MCP

Open source. One binary. Zero dependencies.

npx -y @policylayer/intercept
github.com/policylayer/intercept →
// GET IN TOUCH

Have a question or want to learn more? Send us a message.

Message sent.

We'll get back to you soon.