MCP(Multipurpose Control Panel)服务器是一个强大工具,可与 Notion 接口交互。它支持多种操作,如创建、读取、更新和删除数据库项,管理用户,以及处理评论等。本文将详细介绍该服务器的设置、使用和集成方法,并提供完整的中文翻译。
使用默认配置创建 MCP 服务器:
from mcp_server import MCP
mcp = MCP()
运行以下命令启动 MCP 服务器:
python mcp_server.py
默认情况下,服务器将在 http://localhost:5000
上运行。
MCP 服务器支持的主要功能及其详细说明如下:
title
:必需,类型为字符串。parent_page_id
:可选,指定父页面的 ID。page_id
:必需,类型为字符串。page_id
:必需,类型为字符串。properties
:可选,字典格式,包含要更新的属性和值。page_id
:必需,类型为字符串。database_id
:必需,类型为字符串。properties
:必需,字典格式,包含条目的属性和值。database_id
:必需,类型为字符串。page_size
:可选,整数,指定每页显示的条目数量。database_id
:必需,类型为字符串。entry_id
:必需,类型为字符串。properties
:可选,字典格式,包含要更新的属性和值。database_id
:必需,类型为字符串。entry_id
:必需,类型为字符串。query
:可选,字符串,指定搜索关键词。filter
:可选,字典格式,用于限制搜索范围(如仅限于页面或数据库)。user_id
:可选,类型为字符串。username
:可选,类型为字符串。email
:可选,类型为字符串。page_id
:必需,类型为字符串。comment_id
:可选,类型为字符串。content
:必需,类型为字符串。在开始之前,请确保安装以下 Python 库:
notion
:用于与 Notion API 交互。flask
:用于创建 Web 界面(可选)。运行以下命令进行安装:
pip install notion python-dotenv flask
创建一个新目录,并在其中添加以下文件:
config.py
:存储配置信息,如 Notion API 密钥和数据库 ID。mcp_server.py
:主服务器文件,包含 MCP 接口的实现。requirements.txt
:列出所有依赖项。在 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。
如果您有任何问题或反馈,请联系我们的开发团队:
感谢您选择 MCP 服务器!希望它能为您的 Notion 项目带来便利。