mcp-server-notion


Namemcp-server-notion JSON
Version 0.2.1 PyPI version JSON
download
home_pageNone
SummaryA Model Context Protocol Tool for Notion integration and automation
upload_time2025-07-20 05:59:37
maintainerNone
docs_urlNone
authorshpark
requires_python>=3.10
licenseMIT
keywords automation llm mcp notion tool
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # mcp-server-notion

Notion과 연동되는 Model Context Protocol(MCP) 서버 툴입니다. 이 서버는 외부 시스템 또는 LLM 기반 에이전트가 Notion 데이터베이스에 자동으로 내용을 추가하거나, 다양한 노션 자동화 작업을 수행할 수 있도록 지원합니다.

## 주요 기능
- Notion 데이터베이스에 자동으로 콘텐츠 생성
- MCP 표준 프로토콜 기반의 툴 등록 및 호출
- Python 기반의 간단한 확장성

## 설치 방법

1. 패키지 설치 (PyPI 배포 후)
```bash
pip install mcp-server-notion
```

2. 의존성 설치 (개발 환경)
```bash
pip install -r requirements.txt
```

## 실행 방법

### uvx 또는 python -m 으로 실행
```bash
uvx mcp-server-notion
# 또는
python -m mcp_server_notion
```

### MCP 서버 등록 예시 (mcp.json)
```json
{
  "mcpServers": {
    "notion": {
      "command": "uvx",
      "args": ["mcp-server-notion"]
    }
  }
}
```

## 사용 예시

- 노션 API 토큰과 parent_id(페이지/데이터베이스 ID)를 준비합니다.
- MCP 툴 프롬프트 예시:

```
notion_create_page 툴을 사용해서 노션에 페이지를 만들어줘.
notion_token: [YOUR_NOTION_TOKEN]
parent_id: [YOUR_PAGE_OR_DATABASE_ID]
title: 예시 제목
content: 예시 내용
```

## 배포 방법

### 자동 배포 (GitHub Actions)

이 프로젝트는 GitHub Actions를 통해 자동으로 PyPI에 배포됩니다.

