← 返回 Skills 市场
mohdalhashemi98-hue

MH notion

作者 mohdalhashemi98-hue · GitHub ↗ · v1.0.0
cross-platform ✓ 安全检测通过
517
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install mh-notion
功能描述
Notion API for creating and managing pages, databases, and blocks.
使用说明 (SKILL.md)

notion

Use the Notion API to create/read/update pages, data sources (databases), and blocks.

Setup

  1. Create an integration at https://notion.so/my-integrations
  2. Copy the API key (starts with ntn_ or secret_)
  3. Store it:
mkdir -p ~/.config/notion
echo "ntn_your_key_here" > ~/.config/notion/api_key
  1. Share target pages/databases with your integration (click "..." → "Connect to" → your integration name)

API Basics

All requests need:

NOTION_KEY=$(cat ~/.config/notion/api_key)
curl -X GET "https://api.notion.com/v1/..." \
  -H "Authorization: Bearer $NOTION_KEY" \
  -H "Notion-Version: 2025-09-03" \
  -H "Content-Type: application/json"

Note: The Notion-Version header is required. This skill uses 2025-09-03 (latest). In this version, databases are called "data sources" in the API.

Common Operations

Search for pages and data sources:

curl -X POST "https://api.notion.com/v1/search" \
  -H "Authorization: Bearer $NOTION_KEY" \
  -H "Notion-Version: 2025-09-03" \
  -H "Content-Type: application/json" \
  -d '{"query": "page title"}'

Get page:

curl "https://api.notion.com/v1/pages/{page_id}" \
  -H "Authorization: Bearer $NOTION_KEY" \
  -H "Notion-Version: 2025-09-03"

Get page content (blocks):

curl "https://api.notion.com/v1/blocks/{page_id}/children" \
  -H "Authorization: Bearer $NOTION_KEY" \
  -H "Notion-Version: 2025-09-03"

Create page in a data source:

curl -X POST "https://api.notion.com/v1/pages" \
  -H "Authorization: Bearer $NOTION_KEY" \
  -H "Notion-Version: 2025-09-03" \
  -H "Content-Type: application/json" \
  -d '{
    "parent": {"database_id": "xxx"},
    "properties": {
      "Name": {"title": [{"text": {"content": "New Item"}}]},
      "Status": {"select": {"name": "Todo"}}
    }
  }'

Query a data source (database):

curl -X POST "https://api.notion.com/v1/data_sources/{data_source_id}/query" \
  -H "Authorization: Bearer $NOTION_KEY" \
  -H "Notion-Version: 2025-09-03" \
  -H "Content-Type: application/json" \
  -d '{
    "filter": {"property": "Status", "select": {"equals": "Active"}},
    "sorts": [{"property": "Date", "direction": "descending"}]
  }'

Create a data source (database):

curl -X POST "https://api.notion.com/v1/data_sources" \
  -H "Authorization: Bearer $NOTION_KEY" \
  -H "Notion-Version: 2025-09-03" \
  -H "Content-Type: application/json" \
  -d '{
    "parent": {"page_id": "xxx"},
    "title": [{"text": {"content": "My Database"}}],
    "properties": {
      "Name": {"title": {}},
      "Status": {"select": {"options": [{"name": "Todo"}, {"name": "Done"}]}},
      "Date": {"date": {}}
    }
  }'

Update page properties:

curl -X PATCH "https://api.notion.com/v1/pages/{page_id}" \
  -H "Authorization: Bearer $NOTION_KEY" \
  -H "Notion-Version: 2025-09-03" \
  -H "Content-Type: application/json" \
  -d '{"properties": {"Status": {"select": {"name": "Done"}}}}'

Add blocks to page:

curl -X PATCH "https://api.notion.com/v1/blocks/{page_id}/children" \
  -H "Authorization: Bearer $NOTION_KEY" \
  -H "Notion-Version: 2025-09-03" \
  -H "Content-Type: application/json" \
  -d '{
    "children": [
      {"object": "block", "type": "paragraph", "paragraph": {"rich_text": [{"text": {"content": "Hello"}}]}}
    ]
  }'

Property Types

