Skip to main content
Glama

Change what data a Napkin interface can use

napkin_interfaces_grant_data
Destructive

Set the sheet tables, Ledger metrics and Workbench Tasks an interface may use (ADR 0085, 0086), replacing the whole list. Tables: access read, add (read and add records) or edit (also change and delete); optionally limit to some columns by name. Metrics: read or record. Tasks: the page may start them. The page then calls zw.tables.query / add / update / remove, zw.metrics.read / record and zw.tasks.start / get. Anyone who can open the interface, including people it's shared with, gets this access (a shared link can only read and add), so ask the user before widening it.

Input Schema

NameRequiredDescriptionDefault
tasksNoWorkbench Tasks the page may start with zw.tasks.start, and check with zw.tasks.get.
tablesNo
metricsNo
workspaceNoWorkspace slug. Personal tokens with no default workspace MUST pass this; tokens with a default can override per call. Ignored for workspace API keys.
approvalIdNoApproval id from a prior needs_confirmation response. Omit on the first call.
interfaceIdYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare destructiveHint=true and openWorldHint=true; the description goes beyond that by revealing this REPLACES the whole list, who receives the access (anyone who can open, including shared links, with shared-link read/add limits), and the downstream zw.* calls the page will use.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Dense but front-loaded: the core action and replacement semantics come first, followed by per-resource access meanings and the warning. The mid-sentence zw.* function lists are a slight detour but still earn their place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive, open-world mutation with no output schema, the description covers replacement semantics, access audience, and the confirmation-worthy widening risk. It stops short of noting reversibility or how to recover the prior grant list, which for a whole-list replacement would be worth stating.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 50%, and the description explains the access-level semantics ('read, add, edit' and 'read or record') and the optional column limiting, adding real meaning for those fields. But workspace, approvalId, and the per-item structures get no coverage from the description, leaving the enum-less access fields partly to inference.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource — setting the tables, metrics, and tasks an interface may use — and names the sibling interface tools by effect. The scope ('replacing the whole list') is explicit, so an agent can distinguish this from napkin_interfaces_write or napkin_interfaces_publish.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It implies when to use it (changing an interface's data access) and warns to ask the user before widening access, but it never names an alternative tool or states when NOT to call this versus napkin_interfaces_create or napkin_interfaces_write.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources