MCP server intelligence profile

notion-mcp-server MCP Server

Notion MCP Server is a MCP server implementation that enables AI assistants to interact with Notion's API

Hybridawkoy
Awaiting current scanNpm · 3.0.0

The selected current version does not yet have completed public verification. Unknown does not mean clean or vulnerable.

1Distribution channel
3Independently observed tools
0Linked remote endpoints
AvailableVersion intelligence

Detailed security scan evidence is not public for this MCP yet. Public identity, registry metadata, and independently observed protocol inventory remain available.

Install and connect

Installation and connection instructions are shown only when supported by retained package, repository, or endpoint evidence.

Install notion-mcp-server from npm

Install exact version 3.0.0. No verified executable entrypoint is available, so use the package documentation to launch it.

npm install --save-exact notion-mcp-server@3.0.0

Identity

Canonical slugnotion-mcp-server-6039341cDeploymentHybrid
Canonical packagenpm:notion-mcp-serverRepositoryawkoy/notion-mcp-server
First publishedLatest release
Last security verificationClassification confidence82%
PublicationDraftOfficial distributionNot verified

Distributions

ChannelIdentifierCurrent versionVersionsSource
npmnotion-mcp-server3.0.021Repository

Current release

PackageVersionPublished / observedInventorySecurity scan
npmnotion-mcp-server3.0.0CurrentSep 5, 20263 toolsSucceeded · 1 resources · 4 promptsEvidence restricted
Enterprise protection

Continuously monitor this MCP for security risk

Independently scan the exact version your agents use, receive alerts when its risk changes, and investigate every finding with retained version evidence.

  • Independent exact-version security scans
  • Continuous release and vulnerability monitoring
  • Risk-change alerts with capability context
  • Historical evidence and API exports
Custom pricingContact salesTailored to your organization, integrations, data needs, and support requirements.

Current version evidence

No public current-version evidence is available yet.

Current protocol inventory

2025-06-18Negotiated protocol
notion-mcp-serverServer-reported name
4Capability groups
Sep 2, 2026Observed

Tools 3

