Skip to main content
Glama
gemmy-jaeheon

gemmy-notion-mcp

gemmy-notion-mcp

Notion API MCP 서버. Claude Code에서 Notion 페이지/블록/DB 조작.

Based on awkoy/notion-mcp-server (MIT)

설치

.mcp.json:

{
  "mcpServers": {
    "notion": {
      "command": "npx",
      "args": ["-y", "github:gemmy-jaeheon/gemmy-notion-mcp"],
      "env": {
        "NOTION_TOKEN": "ntn_YOUR_TOKEN",
        "NOTION_PAGE_ID": "YOUR_PAGE_ID"
      }
    }
  }
}

Related MCP server: Notion MCP Server

공식 MCP vs 이 Fork

기능

공식 (@notionhq)

이 Fork

블록 CRUD

✅

✅

데이터베이스

✅

✅

코멘트/유저

✅

✅

배치 작업

❌

✅

부분 실패 처리

❌

✅

Windows 호환

⚠️

✅

기능

블록 (notion_blocks)

Action

설명

append_block_children

블록 추가

retrieve_block

블록 조회

retrieve_block_children

하위 블록 조회

update_block

블록 수정

delete_block

블록 삭제

batch_append_block_children

여러 블록 한번에 추가

batch_update_blocks

여러 블록 한번에 수정

batch_delete_blocks

여러 블록 한번에 삭제

batch_mixed_operations

추가/수정/삭제 혼합

지원 블록: paragraph, heading, callout, quote, toggle, bulleted_list, numbered_list, to_do, code, divider, image

페이지 (notion_pages)

create_page, update_page_properties, archive_page, restore_page, search_pages

데이터베이스 (notion_database)

create_database, query_database, update_database

코멘트 (notion_comments)

get_comments, add_page_comment, add_discussion_comment

유저 (notion_users)

list_users, get_user, get_bot_user

사용 예시

"이 페이지에 체크리스트 3개 추가해줘"
"테스트 DB에서 Status가 Todo인 항목만 조회"
"회의록 페이지 만들고 콜아웃으로 요약 넣어줘"

Available Tools

5 tools
notion_blocksC

Perform various block operations (retrieve, update, delete, append children, batch operations)

NameRequiredDescriptionDefault
payloadYesA union of all possible block operations. Each operation has a specific action and corresponding parameters. Use this schema to validate the input for block operations such as appending, retrieving, updating, deleting, and performing batch operations. Available actions include: 'append_block_children', 'retrieve_block', 'retrieve_block_children', 'update_block', 'delete_block', 'batch_append_block_children', 'batch_update_blocks', 'batch_delete_blocks', and 'batch_mixed_operations'. Each operation requires specific parameters as defined in the corresponding schemas.

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It names 'delete' and 'batch operations' but does not say that delete is an archive (soft delete), that batch operations may be partially failing, whether operations are atomic, what permissions are needed, or that retrieve_block_children paginates. For a 9-action mutating multiplexer this is a substantial gap.

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?

A single short sentence with the scope stated up front and the operation list compactly parenthesized. No filler, though it is arguably too terse for the surface area it fronts.

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

Completeness2/5

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

The tool is a large action-discriminated union with nine branches, no annotations, and no output schema. The description omits action-selection guidance, batch semantics, return behavior, and the soft-delete behavior of delete_block, leaving critical context undocumented despite the rich parameter schema.

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 100% and the per-action const descriptions ('Use this action to append children to a block') already explain each branch, so the schema does the heavy lifting. The description's parenthetical action list maps onto the action enum but adds no syntax, format, or constraint detail beyond it.

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

Purpose4/5

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

The description names the resource (blocks) and enumerates the operations the tool performs (retrieve, update, delete, append children, batch). This distinguishes it from the notion_pages/notion_database siblings by resource scope, though the framing 'various block operations' is slightly loose rather than a single specific verb.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus notion_pages, nor on when to choose single-operation actions over the batch_* variants, nor on the difference between retrieve_block and retrieve_block_children. The per-action schema descriptions carry all the routing logic; the tool description itself provides none.

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

