Notion MCP

Notion MCP

一个模型上下文协议服务器,与 Notion API 集成,用于管理个人待办事项列表,允许用户直接从 Claude 查看、添加和更新任务。

笔记
访问服务器

README

notion-mcp

smithery badge

一个简单的模型上下文协议 (MCP) 服务器,它与 Notion 的 API 集成,用于管理我的个人待办事项列表。

演示

Demo

可视化指南

Notion MCP 查询 1

Notion MCP 查询 1

Notion MCP 查询 2

Notion MCP 查询 1

Notion MCP 查询 3

Notion MCP 查询 1

前提条件

  • Python 3.11 或更高版本
  • 一个具有 API 访问权限的 Notion 帐户
  • 一个 Notion 集成令牌
  • 一个您想在其中管理待办事项列表的 Notion 页面
  • Claude Desktop 客户端

安装

通过 Smithery 安装

要通过 Smithery 自动为 Claude Desktop 安装 Notion MCP:

npx -y @smithery/cli install @Badhansen/notion-mcp --client claude
  1. 克隆存储库:
git clone https://github.com/Badhansen/notion-mcp.git
cd notion-mcp
  1. 设置 Python 环境:
uv venv
source .venv/bin/activate
uv pip install -e .
  1. 创建 Notion 集成:
    • 前往 https://www.notion.so/my-integrations
    • 创建新的集成
    • 复制 API 密钥
  2. 与集成共享您的数据库/页面:
    • 使用数据库/表格或页面打开您的 notion 工作区。
    • 单击“...”菜单 → “添加连接”
    • 选择您的集成(按名称搜索)

配置

  1. 创建 .env 文件:
cp .env.example .env
  1. .env 中配置 Notion 凭据:
NOTION_TOKEN=<your-notion-api-token>
PAGE_ID=<your-notion-page-id>
NOTION_VERSION="2022-06-28"
NOTION_BASE_URL="https://api.notion.com/v1"
  1. 要按预期与 Claude Desktop 一起使用,您需要调整您的 claude_desktop_config.json 文件。 转到 Claude Desktop -> Settings -> Developer -> Edit Config。 现在添加 Notion 服务器配置。
{
    "mcpServers": {
        "notion-mcp": {
            "command": "uv",
            "args": [
                "--directory",
                "/Users/username/Projects/Python/notion-mcp/src" /* 项目路径 */,
                "run",
                "server.py"
            ]
        }
    }
}

开发

项目结构:

notion-mcp/
├── docs/
├── src/
│ └── server.py
├── .env
├── .python-version
├── README.md
├── pyproject.toml
└── uv.lock

支持函数

显示任务

要显示 Notion 工作区中的所有任务,请使用 show_all_todos 函数:

{
    "name": "show_all_todos",
    "arguments": {}
}

添加任务

要向 Notion 工作区添加新任务,请使用 add_todo 函数:

{
    "name": "add_todo",
    "arguments": {
        "task": "您的任务描述"
    }
}

更新任务

要更新 Notion 工作区中的现有任务,请使用 complete_todo 函数:

{
    "name": "complete_todo",
    "arguments": {
        "task_id": "您的任务 ID"
    }
}

贡献

  1. Fork 存储库
  2. 创建功能分支
  3. 提交 pull request

许可证

MIT 许可证。 有关详细信息,请参见 LICENSE 文件。

推荐服务器

Apple MCP Server

Apple MCP Server

通过 MCP 协议与 Apple 应用(如“信息”、“备忘录”和“通讯录”)进行交互,从而使用自然语言发送消息、搜索和打开应用内容。

精选
本地
TypeScript
Notion API MCP Server

Notion API MCP Server

使用 Notion API 实现高级待办事项列表管理和内容组织,支持创建数据库、动态筛选和协作任务跟踪等功能。

精选
Python
Todoist MCP Server

Todoist MCP Server

将 Claude 与 Todoist 集成,实现自然语言任务管理,支持使用日常语言进行项目和版块组织、任务创建、更新、完成和删除。

精选
JavaScript
Curri MCP Server

Curri MCP Server

通过管理文本笔记、提供笔记创建工具以及使用结构化提示生成摘要,从而实现与 Curri API 的交互。

官方
本地
JavaScript
Inkdrop MCP Server

Inkdrop MCP Server

通过模型上下文协议将 Inkdrop 笔记应用与 Claude AI 集成,允许 Claude 在您的 Inkdrop 数据库中搜索、阅读、创建和更新笔记。

官方
本地
JavaScript
Notion MCP Server

Notion MCP Server

通过将 Notion API 作为 LLM 的工具公开,从而实现与 Notion 的交互。这使得可以通过自然语言无缝地进行读取、创建、更新和删除 Notion 页面等操作。

官方
TypeScript
Obsidian MCP REST Server

Obsidian MCP REST Server

为人工智能助手提供一个标准化的接口,通过本地 REST API 与 Obsidian vault 进行交互,从而实现笔记的读取、写入、搜索和管理。

本地
TypeScript
MCP Tasks Organizer

MCP Tasks Organizer

一个 MCP 服务器,可以将 Cursor agent 计划转换为结构化的 Markdown 任务列表,并将其组织在您的存储库中,帮助您将 AI 生成的计划和建议作为可执行的规范进行跟踪。

本地
Python
Branch Thinking MCP Server

Branch Thinking MCP Server

一个 MCP 服务器,用于通过分支导航思维过程,支持思维交叉引用和优先级跟踪,以增强洞察力生成和结构化想法探索。

本地
TypeScript
MCP-AnkiConnect

MCP-AnkiConnect

一个 MCP 服务器,集成了 Claude 和 Anki 抽认卡,允许用户直接通过对话复习到期卡片并创建新的抽认卡。 (Alternatively, a slightly more formal translation:) 一个 MCP 服务器,整合了 Claude 与 Anki 闪卡功能,使用户能够通过对话直接复习待复习的卡片并创建新的闪卡。 **Explanation of Choices:** * **MCP Server:** I kept this as "MCP 服务器" as it's likely a specific technical term that's best left untranslated unless more context is provided. * **Claude:** Left as "Claude" as it's a proper noun (the name of the AI). * **Anki flashcards:** Translated as "Anki 抽认卡" (chōu rèn kǎ) or "Anki 闪卡" (shǎn kǎ). Both are common translations for "flashcards" in the context of Anki. "抽认卡" is slightly more formal. * **Review due cards:** Translated as "复习到期卡片" (fùxí dàoqí kǎpiàn) or "复习待复习的卡片" (fùxí dài fùxí de kǎpiàn). Both convey the meaning of reviewing cards that are due for review. The second option is slightly more explicit. * **Create new flashcards:** Translated as "创建新的抽认卡" (chuàngjiàn xīnde chōu rèn kǎ) or "创建新的闪卡" (chuàngjiàn xīnde shǎn kǎ). * **Directly through conversation:** Translated as "直接通过对话" (zhíjiē tōngguò duìhuà). The choice between the two options depends on the desired level of formality and explicitness.

本地
Python