Suekou_mcp Notion Server

Suekou_mcp Notion Server

🚀 Notion MCP 服务器指南

MCP(Multipurpose Control Panel)服务器是一个强大工具,可与 Notion 接口交互。它支持多种操作,如创建、读取、更新和删除数据库项,管理用户,以及处理评论等。本文将详细介绍该服务器的设置、使用和集成方法,并提供完整的中文翻译。

🚀 快速开始

1. 创建 MCP 实例

使用默认配置创建 MCP 服务器:

from mcp_server import MCP

mcp = MCP()

2. 启动服务器

运行以下命令启动 MCP 服务器:

python mcp_server.py

默认情况下,服务器将在 http://localhost:5000 上运行。

✨ 主要特性

MCP 服务器支持的主要功能及其详细说明如下:

  1. 创建页面
    • 描述:在 Notion 工作区中创建新页面。
    • 参数
      • title:必需,类型为字符串。
      • parent_page_id:可选,指定父页面的 ID。
  2. 读取页面内容
    • 描述:获取指定页面的内容和属性。
    • 参数
      • page_id:必需,类型为字符串。
  3. 更新页面属性
    • 描述:更新现有页面的属性或内容。
    • 参数
      • page_id:必需,类型为字符串。
      • properties:可选,字典格式,包含要更新的属性和值。
  4. 删除页面
    • 描述:从 Notion 工作区中删除指定页面。
    • 参数
      • page_id:必需,类型为字符串。
  5. 创建数据库条目
    • 描述:在指定的 Notion 数据库中创建新条目。
    • 参数
      • database_id:必需,类型为字符串。
      • properties:必需,字典格式,包含条目的属性和值。
  6. 读取数据库内容
    • 描述:获取指定数据库的所有条目。
    • 参数
      • database_id:必需,类型为字符串。
      • page_size:可选,整数,指定每页显示的条目数量。
  7. 更新数据库条目
    • 描述:更新现有数据库条目的属性或内容。
    • 参数
      • database_id:必需,类型为字符串。
      • entry_id:必需,类型为字符串。
      • properties:可选,字典格式,包含要更新的属性和值。
  8. 删除数据库条目
    • 描述:从指定数据库中删除特定条目。
    • 参数
      • database_id:必需,类型为字符串。
      • entry_id:必需,类型为字符串。
  9. 搜索内容
    • 描述:在 Notion 工作区中搜索页面、数据库和评论。
    • 参数
      • query:可选,字符串,指定搜索关键词。
      • filter:可选,字典格式,用于限制搜索范围(如仅限于页面或数据库)。
  10. 管理用户
    • 描述:列出所有用户、获取特定用户的详细信息以及创建新用户。
    • 参数
      • user_id:可选,类型为字符串。
      • username:可选,类型为字符串。
      • email:可选,类型为字符串。
  11. 处理评论
    • 描述:在页面上创建、读取、更新和删除评论。
    • 参数
      • page_id:必需,类型为字符串。
      • comment_id:可选,类型为字符串。
      • content:必需,类型为字符串。

📦 安装指南

1. 安装依赖

在开始之前,请确保安装以下 Python 库:

  • notion:用于与 Notion API 交互。
  • flask:用于创建 Web 界面(可选)。

运行以下命令进行安装:

pip install notion python-dotenv flask

2. 初始化项目结构

创建一个新目录,并在其中添加以下文件:

  • config.py:存储配置信息,如 Notion API 密钥和数据库 ID。
  • mcp_server.py:主服务器文件,包含 MCP 接口的实现。
  • requirements.txt:列出所有依赖项。

3. 配置环境变量

config.py 中添加以下内容:

NOTION_TOKEN = "your_notion_token"
DATABASE_ID = "your_database_id"

💻 使用示例

基础用法

创建新页面

mcp.create_page(title="My New Page", parent_page_id="parent_page_id")

更新现有页面属性

properties = {
"Status": "Published",
"Priority": "High"
}
mcp.update_page_properties(page_id="page_id", properties=properties)

搜索内容

results = mcp.search_content(query="search_term")
for result in results:
print(result.title, result.type)

📚 详细文档

教程

创建新页面

以下是一个创建新页面的示例代码:

mcp.create_page(title="My New Page", parent_page_id="parent_page_id")

更新现有页面属性

更新页面属性的示例代码如下:

properties = {
"Status": "Published",
"Priority": "High"
}
mcp.update_page_properties(page_id="page_id", properties=properties)

搜索内容

搜索 Notion 工作区中的内容,可以使用以下代码:

results = mcp.search_content(query="search_term")
for result in results:
print(result.title, result.type)

错误处理

MCP 服务器提供了详细的错误处理机制,包括验证错误、授权错误和网络错误。所有错误都会抛出相应的异常,并附带错误信息。

示例

try:
mcp.create_page(title="", parent_page_id="parent_id")
except ValueError as e:
print(e)

📄 许可证

MCP 服务器遵循 MIT 许可证,允许您自由使用、修改和分发该软件。完整的许可内容如下:


MIT 许可证

版权所有 (c) [年份] [姓名]

特此免费授予任何获得本软件及相关文档文件(“软件”)副本的人不受限制地处理本软件的权利,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本的权利,并允许向其提供软件的人这样做。

软件按“原样”提供,不附带任何形式的明示或暗示保证,包括但不限于适销性、特定用途适用性和不侵权的保证。在任何情况下,作者或版权持有人均不对因合同、侵权或其他方式引起的任何索赔、损害或其他责任负责,无论是在与软件或软件的使用或其他交易有关的任何行动中。


贡献指南

我们欢迎社区的贡献!如果您发现任何问题或有任何改进想法,请访问我们的 GitHub 仓库提交 Issue 或 Pull Request。

如何贡献

  1. Fork 该项目。
  2. 创建新的功能分支。
  3. 提交您的更改。
  4. Push 到远程仓库并创建 Pull Request。

联系我们

如果您有任何问题或反馈,请联系我们的开发团队:

  • 邮件:contact@notionmcp.com
  • GitHub:https://github.com/notionmcp

感谢您选择 MCP 服务器!希望它能为您的 Notion 项目带来便利。

  • 0 关注
  • 0 收藏,10 浏览
  • system 提出于 2025-09-28 22:54

相似服务问题