Common property formats for database items:

  • Title: {"title": [{"text": {"content": "..."}}]}
  • Rich text: {"rich_text": [{"text": {"content": "..."}}]}
  • Select: {"select": {"name": "Option"}}
  • Multi-select: {"multi_select": [{"name": "A"}, {"name": "B"}]}
  • Date: {"date": {"start": "2024-01-15", "end": "2024-01-16"}}
  • Checkbox: {"checkbox": true}
  • Number: {"number": 42}
  • URL: {"url": "https://..."}
  • Email: {"email": "[email protected]"}
  • Relation: {"relation": [{"id": "page_id"}]}

Key Differences in 2025-09-03

  • Databases → Data Sources: Use /data_sources/ endpoints for queries and retrieval
  • Two IDs: Each database now has both a database_id and a data_source_id
    • Use database_id when creating pages (parent: {"database_id": "..."})
    • Use data_source_id when querying (POST /v1/data_sources/{id}/query)
  • Search results: Databases return as "object": "data_source" with their data_source_id
  • Parent in responses: Pages show parent.data_source_id alongside parent.database_id
  • Finding the data_source_id: Search for the database, or call GET /v1/data_sources/{data_source_id}

Notes

  • Page/database IDs are UUIDs (with or without dashes)
  • The API cannot set database view filters — that's UI-only
  • Rate limit: ~3 requests/second average
  • Use is_inline: true when creating data sources to embed them in pages
安全使用建议
This skill appears to do exactly what it says: call the Notion API using your Notion integration key. Before installing, consider: (1) Prefer providing the key via the platform's declared NOTION_API_KEY env variable or confirm whether the agent will read ~/.config/notion/api_key (the SKILL.md examples use the file); (2) Use a dedicated, least-privilege Notion integration token that you can revoke; (3) Avoid placing the key in a world-readable file — restrict file permissions if you follow the SKILL.md example; (4) Confirm the agent will only send requests to api.notion.com and that you’re comfortable with the agent having that single API key access.
功能分析
Type: OpenClaw Skill Name: mh-notion Version: 1.0.0 The skill bundle provides documentation and examples for interacting with the Notion API. All `curl` commands in `SKILL.md` target the legitimate Notion API endpoint (`https://api.notion.com`). The skill requires a `NOTION_API_KEY` for authentication, which is standard for API integrations. There is no evidence of data exfiltration, malicious execution, persistence mechanisms, or prompt injection attempts designed to subvert the agent's behavior for harmful purposes. The instructions are purely descriptive for using the Notion API.
能力评估
Purpose & Capability
Name/description (Notion API page/database/block management) align with the single requested credential (NOTION_API_KEY) and the curl-based API examples. Required actions (create integration, share pages) are consistent with Notion integrations.
Instruction Scope
SKILL.md stays within the Notion API domain and only references the user's Notion integration and a local config file (~/.config/notion/api_key). However, the examples set NOTION_KEY by reading ~/.config/notion/api_key rather than demonstrating use of the declared env var NOTION_API_KEY — a minor inconsistency in how credentials are expected to be provided.
Install Mechanism
Instruction-only skill with no install steps and no code files, so nothing is written to disk or fetched during installation.
Credentials
Only one credential is required (NOTION_API_KEY), which is appropriate. The SKILL.md shows storing the key in ~/.config/notion/api_key and sourcing it into NOTION_KEY; the registry metadata declares NOTION_API_KEY as the primaryEnv — the mismatch should be clarified but is not disproportionate.
Persistence & Privilege
always is false and there are no install hooks or requests to modify other skill or system-wide configs. Default autonomous invocation is allowed (platform default) but not combined with other concerning privileges.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install mh-notion
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /mh-notion 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
Priority upload batch
元数据
Slug mh-notion
版本 1.0.0
许可证
累计安装 0
当前安装数 0
历史版本数 1
常见问题

MH notion 是什么?

Notion API for creating and managing pages, databases, and blocks. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 517 次。

如何安装 MH notion?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install mh-notion」即可一键安装,无需额外配置。

MH notion 是免费的吗?

是的,MH notion 完全免费(开源免费),可自由下载、安装和使用。

MH notion 支持哪些平台?

MH notion 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 MH notion?

由 mohdalhashemi98-hue(@mohdalhashemi98-hue)开发并维护,当前版本 v1.0.0。

💬 留言讨论