Skip to main content
Glama
Ejb503

SystemPrompt MCP Notion Server

by Ejb503

systemprompt-mcp-notion

npm version Coverage Status Twitter Follow Discord

Website | Documentation

SystemPrompt MCP Notion Server

A high-performance Model Context Protocol (MCP) server that seamlessly integrates Notion into your AI workflows. This server enables AI agents to interact with Notion pages and databases through a standardized protocol. This server supports and requires MCP Sampling, which is required to the MCP to create and update Notion pages.

A compatible MCP client is available here.

Server Capabilities

const serverCapabilities: { capabilities: ServerCapabilities } = {
  capabilities: {
    resources: {
      listChanged: true,
    },
    tools: {},
    prompts: {
      listChanged: true,
    },
    sampling: {},
  },
};

Related MCP server: Notion MCP Server

Key Features

  • 📝 Comprehensive Content Management

    • Create and update pages with rich text formatting

    • Search across your Notion workspace

  • 🛠 Developer-Friendly

    • Extensive test coverage with Jest

    • TypeScript support

    • Comprehensive error handling

    • Detailed logging and debugging tools

Prerequisites

Before using this server, you'll need:

  1. Systemprompt API Key (Free)

  2. Notion Account and Workspace

    • Active Notion account

    • Workspace with content you want to access

  3. Notion Integration

  4. MCP-Compatible Client

Quick Start

  1. Installation

    Installing via Smithery

    To install systemprompt-mcp-notion for Claude Desktop automatically via Smithery:

    npx -y @smithery/cli install systemprompt-mcp-notion --client claude
    npm install systemprompt-mcp-notion
  2. Configuration Create a .env file:

    SYSTEMPROMPT_API_KEY=your_systemprompt_api_key
    NOTION_API_KEY=your_notion_integration_token
  3. MCP Configuration Add the following to your MCP configuration JSON:

    {
      "mcpServers": {
        "notion": {
          "command": "npx",
          "args": ["systemprompt-mcp-notion"],
          "env": {
            "SYSTEMPROMPT_API_KEY": "your_systemprompt_api_key",
            "NOTION_API_KEY": "your_notion_integration_token"
          }
        }
      }
    }

    Alternatively, if you've installed the package locally:

    {
      "mcpServers": {
        "notion": {
          "command": "node",
          "args": ["./node_modules/systemprompt-mcp-notion/build/index.js"],
          "env": {
            "SYSTEMPROMPT_API_KEY": "your_systemprompt_api_key",
            "NOTION_API_KEY": "your_notion_integration_token"
          }
        }
      }
    }

Development

Setup

  1. Clone the repository:

    git clone https://github.com/systemprompt-io/systemprompt-mcp-notion.git
    cd systemprompt-mcp-notion
  2. Install dependencies:

    npm install
  3. Set up environment:

    cp .env.example .env
    # Edit .env with your API keys

Testing

We maintain high test coverage using Jest:

# Run all tests
npm test

# Watch mode for development
npm run test:watch

# Generate coverage report
npm run test:coverage

# Test Notion API connection
npm run test:notion

Available Tools

8 tools
systemprompt_create_notion_pageB

Creates a rich, comprehensive Notion page that expands upon basic user inputs. Takes simple instructions and content, then generates a detailed, well-structured page with appropriate sections, formatting, and supplementary content.

ParametersJSON Schema
NameRequiredDescriptionDefault
databaseIdYesThe ID of the database to create the page in
userInstructionsYesBasic instructions or outline for the page content. These will be expanded into a comprehensive structure with appropriate sections, formatting, and enhanced detail. Can include desired title, key points, or general direction.

TDQS

B3.3/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 full burden. It mentions the tool 'expands upon basic user inputs' and generates 'detailed, well-structured' content, but lacks critical behavioral details: permissions required, whether creation is idempotent, rate limits, or what happens on failure. For a write operation with zero annotation coverage, this is insufficient.

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?

The description is two sentences that efficiently convey the core functionality without wasted words. It's front-loaded with the main purpose and follows with elaboration. Minor room for improvement in tightening phrasing.

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?

