노션API설정부터 클로드에 노션MCP연결하기까지

이전에 작성했던 내용과 비슷하지만, 좀 더 간추려서 작성한 내용입니다.

노션API설정

API란? Application Programming Interface

소프트웨어 프로그램들이 서로 상호작용하기 위해 사용하는 일련의 규칙 또는 프로토콜인데,
이걸 사용하려면 규칙을 알아야합니다.

규칙 :
내가 바라는 데이터형식이 있어, 그거 맞춰서 알려주면, 나도 정해진 규칙대로 너한테 알려줄게.
그리고, 아무나 나의 데이터를 접근할 수 없게 키(key)를 발급받아야 해.

노션에서 하나의 행에 적는 걸 블록이라고 하는 데, 그 블록내용을 알려달라는 내용입니다. API 호출을 하기위해서 이런 규칙에 맞게 작성해야합니다.

요청코드

curl 'https://api.notion.com/v1/blocks/0c940186-ab70-4351-bb34-2d16f0635d49' \
  -H 'Authorization: Bearer '"$NOTION_API_KEY"'' \
  -H 'Notion-Version: 2022-06-28'

응답코드

{
  "object": "block",
  "id": "c02fc1d3-db8b-45c5-a222-27595b15aea7",
  "parent": {
    "type": "page_id",
    "page_id": "59833787-2cf9-4fdf-8782-e53db20768a5"
  },
  "created_time": "2022-03-01T19:05:00.000Z",
  "last_edited_time": "2022-03-01T19:05:00.000Z",
  "created_by": {
    "object": "user",
    "id": "ee5f0f84-409a-440f-983a-a5315961c6e4"
  },
  "last_edited_by": {
    "object": "user",
    "id": "ee5f0f84-409a-440f-983a-a5315961c6e4"
  },
  "has_children": false,
  "archived": false,
  "type": "heading_2",
  "heading_2": {
    "rich_text": [
      {
        "type": "text",
        "text": {
          "content": "Lacinato kale",
          "link": null
        },
        "annotations": {
          "bold": false,
          "italic": false,
          "strikethrough": false,
          "underline": false,
          "code": false,
          "color": "default"
        },
        "plain_text": "Lacinato kale",
        "href": null
      }
    ],
    "color": "default",
    "is_toggleable": false
  }
}

이런 게 있다 정도만 보시고 넘어갈게요. 저희에게는 매직도구가 있거든요.

노션API를 사용하기위해서 키(key)도 발급받아야 하고, 그걸 노션페이지에 등록도 해야합니다.
이 과정을 거치면 API를 통해서 노션페이지에 접속이 가능하게 됩니다.

노션API키 발급하기

API로 연결할 노션페이지를 만들고, API설정을 진행하겠습니다.

새로 페이지를 만드시면, 주소창에 있는 url의 주소를 유심히 보세요.
앞으로 자주 보셔서 익혀야 할 부분입니다.
뒷부분의 32자의 16진수코드가 있는 데, 이게 바로 노션ID입니다.

API에 정보를 줘야할 게 여러가지가 있지만, 이중에서 가장 중요한 것입니다.
노션데스크탑을 사용하시면 이게 바로 나오지않아서 불편하실 수 있어요.
크롬같은 브라우저에서 사용하시길 권장드립니다.

그 다음에 노션메뉴를 살펴보겠습니다.
이 메뉴도 자주 확인하는 거라서 틈틈히 선택하셔서 뭐가 있나? 살펴보세요.

MAC OS X MACOS X MACOS X MACOS X MACOS X MACOS

이렇게 작성한 노션페이지의 오른쪽상담에 보시면 … 메뉴 ‘쩜쩜쩜메뉴’가 있어요. 그걸 클릭하고, 다음 순서대로 클릭하시면 My connection이라는 메뉴가 나옵니다.

새로운 Azure Connect 설정의 스크린 샷

1번 링크를 누르면 API설정 메뉴가 나옵니다.

그리고, https://www.notion.so/profile/integrations 으로 방문하셔도 같은 메뉴가 나옵니다.

자, 이제 본격적인 설정에 들어가 보겠습니다.

이름,
워크스페이스,
타입(보통 혼자사용하니까 internal로 선택하시면 됩니다) 선택하고,
save 버튼누르면 완성

이거 확인하면,

API관련 진짜 중요한 정보를 보여줍니다.

  • 기본정보(1, 2)

  • 키(key) 관련정보(3, 4, 5), 4는 새로 키발급, 5는 키확인하고 복사할 수 있는 메뉴

  • 권한설정(6), 이 API의 권한설정하는 부분. 컨텐츠를 읽기만 하게 하거나, 댓글을 가져올 수 있게 하거나, 사용자의 정보를 가져오는 권한 등.

  • 7번은 현재상태에 권한을 수정하지않았다면 활성화되지 않을거에요. 이미 저장된 거라서요.

