mcpField
N
Notion_mcp_server

Notion_mcp_server

本地服务
github.com/grainne-b记忆与知识080 周前更新

关于 Notion_mcp_server

Notion_mcp_server 是一个通过 Notion API 访问指定 Notion 页面的 Python MCP 服务。README 介绍了集成凭据、页面权限,以及在 Claude 中的配置方法。

主要功能

  1. 01配置 Notion API 密钥
  2. 02设置集成的页面权限
  3. 03指定父页面 ID
  4. 04运行和安装 Python 服务

适用场景

  1. 01将集成连接到指定 Notion 页面
  2. 02配置服务以供 Claude 使用

MCP 相关

这是一个 MCP 服务,可通过 `uv run mcp dev server.py` 运行,并通过 `uv run mcp install server.py` 安装到 Claude。README 未说明其提供的工具或资源。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

设置 Notion API 密钥和权限

创建 Notion API 密钥
  1. 前往 Notion 集成页面:

  2. 创建新的集成:

    • 点击“New Integration”,填写所需字段,例如集成名称,并选择要连接的工作区。
  3. 保存集成:

    • 填写完详细信息后,点击“Submit”以创建集成。系统会为你提供一个 API 密钥。
  4. 复制 API 密钥:

    • 复制 API 密钥并妥善保管。你将使用此密钥向 Notion API 验证请求。
授予页面使用集成的权限
  1. 打开 Notion:

    • 前往要授予权限的页面。
  2. 分享页面:

    • 点击页面右上角的“Share”按钮。
  3. 邀请集成:

    • 在“Invite”字段中输入集成的名称,并从下拉列表中选择它。这样集成便可访问该页面。
  4. 设置权限:

    • 确保集成拥有执行所需操作的必要权限(例如,读取、写入)。
更新代码

在 notion_sdk.py 中,将 PAGE_ID 更新为上文创建的页面的 PAGE_ID。 复制页面链接即可获取页面 ID。

为 Python 设置 uv
  1. 使用 Homebrew 安装 uv:

    • 确保系统已安装 Homebrew。
    • 运行以下命令安装 uv:
      brew install uv
      
  2. 验证安装:

    • 运行以下命令,检查 uv 是否已正确安装:
      uv --version
      
  3. 基本用法:

    • 可以使用 uv 运行 Python 脚本:
      uv run <your_script.py>
      

Notion 父页面 ID

https://www.notion.so/MCP-Parent-Page-1d21f7216bdb80789f88fccd964b5031

Curl 示例

curl --location --request POST 'https://api.notion.com/v1/pages' \
--header 'Authorization: Bearer $NOTION_API_KEY' \
--header 'Content-Type: application/json' \
--header 'Notion-Version: 2021-05-13' \
--data '{
"parent": { "page_id": "1d21f7216bdb80789f88fccd964b5031" },
"properties": {
    "title": [
        {
            "text": {
                "content": "Curl example"
            }
        }
    ]
}
}'

注意事项

在 Claude 中安装时,密钥需要硬编码

如何运行

uv run mcp dev server.py

在 Claude 中使用

uv run mcp install server.py

将添加到 claude_desktop_config.json

{
  "mcpServers": {
    "Notion MCP Server": {
      "command": "uv",
      "args": [
        "run",
        "mcp",
        "run",
        "/Users/UBHREGR/Documents/repos/experiments/notion_mcp_server/server.py"
      ],
      "env": {
        "NOTION_API_KEY": "REPLACE_ME"
      }
    }
  }
}
{
  "mcpServers": {
    "Notion MCP Server": {
"command": "bash",
"args": [
  "-c",
  "source /Users/UBHREGR/Documents/repos/experiments/notion_mcp_server/.venv/bin/activate && uv run mcp run /Users/UBHREGR/Documents/repos/experiments/notion_mcp_server/server.py"
      ],
      "env": {
        "NOTION_API_KEY": "TODO"
      }
    }
  }
}

Notion 包

notion-client

用于创建文档字符串的 LLM 提示词

I am building an MCP (Model Context Protocol) server in Python.
The functions I provide will be registered as tools using @mcp.tool() from FastMCP.

Please generate a concise and informative docstring for each function I give you, following this structure:
	•	A one-line summary describing the function’s purpose.
	•	A section called Args: listing each argument with its type and purpose.
	•	A section called Returns: describing the return value and its type.

The docstring should help both humans and LLMs understand how and when to use the tool.

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。