# MCP로 다른 앱에서 Dvina 사용하기

> Claude Code, ChatGPT, Cursor 같은 MCP 클라이언트를 Dvina에 연결하고 로그인하세요. 사용자의 승인을 받아 클라이언트가 Dvina의 내용을 읽고 추가할 수 있습니다.

Dvina에는 자체 MCP 서버가 있습니다. Claude Code, ChatGPT, Cursor 같은 MCP 클라이언트를 연결하면 해당 앱이 사용자 권한으로 Dvina를 검색하고, 문서와 메모리를 읽고, 메모와 작업, 알림을 추가할 수 있습니다.

## 시작하기 전에

서버 주소가 필요합니다.

```text
https://api.dvina.ai/mcp
```

회사에서 자체 서버로 Dvina를 운영하는 경우, 회사의 Dvina API 주소 끝에 `/mcp`를 붙여 사용하세요. 주소는 관리자에게 문의하세요.

서버는 Streamable HTTP를 사용합니다. 클라이언트에서 전송 방식을 선택하라는 메시지가 표시되면 HTTP를 선택하세요.

## 클라이언트 연결하기

::: tabs

=== Claude Code

1. 터미널에서 다음 명령을 실행하세요.

    ```sh
    claude mcp add --transport http dvina https://api.dvina.ai/mcp
    ```

2. Claude Code를 시작하고 `/mcp`를 실행한 다음, **dvina**를 선택하고 Dvina에 로그인하세요.

=== ChatGPT

1. Open the place where ChatGPT lets you add an MCP server.
2. Enter `https://api.dvina.ai/mcp` as the server's address, and choose OAuth if it asks how to sign in.
3. Sign in to Dvina when ChatGPT asks.

=== Cursor

1. Open the place where Cursor lets you add an MCP server.
2. Add a server named `dvina` with the address `https://api.dvina.ai/mcp`.
3. Sign in to Dvina when Cursor asks.

:::

클라이언트 ID나 시크릿은 필요하지 않습니다. 클라이언트는 처음 연결할 때 Dvina에 자동으로 등록됩니다.

## 로그인하기

Dvina의 MCP 서버는 브라우저에서 OAuth를 사용해 로그인합니다.

1. 평소처럼 Dvina에 로그인하세요.
2. 여러 워크스페이스에 속해 있다면 **워크스페이스 선택**에서 하나를 선택한 다음 **계속**을 선택하세요. 클라이언트는 선택한 워크스페이스에서만 작동합니다.
3. **접근 권한 승인**에서 앱 이름을 확인한 다음 **접근 허용**을 선택하세요. 모르는 앱이라면 **거부**를 선택하세요.

클라이언트는 연결 상태를 유지하므로 매번 로그인할 필요가 없습니다.

## 클라이언트가 할 수 있는 작업

클라이언트는 Dvina의 도구를 확인하고, 요청을 처리하는 데 필요한 경우 해당 도구를 사용합니다.

| 영역                   | 클라이언트가 할 수 있는 작업                                                                                                                       |
| ---------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
| **검색**             | 채팅, 문서, 메모리, 월드를 한 번에 검색합니다.                                                                                      |
| **메모리**             | 메모리 파일 목록을 보고 내용을 읽거나, 새 파일을 추가하거나, 기존 파일을 변경합니다.                                                                               |
| **월드**              | 주제 목록을 보고, 특정 주제나 그 밖의 내용에 대해 Dvina가 알고 있는 정보를 확인하고, 피드 목록을 봅니다.                                                  |
| **문서**          | 라이브러리 목록을 보고 내용을 읽고 검색하며, 노트와 폴더를 만들고, 파일을 업로드하고, 문서를 교체하거나 이동하거나 이름을 바꾸거나 휴지통으로 옮깁니다. |
| **캔버스**             | 캔버스 목록을 보고 내용을 읽거나, 캔버스를 만들거나, 페이지를 다시 작성합니다.                                                                             |
| **작업과 목표**    | 작업 목록과 수행한 내용을 확인하고, 작업이나 목표 달성을 위한 작업을 시작하고, 작업에 추가로 할 일을 전달하거나, 작업을 중지합니다.                |
| **예약 메시지** | 예약 메시지 목록을 보고, 일회성 또는 반복 메시지나 알림을 예약하거나, 예약을 취소합니다.                                                                 |
| **에이전트와 스킬**  | 에이전트와 스킬 목록을 보고 내용을 읽고, 에이전트를 만들고, 스킬을 추가하거나, 에이전트 또는 스킬을 변경합니다.                                                        |
| **프로젝트**           | 프로젝트 목록을 보고, 프로젝트의 폴더와 최근 작업을 확인합니다.                                                                             |
| **공유**            | 항목에 접근할 수 있는 사람과 다른 사람이 나에게 공유한 항목을 확인하거나, 다른 사람에게 접근 권한을 부여하거나 제거합니다.                                           |
| **설정**           | 환경설정을 확인하거나, 메모리를 켜거나 끕니다.                                                                                             |

