# createFootnote

Create a footnote in a Google Doc. Footnotes cannot be inserted inside equations, headers, footers, or other footnotes. For multi-tab docs, specify tabId to target a specific tab.

Agent View of the PolicyLayer registry record for `createFootnote`. HTML page: https://policylayer.com/tools/ark7-google-drive-mcp/createfootnote

## Facts

- Tool: `createFootnote`
- Server: Google Drive (`@ark7/google-drive-mcp`) — https://policylayer.com/tools/ark7-google-drive-mcp.md
- Install: `npx -y @ark7/google-drive-mcp`
- Homepage: https://www.npmjs.com/package/@ark7/google-drive-mcp
- Risk category: Write (Medium risk)
- Registry record: grade F, identity unverified
- Server rate-limited: no
- Parameters: 7 (1 required)
- Recommended policy verdict: Rate-limited

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `index` | number | no | 1-based character index where the footnote reference should be inserted |
| `tabId` | string | no | Optional. Tab ID to insert the footnote into (from listDocumentTabs). If omitted, inserts into the first/default tab. |
| `account` | string | no | Alias of the Google account to target. Optional — defaults to the session/global default account, or the sole authenticated account. Run manage_accounts list to |
| `content` | string | no | Optional text content for the footnote body |
| `documentId` | string | yes | Document ID |
| `endOfSegment` | boolean | no | If true, insert footnote at the end of the document body (use instead of index) |
| `ifRevisionId` | string | no | Optional optimistic lock: a revisionId from readGoogleDoc, getGoogleDocContent, getGoogleDocContentPaginated, or getDocumentInfo. The write fails cleanly if the |

Parameters from the server's own tool schema.

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "createFootnote",
    "arguments": {
      "documentId": "<documentId>"
    }
  }
}
```

## Why createFootnote is rated Medium

This tool creates new content in a Google Doc by inserting a footnote. This is a Write operation because it modifies a document by adding structured content, and the change is reversible. The severity is low because footnotes are minor content additions with minimal blast radius—they do not delete data, execute code, or have financial implications.

From the tool's own definition: "The tool description states it will 'Create a footnote in a Google Doc', which is a write operation that adds content to a document. This is reversible (footnotes can be deleted)."

Risk signals: Accepts raw HTML/template content (content)

## Use case

AI agents use createFootnote to create or update resources in Google Drive, usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your Google Drive environment.

## Recommended policy (PolicyLayer)

Verdict: **Rate-limited**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches Google Drive:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "createFootnote": {
      "limits": [
        {
          "counter": "createfootnote_rate",
          "window": "minute",
          "max": 30,
          "scope": "grant"
        }
      ]
    }
  }
}
```

## Other tools on Google Drive (130)

- `deleteCalendarEvent` — Destructive — https://policylayer.com/tools/ark7-google-drive-mcp/deletecalendarevent.md
- `deleteComment` — Destructive — https://policylayer.com/tools/ark7-google-drive-mcp/deletecomment.md
- `deleteDimensionGroup` — Destructive — https://policylayer.com/tools/ark7-google-drive-mcp/deletedimensiongroup.md
- `deleteGoogleSlide` — Destructive — https://policylayer.com/tools/ark7-google-drive-mcp/deletegoogleslide.md
- `deleteItem` — Destructive — https://policylayer.com/tools/ark7-google-drive-mcp/deleteitem.md
- `deleteRange` — Destructive — https://policylayer.com/tools/ark7-google-drive-mcp/deleterange.md
- `deleteSheet` — Destructive — https://policylayer.com/tools/ark7-google-drive-mcp/deletesheet.md
- `deleteSlideElement` — Destructive — https://policylayer.com/tools/ark7-google-drive-mcp/deleteslideelement.md
- `removePermission` — Destructive — https://policylayer.com/tools/ark7-google-drive-mcp/removepermission.md
- `authGetStatus` — Read — https://policylayer.com/tools/ark7-google-drive-mcp/authgetstatus.md
- `authListScopes` — Read — https://policylayer.com/tools/ark7-google-drive-mcp/authlistscopes.md
- `authTestFileAccess` — Read — https://policylayer.com/tools/ark7-google-drive-mcp/authtestfileaccess.md
- `describeGoogleDocRange` — Read — https://policylayer.com/tools/ark7-google-drive-mcp/describegoogledocrange.md
- `downloadFile` — Read — https://policylayer.com/tools/ark7-google-drive-mcp/downloadfile.md
- `exportSlideThumbnail` — Read — https://policylayer.com/tools/ark7-google-drive-mcp/exportslidethumbnail.md
- `getCalendarEvent` — Read — https://policylayer.com/tools/ark7-google-drive-mcp/getcalendarevent.md
- `getCalendarEvents` — Read — https://policylayer.com/tools/ark7-google-drive-mcp/getcalendarevents.md
- `getComment` — Read — https://policylayer.com/tools/ark7-google-drive-mcp/getcomment.md
- `getDocumentInfo` — Read — https://policylayer.com/tools/ark7-google-drive-mcp/getdocumentinfo.md
- `getGoogleDocContent` — Read — https://policylayer.com/tools/ark7-google-drive-mcp/getgoogledoccontent.md
- `getGoogleDocContentPaginated` — Read — https://policylayer.com/tools/ark7-google-drive-mcp/getgoogledoccontentpaginated.md
- `getGoogleDocImage` — Read — https://policylayer.com/tools/ark7-google-drive-mcp/getgoogledocimage.md
- `getGoogleDocStyleSummary` — Read — https://policylayer.com/tools/ark7-google-drive-mcp/getgoogledocstylesummary.md
- `getGoogleSheetCells` — Read — https://policylayer.com/tools/ark7-google-drive-mcp/getgooglesheetcells.md
- `getGoogleSheetContent` — Read — https://policylayer.com/tools/ark7-google-drive-mcp/getgooglesheetcontent.md
- `getGoogleSlidesContent` — Read — https://policylayer.com/tools/ark7-google-drive-mcp/getgoogleslidescontent.md
- `getGoogleSlidesSpeakerNotes` — Read — https://policylayer.com/tools/ark7-google-drive-mcp/getgoogleslidesspeakernotes.md
- `getRevisions` — Read — https://policylayer.com/tools/ark7-google-drive-mcp/getrevisions.md
- `getSlideElementInfo` — Read — https://policylayer.com/tools/ark7-google-drive-mcp/getslideelementinfo.md
- `getSpreadsheetInfo` — Read — https://policylayer.com/tools/ark7-google-drive-mcp/getspreadsheetinfo.md
- …and 100 more: https://policylayer.com/tools/ark7-google-drive-mcp.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=ark7-google-drive-mcp · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/ark7-google-drive-mcp