ToolCategoryAnnotationsRisk
notion_describeReturn the JSON Schema and a working example for one operation, plus which tool runs it (notion_read or notion_write). Use this BEFORE calling the operation when the payload shape is non-trivial (query filters, structured block trees, database property definitions). For simple ops, just call it — errors carry the schema.
Input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "operation": {
      "type": "string",
      "description": "Operation name to describe, as listed by notion_read / notion_write."
    }
  },
  "required": [
    "operation"
  ]
}
Annotations
{
  "title": "Notion Describe",
  "readOnlyHint": true,
  "destructiveHint": false,
  "openWorldHint": false
}
Read onlyNon-destructiveClosed world
notion_readRun one Notion read operation by name. Nothing is modified. Call: { operation, payload } — payload carries that operation's fields. Common: search_pages { query }, get_page { page_id }, get_page_markdown { page_id }, query_database { database_id, where? }, get_block_children { block_id }. Responses are slimmed; pass verbose:true in payload for the raw Notion object. Every id field (page_id, block_id, database_id, view_id, …) also accepts a Notion URL, as copied from Share → Copy link. A block link's #fragment is used for block_id fields and a database link's ?v= for view_id fields. If the payload is malformed, the error response includes the schema + a working example so you can correct and retry in one round-trip. Call notion_describe(operation) ahead of time only for complex shapes (query_database filters).
Input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "operation": {
      "type": "string",
      "enum": [
        "query_database",
        "list_data_sources",
        "get_data_source",
        "list_data_source_templates",
        "get_view",
        "list_views",
        "query_view",
        "list_comments",
        "get_comment",
        "list_users",
        "get_user",
        "get_bot_user",
        "get_self",
        "list_file_uploads",
        "get_file_upload",
        "get_file_url",
        "get_image",
        "search_pages",
        "get_page",
        "get_page_markdown",
        "get_block",
        "get_block_children"
      ],
      "description": "The read operation to run. This list is the complete menu of read operations enabled on this server; notion_describe(operation) returns any operation's full schema."
    },
    "payload": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {},
      "description": "Operation parameters. Pass either single-op fields directly, or { items: [...], atomic?, idempotency_key?, concurrency? } for batch."
    }
  },
  "required": [
    "operation",
    "payload"
  ]
}
Annotations
{
  "title": "Notion Read",
  "readOnlyHint": true,
  "destructiveHint": false,
  "idempotentHint": true,
  "openWorldHint": true
}
Read onlyNon-destructiveIdempotentOpen world
notion_writeRun one Notion write operation by name. Archive, trash and delete operations remove content — confirm with the user before running them. Two ways to call: • Single: { operation: "set_page_title", payload: { page_id, title } } • Batch: { operation: "set_page_title", payload: { items: [{page_id, title}, ...], atomic?: false, idempotency_key?: "...", concurrency?: 3 } } create_page, append_blocks, update_block and update_page_markdown also take a markdown string. Responses are slimmed; pass verbose:true inside payload (single) or per item (batch) for the raw Notion object. Every id field (page_id, block_id, database_id, view_id, …) also accepts a Notion URL, as copied from Share → Copy link. If the payload is malformed, the error response includes the schema + a working example so you can correct and retry in one round-trip. Call notion_describe(operation) ahead of time only for complex shapes (block trees, database property definitions, batch_mixed_blocks).
Input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "operation": {
      "type": "string",
      "enum": [
        "create_database",
        "update_database",
        "delete_database",
        "update_data_source",
        "delete_data_source",
        "create_view",
        "update_view",
        "delete_view",
        "add_page_comment",
        "add_discussion_comment",
        "update_comment",
        "delete_comment",
        "upload_file",
        "create_page",
        "set_page_title",
        "set_page_property",
        "set_page_properties",
        "archive_page",
        "trash_page",
        "restore_page",
        "move_page",
        "update_page_markdown",
        "append_blocks",
        "update_block",
        "delete_block",
        "batch_mixed_blocks"
      ],
      "description": "The write operation to run. This list is the complete menu of write operations enabled on this server; notion_describe(operation) returns any operation's full schema."
    },
    "payload": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {},
      "description": "Operation parameters. Pass either single-op fields directly, or { items: [...], atomic?, idempotency_key?, concurrency? } for batch."
    }
  },
  "required": [
    "operation",
    "payload"
  ]
}
Annotations
{
  "title": "Notion Write",
  "readOnlyHint": false,
  "destructiveHint": true,
  "openWorldHint": true
}
WritesDestructiveOpen world

Resources 1

  • operations-indexnotion://operations

    Markdown table of every supported operation, batchability, and one-line description.

Resource templates 2

  • notion-databasenotion://database/{dataSourceId}

    Read a Notion data source's schema by id — notion://database/<data_source_id>.

  • notion-pagenotion://page/{pageId}

    Read any Notion page as markdown by id — notion://page/<page_id>.

Prompts 4

  • create_taskcreate_task

    Create a new task page in Notion with optional status and due date.

  • daily_logdaily_log

    Append a timestamped paragraph to a daily-log page in Notion.

  • find_pagesfind_pages

    Search Notion and show the top 5 matching pages.

  • weekly_reviewweekly_review

    Summarize tasks marked Done in the last 7 days from a Notion database.

Remote endpoints

EndpointTransportAuthenticationHealthObserved
No verified remote endpoint is linked.

notion-mcp-server MCP Server questions

How do I install notion-mcp-server MCP Server?

Install the selected package version with: npm install --save-exact notion-mcp-server@3.0.0

What tools does notion-mcp-server MCP Server provide?

notion-mcp-server MCP Server exposed 3 tools during independent protocol observation, including notion_describe, notion_read, notion_write.

Is notion-mcp-server MCP Server secure?

The selected current version does not yet have completed public verification. Unknown does not mean clean or vulnerable.

Explore related MCP server guides

Curated product and capability guides containing this catalog record.

Official vs Community MCP Servers

Let’s talk about MCP security.

Share your details and our security team will contact you.