클라이언트는 항목을 영구 삭제하거나, 공개 링크를 열거나, 앱을 연결하거나 연결 해제하거나, 관리자 설정 또는 결제 설정을 변경할 수 없습니다.

## 변경 승인

클라이언트가 수행하는 작업에는 Dvina의 다른 모든 곳과 동일한 규칙이 적용됩니다.

- 읽기는 확인을 요청하지 않고 실행됩니다.
- 노트, 메모리 파일, 작업처럼 새로운 항목을 추가할 때는 확인을 요청하지 않고 실행됩니다. 기존 항목은 변경하지 않습니다.
- 문서를 휴지통으로 옮기거나, 캔버스 페이지를 다시 작성하거나, 작업을 중지하거나, 항목을 공유하는 등 무언가를 변경하거나 제거할 때는 먼저 확인을 요청합니다. 클라이언트가 Dvina에서 작성한 변경 사항 요약을 보여주면 승인하거나 거절하세요. 거절하면 아무것도 변경되지 않습니다.

> [!NOTE]
> 클라이언트가 확인을 요청할 수 없다면 Dvina는 해당 클라이언트의 변경 요청을 실행하지 않습니다. 대신 Dvina 앱에서 변경하거나, 확인을 요청할 수 있는 클라이언트를 사용하세요.

## 내 접근 권한과 회사 규칙

클라이언트는 Dvina에서 내가 보고 수행할 수 있는 범위 안에서 나를 대신해 작동합니다.

- 워크스페이스의 멤버로 있는 동안에만 작동하며, 내 역할에서 허용하는 작업만 수행합니다.
- 관리자가 파일 업로드 같은 기능을 끄면 클라이언트도 해당 기능을 사용할 수 없습니다.
- 클라이언트가 추가하거나 변경하는 내용에는 앱에서와 마찬가지로 회사의 데이터 보호 규칙이 적용됩니다.
- 클라이언트가 추가하거나 변경한 내용은 나를 대신해 어시스턴트가 수행한 작업으로 [감사 로그](/docs/teams/audit-log)에 기록되며, 요청이 들어온 클라이언트도 함께 기록됩니다.
- 클라이언트가 수행하는 작업은 내 사용량에 포함되며, 평소와 동일한 사용 한도가 적용됩니다.

## OAuth 대신 API 키로 연결

Enterprise 요금제에서는 클라이언트가 로그인 대신 개인 액세스 토큰으로 연결할 수 있습니다. OAuth로 로그인할 수 없는 클라이언트나 스크립트에 사용하세요.

1. 설정을 열고 **API 액세스**를 선택하세요.
2. **개인 액세스 토큰**에서 **토큰 생성**을 선택하세요.
3. **이름**을 입력하고, **접근 권한**과 **만료일**을 선택한 다음 **토큰 생성**을 선택하세요.
4. **토큰 복사**에서 토큰을 복사하세요. 토큰은 이때만 표시됩니다.

클라이언트에 필요한 접근 권한을 선택하세요.

- **읽기 전용:** 클라이언트에는 읽기 도구만 표시됩니다. 내 Dvina에서 검색하고 내용을 읽을 수 있지만, 항목을 추가하거나 변경할 수는 없습니다.
- **읽기 및 쓰기:** 클라이언트에 모든 도구가 표시되며, OAuth를 사용할 때와 마찬가지로 변경 시에는 내 승인을 요청합니다.

`Authorization` 헤더에서 `Bearer` 뒤에 토큰을 넣어 보내세요. 예를 들어 Claude Code에서는 다음과 같이 설정합니다.

```sh
claude mcp add --transport http dvina https://api.dvina.ai/mcp --header "Authorization: Bearer <your token>"
```

다른 클라이언트에서는 MCP 서버의 헤더를 설정할 수 있는 곳에 동일한 헤더를 추가하세요.

토큰은 토큰을 만든 워크스페이스에서 내 현재 역할의 권한으로 나를 대신해 작동합니다. 토큰을 교체하려면 **개인 액세스 토큰**에서 해당 토큰을 열고 **교체…**를 선택하세요. 새 토큰이 기존 토큰을 대체하고, 기존 토큰은 즉시 사용할 수 없게 됩니다. 토큰 사용을 중단하려면 **취소…**를 선택하세요. 해당 토큰을 사용하는 모든 연결이 즉시 작동을 멈춥니다.

토큰에 대한 자세한 내용은 [API 액세스](/docs/dvina-mcp/api-access)를 참조하세요.

## 관련 문서

- [사용자 지정 앱과 MCP 서버](/docs/connectors/custom-apps)
- [API 액세스](/docs/dvina-mcp/api-access)
- [dvina 명령 사용](/docs/dvina-mcp/cli)
- [팀 개요](/docs/teams/overview)