#### 1. PyPI API 토큰 설정
1. [PyPI](https://pypi.org)에 로그인
2. Account Settings → API tokens → Add API token
3. Token name: `github-actions`
4. Scope: `Entire account (all projects)`
5. 생성된 토큰을 복사

#### 2. GitHub Secrets 설정
1. GitHub 저장소 → Settings → Secrets and variables → Actions
2. "New repository secret" 클릭
3. Name: `PYPI_API_TOKEN`
4. Value: 위에서 생성한 PyPI API 토큰

#### 3. 배포 트리거
- **태그 기반 배포**: `v1.0.0`, `v1.1.0` 등의 태그를 푸시하면 자동 배포
- **메인 브랜치 배포**: `main` 브랜치에 푸시할 때마다 자동 배포

```bash
# 태그로 배포
git tag v0.2.1
git push origin v0.2.1

# 또는 main 브랜치에 푸시
git push origin main
```

### 수동 배포

```bash
# 빌드
python -m build

# PyPI에 업로드
python -m twine upload dist/*
```

## 개발 환경 설정

```bash
# 의존성 설치
pip install -r requirements.txt

# 개발 의존성 설치 (uv 사용)
uv sync --dev
```
            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "mcp-server-notion",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": "shpark <shp8019@gmail.com>",
    "keywords": "automation, llm, mcp, notion, tool",
    "author": "shpark",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/83/cd/9829ab7d638746c3d15906edd3e439d53c3b266af754ca1c5b9f01faf58a/mcp_server_notion-0.2.1.tar.gz",
    "platform": null,
    "description": "# mcp-server-notion\n\nNotion\uacfc \uc5f0\ub3d9\ub418\ub294 Model Context Protocol(MCP) \uc11c\ubc84 \ud234\uc785\ub2c8\ub2e4. \uc774 \uc11c\ubc84\ub294 \uc678\ubd80 \uc2dc\uc2a4\ud15c \ub610\ub294 LLM \uae30\ubc18 \uc5d0\uc774\uc804\ud2b8\uac00 Notion \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc5d0 \uc790\ub3d9\uc73c\ub85c \ub0b4\uc6a9\uc744 \ucd94\uac00\ud558\uac70\ub098, \ub2e4\uc591\ud55c \ub178\uc158 \uc790\ub3d9\ud654 \uc791\uc5c5\uc744 \uc218\ud589\ud560 \uc218 \uc788\ub3c4\ub85d \uc9c0\uc6d0\ud569\ub2c8\ub2e4.\n\n## \uc8fc\uc694 \uae30\ub2a5\n- Notion \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc5d0 \uc790\ub3d9\uc73c\ub85c \ucf58\ud150\uce20 \uc0dd\uc131\n- MCP \ud45c\uc900 \ud504\ub85c\ud1a0\ucf5c \uae30\ubc18\uc758 \ud234 \ub4f1\ub85d \ubc0f \ud638\ucd9c\n- Python \uae30\ubc18\uc758 \uac04\ub2e8\ud55c \ud655\uc7a5\uc131\n\n## \uc124\uce58 \ubc29\ubc95\n\n1. \ud328\ud0a4\uc9c0 \uc124\uce58 (PyPI \ubc30\ud3ec \ud6c4)\n```bash\npip install mcp-server-notion\n```\n\n2. \uc758\uc874\uc131 \uc124\uce58 (\uac1c\ubc1c \ud658\uacbd)\n```bash\npip install -r requirements.txt\n```\n\n## \uc2e4\ud589 \ubc29\ubc95\n\n### uvx \ub610\ub294 python -m \uc73c\ub85c \uc2e4\ud589\n```bash\nuvx mcp-server-notion\n# \ub610\ub294\npython -m mcp_server_notion\n```\n\n### MCP \uc11c\ubc84 \ub4f1\ub85d \uc608\uc2dc (mcp.json)\n```json\n{\n  \"mcpServers\": {\n    \"notion\": {\n      \"command\": \"uvx\",\n      \"args\": [\"mcp-server-notion\"]\n    }\n  }\n}\n```\n\n## \uc0ac\uc6a9 \uc608\uc2dc\n\n- \ub178\uc158 API \ud1a0\ud070\uacfc parent_id(\ud398\uc774\uc9c0/\ub370\uc774\ud130\ubca0\uc774\uc2a4 ID)\ub97c \uc900\ube44\ud569\ub2c8\ub2e4.\n- MCP \ud234 \ud504\ub86c\ud504\ud2b8 \uc608\uc2dc:\n\n```\nnotion_create_page \ud234\uc744 \uc0ac\uc6a9\ud574\uc11c \ub178\uc158\uc5d0 \ud398\uc774\uc9c0\ub97c \ub9cc\ub4e4\uc5b4\uc918.\nnotion_token: [YOUR_NOTION_TOKEN]\nparent_id: [YOUR_PAGE_OR_DATABASE_ID]\ntitle: \uc608\uc2dc \uc81c\ubaa9\ncontent: \uc608\uc2dc \ub0b4\uc6a9\n```\n\n## \ubc30\ud3ec \ubc29\ubc95\n\n### \uc790\ub3d9 \ubc30\ud3ec (GitHub Actions)\n\n\uc774 \ud504\ub85c\uc81d\ud2b8\ub294 GitHub Actions\ub97c \ud1b5\ud574 \uc790\ub3d9\uc73c\ub85c PyPI\uc5d0 \ubc30\ud3ec\ub429\ub2c8\ub2e4.\n\n#### 1. PyPI API \ud1a0\ud070 \uc124\uc815\n1. [PyPI](https://pypi.org)\uc5d0 \ub85c\uadf8\uc778\n2. Account Settings \u2192 API tokens \u2192 Add API token\n3. Token name: `github-actions`\n4. Scope: `Entire account (all projects)`\n5. \uc0dd\uc131\ub41c \ud1a0\ud070\uc744 \ubcf5\uc0ac\n\n#### 2. GitHub Secrets \uc124\uc815\n1. GitHub \uc800\uc7a5\uc18c \u2192 Settings \u2192 Secrets and variables \u2192 Actions\n2. \"New repository secret\" \ud074\ub9ad\n3. Name: `PYPI_API_TOKEN`\n4. Value: \uc704\uc5d0\uc11c \uc0dd\uc131\ud55c PyPI API \ud1a0\ud070\n\n#### 3. \ubc30\ud3ec \ud2b8\ub9ac\uac70\n- **\ud0dc\uadf8 \uae30\ubc18 \ubc30\ud3ec**: `v1.0.0`, `v1.1.0` \ub4f1\uc758 \ud0dc\uadf8\ub97c \ud478\uc2dc\ud558\uba74 \uc790\ub3d9 \ubc30\ud3ec\n- **\uba54\uc778 \ube0c\ub79c\uce58 \ubc30\ud3ec**: `main` \ube0c\ub79c\uce58\uc5d0 \ud478\uc2dc\ud560 \ub54c\ub9c8\ub2e4 \uc790\ub3d9 \ubc30\ud3ec\n\n```bash\n# \ud0dc\uadf8\ub85c \ubc30\ud3ec\ngit tag v0.2.1\ngit push origin v0.2.1\n\n# \ub610\ub294 main \ube0c\ub79c\uce58\uc5d0 \ud478\uc2dc\ngit push origin main\n```\n\n### \uc218\ub3d9 \ubc30\ud3ec\n\n```bash\n# \ube4c\ub4dc\npython -m build\n\n# PyPI\uc5d0 \uc5c5\ub85c\ub4dc\npython -m twine upload dist/*\n```\n\n## \uac1c\ubc1c \ud658\uacbd \uc124\uc815\n\n```bash\n# \uc758\uc874\uc131 \uc124\uce58\npip install -r requirements.txt\n\n# \uac1c\ubc1c \uc758\uc874\uc131 \uc124\uce58 (uv \uc0ac\uc6a9)\nuv sync --dev\n```",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "A Model Context Protocol Tool for Notion integration and automation",
    "version": "0.2.1",
    "project_urls": null,
    "split_keywords": [
        "automation",
        " llm",
        " mcp",
        " notion",
        " tool"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "4c2bdae0a32785d07785e351a5d643dd64aa52f7044a7c0a46a8ea1366764739",
                "md5": "75847856375ba90de545b0e1d368aec2",
                "sha256": "ebe9c929f01d869ce4bea33b637dce79a242b6a6ba48d3e042cb26344dc6b90a"
            },
            "downloads": -1,
            "filename": "mcp_server_notion-0.2.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "75847856375ba90de545b0e1d368aec2",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 4216,
            "upload_time": "2025-07-20T05:59:36",
            "upload_time_iso_8601": "2025-07-20T05:59:36.178963Z",
            "url": "https://files.pythonhosted.org/packages/4c/2b/dae0a32785d07785e351a5d643dd64aa52f7044a7c0a46a8ea1366764739/mcp_server_notion-0.2.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "83cd9829ab7d638746c3d15906edd3e439d53c3b266af754ca1c5b9f01faf58a",
                "md5": "0493204476850905af3c29ea54d873c4",
                "sha256": "fd8b308661e6e40b93e5bb077f4fe2680e77298c058996dc47746e0e5484ee27"
            },
            "downloads": -1,
            "filename": "mcp_server_notion-0.2.1.tar.gz",
            "has_sig": false,
            "md5_digest": "0493204476850905af3c29ea54d873c4",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 21402,
            "upload_time": "2025-07-20T05:59:37",
            "upload_time_iso_8601": "2025-07-20T05:59:37.141011Z",
            "url": "https://files.pythonhosted.org/packages/83/cd/9829ab7d638746c3d15906edd3e439d53c3b266af754ca1c5b9f01faf58a/mcp_server_notion-0.2.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-20 05:59:37",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "mcp-server-notion"
}
        
Elapsed time: 1.34808s