그럼, 이제 API설정은 마쳤고,

페이지에 API를 달아줄 차례입니다.

노션페이지의 메뉴를 클릭해보시고, Connections를 눌러보면 좀전에 만든 “16기스터디” 연결이 보입니다.

이걸 눌러서 연결을 진행해주세요.

이렇게 나오면 연결이 잘 된거에요.

노션API를 발급받아서 노션페이지에 연결하기 끝.

고생하셨습니다. 여기까지 하셨어도 잘 하신 거에요. 한 템포쉬셨다가 마저 하시죠??


이번에는 API연결하는 활용중 요즘에 핫한 방법을 하나 소개하려고 합니다.

원래 API에 연결해서 뭔가를 하려면 위에서 소개한

요청코드

curl 'https://api.notion.com/v1/blocks/0c940186-ab70-4351-bb34-2d16f0635d49' \
  -H 'Authorization: Bearer '"$NOTION_API_KEY"'' \
  -H 'Notion-Version: 2022-06-28'

이런 걸 해야합니다. 전부 코드로 작성해서 앱끼리 통신을 시켜야합니다. 개발자가 아니면 꿈도 꾸지 못할 거죠.

여기에 혜성같이 나타난 뭔가가 있으니 그게 MCP라는 거에요.
우선 약어부터 확인하겠습니다. 용어를 익혀보시는 게 더 쉽게 빠르게 갈 수 있는 있는 지름길 같은 거에요.
Model Context Protocol → 제 나름대로 풀어봅니다. 아닐지도 모르지만,

삼행시같은 느낌으로다가,

  • Model : chatGPT나 클로드, 제미나이같은 언어생성형모델(LLM)에게 (아직은 클로드만 지원함)

  • Context : 이건 보통 맥락으로 얘기하는 데, 언어모델에게 더 많은 정보를 주면 얘가 질문자의 의도를 더 잘 파악해서 답변을 잘 주거든요. 그런 맥락을 제공하는… LLM은 학습된 정보외에는 답변을 줄 근거가 없거든요. 그래서 노션의 데이터같은 정보를 제공해줄 뭔가가 필요하다는 거에요.

  • Protocol : 이건, 규칙 규약? 이렇게 표현하는 데, 대화방식이라고 이해하시면 좋을 것 같아요.

이 전체를 정리하면, LLM에게 맥락(정보)를 많이, 혹은 잘, 혹은 제대로 주기위해서 만들어놓은 공통규약??

다 필요없고, LLM을 사용할 때 답답함을 우리가 채우러 왔다.

라는 MCP도구를 세팅해보려고 합니다.

이것까지 하시면 앞으로 노션스터디가 너무 재미있을 것 같아요.

준비물

클로드데스크탑, https://claude.ai/download

클로드데스크탑에서 설정메뉴을 엽니다. 맥은 cmd+, , 윈도우는 ctrl+,

컴퓨터에서 한국 메뉴의 스크린 샷

claude_desktop_config.json 이 파일의 내용을 변경할거에요. 변경하고 클로드데스크탑을 종료했다가 다시 켜주시면 이 설정파일을 읽어와서 클로드데스크탑에 이 도구가 장착이 되는 거에요.

저희는 노션에 접근할 수 있는 노션MCP를 설치할거에요.

노션공식문서의 MCP관련페이지입니다. https://developers.notion.com/docs/mcp

하나 기억하실 거,

빨간색 밑중에서 ntn_****으로 시작하는 부분에 좀전에 발급받았던 Notion API key로 대체해줍니다.

그리고, 저장을 해서 claude_desktop_config.json의 내용을 업데이트합니다.

그리고, 클로드데스크탑을 종료했다가 다시 열면,

클로드와 노션을 연결이 잘되는 확인할 역사적인 순간!!!

한국의 메시지와 함께 한국 웹 사이트의 스크린 샷

미리 이런 내용을 적어놓았습니다. 제목도 만들고, 블럭도 1개 만들어두었습니다.

중간에 도구호출을 할때 진짜 허용할거냐? 물어봅니다.

결과는?

축하합니다. 감격적인 순간입니다.

PS.

분명 잘 안되는 부분이 있었을 거에요.

그 부분 잘 메모하셨다가 언제든 질문하시고, 댓글에도 남기셔서 해결하시고 꼭 성공하시길 바랍니다.

안 그러면, 저희는

이런 거 해야 합니다.

스터디에서 뵙겠습니다.


참고사례글

https://www.gpters.org/nocode/post/how-long-will-you-BqjfMboEf60pidb

https://www.gpters.org/nocode/post/lets-easily-manage-mcp-7ob33QVABhDw2DT

3
3개의 답글

👉 이 게시글도 읽어보세요