> ## Documentation Index
> Fetch the complete documentation index at: https://docs.civic.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Notion

> Interact with Notion databases and pages. This MCP server provides an API to create, read, update, and delete content in Notion.

## Overview

The Notion server provides comprehensive integration with [Notion](https://notion.so) workspaces, enabling AI assistants to manage databases, pages, blocks, and comments for enhanced productivity and knowledge management.

## Getting Started

<Steps>
  <Step title="Connect to Notion">
    Add the Notion server to your Civic environment through the server directory.
  </Step>

  <Step title="Test Connection">
    Start with a simple command like `search for pages` or `list users` to verify the connection works properly.
  </Step>
</Steps>

## What You Can Do

<CardGroup cols={2}>
  <Card title="Page Management" icon="file">
    Create, update, retrieve, and manage Notion pages with full content control
  </Card>

  <Card title="Database Operations" icon="database">
    Query databases, create new databases, and manage database properties
  </Card>

  <Card title="Content Creation" icon="edit">
    Add blocks, append content, and structure information with rich text formatting
  </Card>

  <Card title="Team Collaboration" icon="comments">
    Manage comments, retrieve user information, and facilitate workspace collaboration
  </Card>
</CardGroup>

## Available Tools (21)

### User Management

<AccordionGroup>
  <Accordion title="API-get-user">
    `API-get-user` — Retrieve a specific user by user ID
  </Accordion>

  <Accordion title="API-get-users">
    `API-get-users` — List all users in the workspace with pagination support
  </Accordion>

  <Accordion title="API-get-self">
    `API-get-self` — Retrieve your token's bot user information
  </Accordion>
</AccordionGroup>

### Database Operations

<AccordionGroup>
  <Accordion title="API-post-database-query">
    `API-post-database-query` — Query a database with filters, sorts, and pagination
  </Accordion>

  <Accordion title="API-create-a-database">
    `API-create-a-database` — Create a new database with specified properties
  </Accordion>

  <Accordion title="API-update-a-database">
    `API-update-a-database` — Update database title, description, and properties
  </Accordion>

  <Accordion title="API-retrieve-a-database">
    `API-retrieve-a-database` — Retrieve database information and schema
  </Accordion>
</AccordionGroup>

### Page Management

<AccordionGroup>
  <Accordion title="API-post-page">
    `API-post-page` — Create a new page with properties, content, and cover
  </Accordion>

  <Accordion title="API-patch-page">
    `API-patch-page` — Update page properties, icon, cover, and archive status
  </Accordion>

  <Accordion title="API-retrieve-a-page">
    `API-retrieve-a-page` — Retrieve page content and properties
  </Accordion>

  <Accordion title="API-retrieve-a-page-property">
    `API-retrieve-a-page-property` — Retrieve a specific page property item
  </Accordion>
</AccordionGroup>

### Block Management

<AccordionGroup>
  <Accordion title="API-get-block-children">
    `API-get-block-children` — Retrieve all child blocks from a parent block
  </Accordion>

  <Accordion title="API-patch-block-children">
    `API-patch-block-children` — Append new blocks as children to existing blocks
  </Accordion>

  <Accordion title="API-retrieve-a-block">
    `API-retrieve-a-block` — Retrieve a specific block by block ID
  </Accordion>

  <Accordion title="API-update-a-block">
    `API-update-a-block` — Update block content and properties
  </Accordion>

  <Accordion title="API-delete-a-block">
    `API-delete-a-block` — Delete a block from the page
  </Accordion>
</AccordionGroup>

### Search & Comments

<AccordionGroup>
  <Accordion title="API-post-search">
    `API-post-search` — Search pages and databases by title with filters and sorting
  </Accordion>

  <Accordion title="API-retrieve-a-comment">
    `API-retrieve-a-comment` — Retrieve comments on a specific block or page
  </Accordion>

  <Accordion title="API-create-a-comment">
    `API-create-a-comment` — Create a new comment on a page
  </Accordion>
</AccordionGroup>

## Use Cases

### Knowledge Management

* **Content Creation**: "Create a new project page with task database and initial content"
* **Information Retrieval**: "Search for all pages related to 'quarterly planning'"
* **Documentation**: "Update the API documentation page with new endpoints"

### Database Operations

* **Data Analysis**: "Query the customer database for all high-priority leads"
* **Project Tracking**: "Create a new project database with status and assignee properties"
* **Reporting**: "Retrieve all completed tasks from the sprint database"

### Team Collaboration

* **Feedback Collection**: "Add a comment to the design review page"
* **User Management**: "List all workspace members and their roles"
* **Content Review**: "Get all comments on the proposal document"

### Content Structure

* **Page Organization**: "Add bullet points and paragraphs to the meeting notes page"
* **Database Setup**: "Create a CRM database with contact properties and relationships"
* **Information Architecture**: "Retrieve all child pages from the company handbook"

<Note>
  The Notion server requires appropriate workspace permissions and OAuth2 authentication to access and modify content in your Notion workspace.
</Note>

***

## Guardrails

In addition to the [14 universal guardrails](/civic/concepts/guardrails), this server has **19 server-specific guardrails** across 11 operations.

<Note>
  Rich guardrail set — combining allowlist controls (approved pages/databases), sensitive content filters on reads, protected content on writes, and batch size limits.
</Note>

| Guardrail                                        | Operation              | Timing   | Description                                      |
| ------------------------------------------------ | ---------------------- | -------- | ------------------------------------------------ |
| Approved Comment Pages                           | `create-a-comment`     | Request  | Restricts comments to approved pages only        |
| Protected Blocks                                 | `delete-a-block`       | Request  | Prevents deletion of protected blocks            |
| Retrieve Block Children Sensitive Content Filter | `get-block-children`   | Response | Redacts sensitive content from block children    |
| Approved Move Database Targets                   | `move-page`            | Request  | Restricts page moves to approved databases       |
| Approved Move Targets                            | `move-page`            | Request  | Restricts page moves to approved parent pages    |
| Protected Pages (Move)                           | `move-page`            | Request  | Prevents moving protected pages                  |
| Protected Pages (Update)                         | `patch-page`           | Request  | Prevents updates to protected pages              |
| Approved Databases                               | `post-database-query`  | Request  | Only allows querying approved databases          |
| Approved Database Parents                        | `post-page`            | Request  | Restricts page creation to approved databases    |
| Approved Page Parents                            | `post-page`            | Request  | Restricts page creation to approved parent pages |
| Search Sensitive Content Filter                  | `post-search`          | Response | Redacts sensitive content from search results    |
| Search Term Filter                               | `post-search`          | Request  | Prevents searching for sensitive terms           |
| Approved Data Sources                            | `query-data-source`    | Request  | Only allows querying approved data sources       |
| Page Property Filter                             | `query-data-source`    | Response | Filters results by property values               |
| Query Sensitive Content Filter                   | `query-data-source`    | Response | Redacts sensitive content from query results     |
| Retrieve Block Sensitive Content Filter          | `retrieve-a-block`     | Response | Redacts sensitive content from block retrieval   |
| Approved Pages (Retrieve)                        | `retrieve-a-page`      | Request  | Restricts retrieval to approved pages only       |
| Protected Data Sources                           | `update-a-data-source` | Request  | Prevents updates to protected databases          |
| Batch Operation Size Limit                       | *(all operations)*     | Request  | Limits number of operations in batch requests    |

<Tip>
  Configure guardrails via the Civic UI or ask the Configurator Agent: "Add guardrails to my Notion server."
</Tip>