Given this is a write operation with no annotations and no output schema, the description is incomplete. It doesn't cover error handling, response format, or important behavioral constraints like authentication needs. For a tool that creates content in an external system, more context is needed.

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 both parameters thoroughly. The description adds marginal value by explaining that userInstructions are 'expanded into a comprehensive structure,' but doesn't provide additional syntax or format details beyond what the schema states. Baseline 3 is appropriate when schema does the heavy lifting.

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

Purpose5/5

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

The description clearly states the tool creates a Notion page with specific characteristics: 'Creates a rich, comprehensive Notion page that expands upon basic user inputs.' It distinguishes from siblings like get_notion_page (read) and update_notion_page (modify) by emphasizing creation and content expansion.

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

Usage Guidelines3/5

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

The description implies usage when needing to create detailed pages from simple inputs, but doesn't explicitly state when to use this vs. alternatives like update_notion_page or when not to use it. No prerequisites or exclusions are mentioned.

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

systemprompt_delete_notion_pageA

Permanently deletes a specified Notion page and all its contents. This action cannot be undone, so use with caution.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageIdYesThe unique identifier of the Notion page to delete. Must be a valid Notion page ID. Warning: deletion is permanent.

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations provided, the description carries full burden of behavioral disclosure. It effectively communicates the permanent nature of deletion ('cannot be undone'), which is crucial for a destructive operation. However, it doesn't mention permission requirements, rate limits, or what happens to linked content beyond the page itself.

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

Conciseness5/5

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

The description is perfectly concise with two sentences that each earn their place: the first states the action and scope, the second provides the crucial warning about irreversibility. No wasted words, front-loaded with the core functionality.

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

Completeness4/5

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

For a destructive operation with no annotations and no output schema, the description does well by emphasizing permanence and caution. However, it could be more complete by mentioning permission requirements or what the tool returns (e.g., success/failure confirmation). The high schema coverage helps compensate somewhat.

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 single parameter (pageId) with its type, description, and warning. The description doesn't add any parameter-specific information beyond what's in the schema, maintaining the baseline score when schema coverage is high.

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

Purpose5/5

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

The description clearly states the specific action ('permanently deletes') and resource ('a specified Notion page and all its contents'), distinguishing it from sibling tools like create, get, list, search, and update operations. It precisely communicates the destructive nature of the operation.

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

Usage Guidelines4/5

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

The description provides clear context for when to use this tool ('use with caution') due to its irreversible nature, but doesn't explicitly mention when not to use it or name specific alternatives. It implies usage for deletion scenarios but lacks explicit guidance on alternatives like archiving or moving content.

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

systemprompt_get_notion_pageA

Retrieves comprehensive details of a specific Notion page, including its content, properties, and metadata. Returns the complete page structure and all nested content blocks.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageIdYesThe unique identifier of the Notion page to retrieve. Must be a valid Notion page ID.

TDQS

A3.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 full burden. It mentions the return content but doesn't disclose behavioral traits like authentication needs, rate limits, error handling, or whether it's read-only (implied by 'Retrieves' but not explicit). This is a significant gap for a tool with no annotation coverage.

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

Conciseness5/5

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

The description is appropriately sized and front-loaded, with two efficient sentences that convey purpose and return value without waste. Every sentence earns its place by adding value.

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?

Given no annotations, no output schema, and a simple input schema, the description is adequate but incomplete. It explains what the tool does and returns, but lacks details on behavioral aspects like permissions or errors, which are important for a retrieval tool in a Notion context.

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 single parameter 'pageId' with its description. The description doesn't add meaning beyond what the schema provides, such as format examples or constraints. Baseline 3 is appropriate when schema does the heavy lifting.

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

Purpose5/5

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

The description clearly states the verb ('Retrieves') and resource ('specific Notion page'), specifying what it returns ('comprehensive details... including content, properties, metadata, complete page structure, nested content blocks'). It distinguishes from siblings like list/search tools by focusing on a single page retrieval.

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

Usage Guidelines3/5

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