notion_commentsC

Perform various comment operations (get, add to page, add to discussion)

NameRequiredDescriptionDefault
payloadYesA union of all possible comment operations. Each operation has a specific action and corresponding parameters. Use this schema to validate the input for comment operations such as getting, adding to page, and adding to discussion. Available actions include: 'get_comments', 'add_page_comment', and 'add_discussion_comment'. Each operation requires specific parameters as defined in the corresponding schemas.

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden and largely drops it. It does not state that two of the three actions are mutating, that comments cannot be edited or deleted through this tool, what permission level is required, or whether posting notifies users — all material facts for an agent deciding whether to call it.

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

Conciseness3/5

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

It is a single short sentence with no waste, but the brevity reflects under-specification rather than disciplined editing. For a three-action union tool this is too thin to be considered appropriately sized.

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

Completeness2/5

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

The tool is a discriminated union of three actions with a deep nested rich_text schema, no annotations and no output schema. The description supplies none of the connective context an agent needs — action selection, return shape, pagination behavior for get_comments, or how to obtain a discussion_id — so it is well short of adequate for this complexity.

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 100% and the schema is unusually detailed, including per-action descriptions for block_id, page_id, discussion_id and the rich_text union. The description adds nothing beyond that, so the baseline of 3 applies — the schema, not the description, is doing all the work.

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

Purpose4/5

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

The description names the resource (comments) and enumerates the three concrete operations: get, add to page, add to discussion. That distinguishes it from the sibling tools (notion_pages, notion_blocks, notion_database, notion_users), though 'various' adds vagueness and the action naming in the description does not exactly match the schema's action constants.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus the sibling tools, nor on how to choose between the three actions. It also omits prerequisites the agent would need, such as where a discussion_id comes from and whether reading comments requires different access than posting them.

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

notion_databaseC

Perform various database operations (create, query, update)

NameRequiredDescriptionDefault
payloadYesA union of all possible database operations. Each operation has a specific action and corresponding parameters. Use this schema to validate the input for database operations such as creating, querying, and updating databases. Available actions include: 'create_database', 'query_database', and 'update_database'. Each operation requires specific parameters as defined in the corresponding schemas.

TDQS

C2.5/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden and does not meet it. It never discloses that update_database mutates existing schema (potentially destructive to property definitions), that create_database requires a parent, or that query_database is a read-only paginated call. Only the bare word 'update' hints at mutation.

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

Conciseness3/5

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

One short sentence, front-loaded and free of padding, so it is concise. The problem is under-specification rather than verbosity — the space saved is not spent on anything useful.

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

Completeness2/5

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

This is a three-action union tool with a large nested schema and no annotations or output schema. The description should route the agent between actions and between this tool and notion_pages/notion_blocks, but it gives only a parenthetical verb list, leaving an agent unable to confidently choose an action.

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 coverage is 100%, and the payload union itself documents each action and its nested params, so the schema does the heavy lifting. The description merely repeats the action list already present in the payload description, adding no semantic value about action selection or parameter interplay.

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

Purpose3/5

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

The description names the resource (database) and three verbs (create, query, update), which does separate it from siblings like notion_pages and notion_blocks. But 'various database operations' is a vague umbrella that doesn't say what a database operation actually accomplishes or which action maps to which intent.

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

Usage Guidelines2/5

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

There is no when-to-use guidance at all: no statement of when to call this versus notion_pages, no indication of when to pick create vs query vs update, and no prerequisites such as needing a parent page or existing database_id.

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

notion_pagesC

Perform various page operations (create, archive, restore, search, update)

NameRequiredDescriptionDefault
payloadYesA union of all possible page operations. Each operation has a specific action and corresponding parameters. Use this schema to validate the input for page operations such as creating, archiving, restoring, searching, and updating pages. Available actions include: 'create_page', 'archive_page', 'restore_page', 'search_pages', and 'update_page_properties'. Each operation requires specific parameters as defined in the corresponding schemas.

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full burden and discloses almost nothing: it does not say that archive/restore are mutations, that archive is reversible via restore, what permissions or parent-page defaults apply, or that search results are paginated (page_size 1-100, start_cursor). Only the bare action names hint at behavior.

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?

