Notion MCP에 두 가지 업데이트가 있었습니다.
- 캘린더용 도구 추가: 사용자가 승인한 MCP 연결을 통해 스케줄 읽기와 캘린더 일정 관리가 가능해졌습니다. 모든 Notion 플랜에서 사용할 수 있습니다. -
속성 자동 수정 처리 방식 변경: notion-create-pages와 notion-update-page는 안전하게 자동 수정이 이루어질 때 validation_error로 실패했습니다. 앞으로는 페이지를 작성하고, 수정 내용을 warnings 배열로 반환합니다.
📌 영향을 받는 사람
- Notion MCP를 통해 페이지를 생성하거나 업데이트하는 에이전트 또는 워크플로우를 운영하는 사람
notion-create-pages 결과의 properties를 입력 시의 키 이름으로 참조하는 코드를 작성한 사람
- Claude와 같은 AI 에이전트에 Notion 스케줄을 읽게 하거나 일정을 관리하게 하고 싶은 사람
| 변경 | 종류 | 중요도 | 대응 필요 여부 |
|---|
| 속성 자동 수정이 오류에서 경고로 변경 | 개선 | medium | 확인 필요 |
| 캘린더용 도구 추가 | 신기능 | high | 선택적 |
notion-create-pages와 notion-update-page는 안전한 수정일지라도 속성을 자동 수정하면 validation_error로 실패했습니다. 대상이 되는 자동 수정의 예시는 다음 두 가지입니다.
- URL을 데이터 소스 키
userDefined:URL 아래에 작성하는 경우 -
is_datetime을 0 또는 1로 변환하는 경우
두 도구 모두 페이지를 작성한 후에, 수행된 수정을 각각의 warnings 배열로 보고합니다.
| 항목 | 변경 전 | 변경 후 |
|---|
| 안전한 자동 수정이 발생했을 때 | validation_error로 실패 | 페이지를 작성하고, warnings로 보고 |
warnings 배열 | 없음 | 임의(수정이 있을 경우에만) |
notion-create-pages의 경고 | - | index가 붙어 입력 중 어느 페이지에 대한 경고인지 표시 |
| 쓰지 못하는 속성 값이 있는 경우 | 호출 전체가 실패 | 변경 없음(기존과 같이 전체가 실패) |
notion-create-pages 결과의 properties | - | 실제로 저장된 키와 값을, 저장할 위치의 키로 반환 |
⚠️ Breaking Change(변화될 수 있는 점)
notion-create-pages 결과에 포함되는 각 페이지의 properties는 실제로 저장된 내용과 저장할 위치의 키(예: userDefined:URL)를 사용하여 반환됩니다. 도구가 건너뛴 키(예: id)는 결과에 포함되지 않습니다. 결과의 properties를 입력 시의 키 이름으로 참조하는 구현 방식은 참조 대상을 재검토해야 할 수 있습니다.
사용자가 승인한 Notion MCP 연결을 통해 다음 작업을 수행할 수 있습니다.
플랜 제한 없이 모든 Notion 플랜에서 이용 가능합니다. 각 도구의 이름이나 사양은 공식 문서의 Supported tools를 참조해 주십시오(이번 제공 정보에는 도구 이름의 상세 내용은 포함되어 있지 않습니다).
이전에는 '오류 → 입력을 수정하여 재실행'이라는 재시도 처리를 구성했던 경우가 있을 수 있습니다. 앞으로는 첫 번째 호출에서 작성이 완료되고, 수정 내용이 warnings에 담깁니다.
대응 체크리스트:
- 자동 수정은 조용히 통과하므로, 로그에 남기거나 입력 생성 측의 수정에 활용합니다.
warnings를 확인하는 처리를 추가해야 합니다 -
- 여러 페이지를 한 번에 만들 경우, 어느 입력 페이지에 대한 경고인지 특정할 수 있습니다.
notion-create-pages의 경고는 index로 대응시킵니다 -
- 결과의
properties 참조 키를 재검토합니다. userDefined:URL과 같은 저장 위치의 키로 반환되므로, 입력 시의 키 이름(URL 등)으로 참조하는 것은 벗어날 수 있습니다. -
- 실패 시 재시도 처리를 검토합니다. 쓰지 못하는 값이 있는 경우 기존대로 호출 전체가 실패하므로, 오류 처리 자체는 유지해야 합니다.
💡 Tips
경고(警告)는 '수정할 수 있었다'는 신호입니다. 방치하면 입력 측의 오류가 그대로 남게 되므로, 자주 발생하는 경고는 입력 생성 측(프롬프트나 스키마)에서 미리 수정해 두면 안정적입니다.
- 추가적인 계약이나 플랜 변경은 필요하지 않습니다.
- 이용을 위해서는 사용자 본인의 Notion MCP 연결 승인이 필요합니다.
- 에이전트에게 일정 관리를 맡길 경우에는, 어느 범위까지의 조작을 허용할지 운영 규칙으로 미리 정해두는 것이 안전합니다.
운영 규칙으로서 다음 내용을 남겨두면 운용이 안정적입니다.
## Notion MCP 이용 규칙
- notion-create-pages / notion-update-page의 결과에서 warnings 배열을 확인한다
(create-pages의 경고는 index로 입력 페이지와 대응시킨다)
...
아래는 동작 차이를 설명하기 위한 **가상 코드(擬似コード)**입니다. 실제 응답의 엄격한 스키마는 공식 Supported tools를 확인해 주십시오. warnings 요소에 포함된 필드명(message 등)은 임시입니다.
const res = await callTool("notion-create-pages", { pages });
if (res.error?.code === "validation_error") {
// 안전한 자동 수정이 가능한 경우에도 여기에 도달했다
...
const res = await callTool("notion-create-pages", { pages });
// 쓰지 못하는 값이 있을 경우, 지금까지와 같이 호출 전체가 실패한다
if (res.error) throw new Error(res.error.message);
...
notion-create-pages / notion-update-page는 안전한 속성 자동 수정(URL → userDefined:URL, is_datetime → 0/1)으로 실패하지 않고, 페이지를 작성하며 warnings 배열로 보고하게 되었다. - notion-create-pages의 경고에는 index가 붙어 입력 페이지와 대응된다. - 쓰지 못하는 속성 값이 있을 경우에는, 종전과 같이 호출 전체가 실패한다.
notion-create-pages 결과의 properties는 저장처 키로 반환되며, 스킵된 키(id 등)는 포함되지 않는다. 입력 시의 키명으로 참조하는 구현은 확인 필요. - Notion MCP에 캘린더용 도구가 추가되어, 사용자 승인된 연결로부터 일정을 읽고 예정 관리가 가능하다. 모든 플랜에서 이용 가능. - 지금 당장 할 일: ① warnings 확인 처리를 넣는다, ② 결과의 properties 참조 키를 재검토한다, ③ CLAUDE.md에 이용 규칙을 추가한다.
자세한 내용은 Notion 공식 문서의 Supported tools를 참조해 주십시오.