The description implies usage for getting details of a specific page, but doesn't explicitly state when to use this vs. alternatives like list_notion_pages or search_notion_pages. It mentions retrieving 'comprehensive details,' which suggests depth, but lacks explicit guidance on prerequisites or exclusions.

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

systemprompt_list_notion_databasesA

Lists all accessible Notion databases in your workspace, sorted by last edited time. Returns key metadata including database title, schema, and last edited timestamp.

ParametersJSON Schema
NameRequiredDescriptionDefault
maxResultsNoMaximum number of databases to return in the response. Defaults to 50 if not specified.

TDQS

A4/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It describes the operation as a list function with sorting and return metadata, which implies a read-only, non-destructive action. However, it does not address potential limitations such as pagination, rate limits, authentication requirements, or error conditions, leaving gaps in behavioral context.

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

Conciseness5/5

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

The description is a single, well-structured sentence that efficiently conveys the tool's purpose, sorting, and return details without any redundant or extraneous information. It is front-loaded with the core action and appropriately sized for its complexity.

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

Completeness4/5

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

Given the tool's low complexity (1 parameter, no output schema, no annotations), the description is mostly complete, covering purpose, sorting, and return metadata. However, it lacks details on behavioral aspects like pagination or error handling, which could be relevant for a list operation, preventing a perfect score.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage for its single parameter ('maxResults'), so the baseline is 3. The description adds value by specifying the sorting ('by last edited time') and return content ('key metadata including database title, schema, and last edited timestamp'), which are not covered in the schema, elevating the score to 4.

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

Purpose5/5

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

The description clearly states the specific action ('Lists all accessible Notion databases'), resource ('Notion databases'), and scope ('in your workspace'), with additional details about sorting ('by last edited time') and return content ('key metadata including database title, schema, and last edited timestamp'). It distinguishes itself from sibling tools like 'systemprompt_list_notion_pages' by focusing on databases rather than pages.

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

Usage Guidelines3/5

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

The description implies usage for retrieving database metadata, but it does not explicitly state when to use this tool versus alternatives like 'systemprompt_search_notion_pages' or provide any exclusions. It lacks guidance on prerequisites or specific contexts where this tool is preferred, leaving usage inferred rather than clearly defined.

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

systemprompt_list_notion_pagesA

Lists all accessible Notion pages in your workspace, sorted by last edited time. Returns key metadata including title, URL, and last edited timestamp.

ParametersJSON Schema
NameRequiredDescriptionDefault
maxResultsNoMaximum number of pages to return in the response. Defaults to 50 if not specified.

TDQS

A3.9/5.0
Behavior3/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 discloses key behavioral traits such as sorting order and metadata returned, but lacks details on permissions required, pagination behavior, rate limits, or error handling. The description does not contradict any annotations, but for a tool with no annotations, it provides only moderate transparency.

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

Conciseness5/5

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

The description is front-loaded with the core purpose in the first sentence and adds essential details in the second, with no wasted words. It efficiently conveys the tool's functionality, sorting, and output in two concise sentences, making it easy to parse and understand quickly.

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?

Given no annotations and no output schema, the description provides basic completeness by stating the action, sorting, and metadata returned. However, it lacks details on authentication needs, response format beyond metadata names, or limitations, which are important for a list operation with potential access controls. It is adequate but has clear gaps in context.

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%, with the single parameter 'maxResults' fully documented in the schema. The description does not add any parameter-specific information beyond what the schema provides, such as default behavior or constraints. With high schema coverage, the baseline score of 3 is appropriate as the description does not compensate but also does not detract.

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

Purpose5/5

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

The description clearly states the specific action ('Lists all accessible Notion pages'), resource ('Notion pages'), and scope ('in your workspace'), with explicit sorting ('sorted by last edited time') and output details ('Returns key metadata including title, URL, and last edited timestamp'). It distinguishes from siblings like 'systemprompt_search_notion_pages' by emphasizing comprehensive listing without search filters.

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

Usage Guidelines4/5

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