A single front-loaded sentence with no filler. It is efficient, though its brevity borders on under-specification for a five-way multiplexed tool.

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

Completeness3/5

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

No output schema and no annotations mean the description should explain return shape, pagination and destructive semantics, and it does none of these. For a complex action-union tool the rich schema compensates substantially, but an agent reading only the description would not know that archive is destructive-but-reversible or how to page through search results.

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 effectively 100% — the single 'payload' parameter is a fully documented discriminated union with per-action descriptions. The description adds no parameter meaning of its own, so the baseline 3 for high schema coverage applies.

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

Purpose4/5

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

States the resource (Notion pages) and enumerates the five operations (create, archive, restore, search, update), which is enough to distinguish it from siblings notion_blocks, notion_database, notion_comments and notion_users. It is clear at the level of 'page operations' but does not describe what any individual operation does, leaving that to the schema.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus the sibling database/block tools, nor on how to pick among the five actions. The parenthetical action list merely names alternatives rather than stating selection conditions; the actual 'use this action to…' guidance lives in the schema, not the description.

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

notion_usersC

Perform various user operations (list, get, get bot)

NameRequiredDescriptionDefault
payloadYesA union of all possible user operations. Each operation has a specific action and corresponding parameters. Use this schema to validate the input for user operations such as listing, getting a single user, and getting the bot user. Available actions include: 'list_users', 'get_user', and 'get_bot_user'. Each operation requires specific parameters as defined in the corresponding schemas.

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden but discloses almost nothing beyond the operation names. It does not mention permissions, pagination behavior, rate limits, whether listing includes bot users, or any other operational traits.

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

Conciseness3/5

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

The description is a single short sentence with no wasted text, but it is under-specified for a three-action union schema. Being concise is good here, but the terseness leaves important context to the schema.

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

Completeness3/5

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

The input schema is rich and fully describes the available actions and parameters, which covers most invocation needs. However, with no annotations and no output schema, the description should provide more behavioral context, so it is only minimally complete.

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 100%, so the schema already documents the action, page_size, start_cursor, and user_id parameters in detail. The description adds no parameter meaning beyond listing operation categories, so the baseline 3 is appropriate.

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

Purpose4/5

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

The description names the resource (users) and lists the operations (list, get, get bot), making the tool’s purpose clear. It does not explicitly differentiate from sibling tools, but the resource name is sufficient to distinguish it from pages, blocks, database, and comments.

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

Usage Guidelines2/5

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

No guidance is given about when to use this tool versus alternatives, nor about prerequisites or exclusions. The action names imply usage, but the description itself provides no routing context.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 5 tool updatesv1.0.0
    • First observednotion_blocks
    • First observednotion_comments
    • First observednotion_database
    • First observednotion_pages
    • First observednotion_users

TDQS

B3.1/5.0

Scored across 5 tools

Disambiguation4/5

Each tool maps to a distinct Notion resource (pages, blocks, databases, comments, users), so an agent can generally choose the right tool by resource. However, each tool bundles multiple operations, creating some internal ambiguity, and page-level versus block-level updates may be confused in edge cases.

Naming Consistency4/5

All tools use the consistent notion_<resource> prefix, and four of five resources are pluralized uniformly. The singular notion_database is a minor deviation from the otherwise plural resource naming pattern.

Tool Count4/5

Five resource-oriented tools are reasonable for a Notion integration and keep the surface compact. The tradeoff is that several tools are broad multi-operation wrappers rather than focused single-action tools, which makes the count feel slightly under-granular.

Completeness4/5

The surface covers the major Notion resources and supports key lifecycle operations such as page create/archive/restore/search/update, block append/update/delete, and database create/query/update. Some gaps exist, such as explicit page retrieval or delete for databases/comments, but agents can likely work around them.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers