Medium Risk

write

Create or update Notion pages from Markdown with YAML frontmatter. Mode (default "auto"): if frontmatter has "id" → update, otherwise → create. ## Batch mode Separate multiple pages with a line containing only "===" to create/update them in one call. ## Frontmatter fields | Field | Create | U...

Part of the Better Mcp Notion MCP server. Enforce policies on this tool with Intercept, the open-source MCP proxy.

better-mcp-notion Write Risk 2/5

AI agents use write to create or modify resources in Better Mcp Notion. 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 write 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 Better Mcp Notion.

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

io-github-ai-aviate-better-notion.yaml
tools:
  write:
    rules:
      - action: allow
        rate_limit:
          max: 30
          window: 60

See the full Better Mcp Notion policy for all 9 tools.

Tool Name write
Category Write
Risk Level Medium

View all 9 tools →

Agents calling write-class tools like write 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 write tool do? +

Create or update Notion pages from Markdown with YAML frontmatter. Mode (default "auto"): if frontmatter has "id" → update, otherwise → create. ## Batch mode Separate multiple pages with a line containing only "===" to create/update them in one call. ## Frontmatter fields | Field | Create | Update | Description | |-------|--------|--------|-------------| | id | - | required | Page ID to update | | title | recommended | optional | Page title | | parent | required* | ignored | Parent page name or ID | | database | required* | ignored | Database name or ID (*either parent or database) | | icon | optional | optional | Emoji (e.g. 📋) or image URL | | cover | optional | optional | Cover image URL | | properties | optional | optional | DB properties (see below) | Properties are auto-matched to the database schema. Use the exact property name as key. Read-only fields from read output (url, created, last_edited, formula, etc.) are safely ignored. ## Examples ### Create a page under a parent page: ``` --- title: Meeting Notes parent: "Project Alpha" icon: "📝" --- ## Agenda - Review progress ``` ### Create a database entry: ``` --- title: Fix login bug database: "Task Board" properties: Status: In Progress Tags: - backend - urgent Due Date: "2026-03-01" --- ## Description Login fails when password contains special chars. ``` ### Update an existing page (edit output from read): ``` --- id: abc123-def456 title: Updated Title properties: Status: Done --- ## New content Body replaces all existing blocks. ``` ### Append to an existing page (add content without rewriting): Use position: "append" to add content to the end, or "prepend" to add to the beginning. Only the new content needs to be provided — existing content is preserved. ``` --- id: abc123-def456 --- ## New section added at the end ``` ### Batch create (multiple pages in one call): ``` --- title: Task 1 database: "Task Board" properties: Status: Todo --- Task 1 details === --- title: Task 2 database: "Task Board" properties: Status: Todo --- Task 2 details ``` . It is categorised as a Write tool in the Better Mcp Notion MCP Server, which means it can create or modify data. Consider rate limits to prevent runaway writes.

How do I enforce a policy on write? +

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

What risk level is write? +

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

Can I rate-limit write? +

Yes. Add a rate_limit block to the write 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 write completely? +

Set action: deny in the Intercept policy for write. 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 write? +

write is provided by the Better Mcp Notion MCP server (better-mcp-notion). Intercept sits as a proxy in front of this server to enforce policies before tool calls reach the server.

Enforce policies on Better Mcp Notion

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.