The description implies usage for retrieving all pages in a workspace, sorted by recency, which provides clear context. However, it does not explicitly state when to use this tool versus alternatives like 'systemprompt_search_notion_pages' or 'systemprompt_list_notion_databases', nor does it mention exclusions or prerequisites, leaving some ambiguity in sibling differentiation.

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

systemprompt_search_notion_pagesB

Performs a full-text search across all accessible Notion pages using the provided query. Searches through titles, content, and metadata to find relevant matches.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSearch query to find relevant Notion pages. Can include keywords, phrases, or partial matches.
maxResultsNoMaximum number of search results to return. Defaults to 10 if not specified.

TDQS

B3.2/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 mentions the search scope ('all accessible Notion pages') and what gets searched, but lacks critical behavioral details: it doesn't specify authentication requirements, rate limits, pagination behavior, error conditions, or what 'accessible' means in practice. For a search tool with no annotation coverage, this leaves significant gaps.

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?

The description is two concise sentences that efficiently convey the core functionality. The first sentence states the action and scope, the second adds detail about what's searched. There's no fluff, but it could be slightly more structured (e.g., explicitly separating scope from behavior).

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?

Given the tool's moderate complexity (search operation), no annotations, and no output schema, the description is minimally adequate. It covers the basic purpose and scope but lacks details on authentication, pagination, error handling, and output format. It doesn't fully compensate for the missing structured data, leaving the agent with incomplete operational context.

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 fully documents both parameters. The description adds no additional parameter semantics beyond what's in the schema descriptions. It mentions 'provided query' and 'relevant matches' but doesn't elaborate on query syntax, ranking, or result format. Baseline 3 is appropriate when the schema does 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 clearly states the tool's purpose: 'Performs a full-text search across all accessible Notion pages using the provided query.' It specifies the verb (search), resource (Notion pages), and scope (all accessible). However, it doesn't explicitly differentiate from its sibling 'systemprompt_search_notion_pages_by_title', which appears to be a more specific variant.

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

Usage Guidelines3/5

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

The description implies usage by mentioning what gets searched (titles, content, metadata) and that it's for 'relevant matches.' However, it doesn't provide explicit guidance on when to use this tool versus alternatives like 'systemprompt_search_notion_pages_by_title' or 'systemprompt_list_notion_pages', nor does it mention any prerequisites or exclusions.

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

systemprompt_search_notion_pages_by_titleA

Searches specifically for Notion pages with titles matching the provided query. Useful for finding exact or similar title matches when you know the page name.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesTitle text to search for. Can be exact or partial match.
maxResultsNoMaximum number of matching pages to return. Defaults to 10 if not specified.

TDQS

A3.7/5.0
Behavior3/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 mentions the search behavior ('exact or similar title matches') which is useful. However, it doesn't disclose important behavioral traits like whether this is a read-only operation, authentication requirements, rate limits, pagination behavior, or what the return format looks like. The description adds some value but leaves significant gaps for a search tool.

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

Conciseness5/5

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

The description is perfectly concise with two sentences that each earn their place. The first sentence states the core purpose, and the second provides usage guidance. There's zero waste or redundancy, and the information is front-loaded appropriately.

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?

Given that this is a search tool with no annotations and no output schema, the description should do more to explain what the tool returns and its behavioral characteristics. While it adequately covers the basic purpose and usage context, it doesn't address the output format, error conditions, or other operational details that would help an agent use it effectively.

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 fully documents both parameters. The description adds marginal value by reinforcing that the search can be 'exact or partial match' for the title parameter, but this is essentially restating what the schema already says. With complete schema coverage, the baseline is 3 even without additional parameter information in the description.

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 clearly states the tool's purpose: 'Searches specifically for Notion pages with titles matching the provided query.' It specifies the verb (searches), resource (Notion pages), and scope (by title). However, it doesn't explicitly distinguish this from the sibling tool 'systemprompt_search_notion_pages' which appears to be a more general search tool.

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

Usage Guidelines4/5

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

The description provides clear context for when to use this tool: 'Useful for finding exact or similar title matches when you know the page name.' This gives practical guidance about the appropriate scenario. However, it doesn't explicitly state when NOT to use it or mention alternatives like the general 'systemprompt_search_notion_pages' sibling tool.

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

systemprompt_update_notion_pageB

Updates an existing Notion page with rich, comprehensive content based on user instructions. Takes simple inputs and transforms them into well-structured, detailed page content while preserving existing information. Can enhance, reorganize, or expand the current content while maintaining page integrity.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageIdYesThe unique identifier of the Notion page to update. Must be a valid Notion page ID.
userInstructionsYesNatural language instructions for updating the page. These will be expanded into comprehensive changes, potentially including new sections, enhanced formatting, additional context, and improved structure while respecting existing content. Can include specific changes, content additions, or general directions for improvement.

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden but only partially discloses behavioral traits. It mentions 'preserving existing information' and 'maintaining page integrity,' which suggests non-destructive updates, but doesn't cover critical aspects like authentication requirements, rate limits, error conditions, or what happens if the pageId is invalid. The description is insufficient for a mutation tool with zero annotation coverage.

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?

The description is appropriately sized with three sentences that are front-loaded with the core purpose. Each sentence adds value: the first states the action, the second explains the transformation process, and the third clarifies the scope of changes. There's minimal waste, though it could be slightly more concise.

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?

Given this is a mutation tool with no annotations and no output schema, the description is incomplete. It doesn't explain what the tool returns (e.g., success confirmation, updated page data), error handling, or important behavioral constraints. For a tool that modifies data, this leaves significant gaps in understanding its operation.

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?

The schema description coverage is 100%, so the schema already fully documents both parameters (pageId and userInstructions). The description adds some context about transforming 'simple inputs' into 'well-structured, detailed content,' but doesn't provide additional semantic meaning beyond what's in the schema descriptions. Baseline 3 is appropriate when schema does the heavy lifting.

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 clearly states the tool 'updates an existing Notion page with rich, comprehensive content based on user instructions' and distinguishes it from siblings like create_notion_page and delete_notion_page by focusing on modifying existing content. However, it doesn't explicitly differentiate from get_notion_page or search tools, which prevents a perfect score.

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

Usage Guidelines3/5

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

The description implies usage for enhancing, reorganizing, or expanding existing Notion page content, but doesn't explicitly state when to use this tool versus alternatives like create_notion_page for new pages or get_notion_page for reading. No clear exclusions or prerequisites are mentioned.

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

TDQS

A3.7/5.0
Disambiguation4/5

Most tools have distinct purposes, such as create, delete, get, list, and update for pages, and list for databases. However, there is some overlap between 'systemprompt_search_notion_pages' and 'systemprompt_search_notion_pages_by_title', as both handle page searches, which could cause confusion for an agent. The descriptions help clarify the difference, but the overlap is notable.

Naming Consistency5/5

All tool names follow a consistent 'systemprompt_verb_notion_noun' pattern, with verbs like create, delete, get, list, search, and update, and nouns like page, pages, or databases. This uniformity makes the tool set predictable and easy to navigate, with no deviations in naming style.

Tool Count5/5

With 8 tools, the server is well-scoped for managing Notion pages and databases, covering essential operations like CRUD for pages, listing resources, and searching. Each tool serves a clear purpose without redundancy, making the count appropriate for the domain.

Completeness4/5

The tool set provides comprehensive coverage for Notion page management, including create, read, update, delete, list, and search operations, and extends to databases with listing. A minor gap is the lack of tools for managing databases beyond listing, such as creating or updating them, but core workflows for pages are fully covered.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • -
    license
    Not graded
    quality
    Not graded
    maintenance
    An MCP server that enables natural language interaction with the Notion API, allowing users to search, comment, create pages, and access content within their Notion workspace.
    172,212
  • A
    license
    A
    quality
    C
    maintenance
    An MCP server for Notion API with optimized token efficiency and full database property filtering, enabling AI assistants to manage pages, databases, and blocks.
    32
    38
    1
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Ejb503/systemprompt-mcp-notion'

If you have feedback or need assistance with the MCP directory API, please join our Discord server